推荐 3.5
Conf: 50%
Go语言因其生成静态链接、跨平台的可执行文件而日益受到恶意软件开发者的青睐,但这类二进制文件给传统分析技术带来了挑战。Go可执行文件嵌入了庞大的运行时和编译器生成的元数据,并采用激进优化,丢弃了函数参数和局部变量的类型信息。Go的设计进一步复杂化分析:字符串以指针-长度对表示而非空终止序列,使用调用者分配栈模型模糊参数边界,且程序状态分散于并发goroutine中。现有的静态分析和逆向工程工具虽提供针对Go的支持,但仅限于编译时产物,无法恢复仅存于内存的运行时执行状态和工件。为弥补这一空白,本文提出了首个面向Go二进制文件运行时分析的内存取证框架。通过解析Go内部结构,该框架重建类型和函数元数据,恢复堆分配和静态字符串,并区分应用程序级函数。通过ABI感知的逆向分析,从调用点推导执行路径和参数值。为捕获静态分析无法揭示的运行时状态,它分析goroutine栈以识别正在执行的函数并恢复其运行时参数值。所有能力已实现为Volatility 3插件,并针对近期事件中的恶意软件(如BRICKSTORM后门、Obscura勒索软件、Pantegana RAT)以及开源样本进行了评估。框架成功恢复了C2端点、持久化机制、加密密钥、勒索信和执行状态,包括公开威胁情报中缺失的关键运行时工件。
💡 推荐理由: 为蓝队提供了首个针对Go恶意软件的运行时内存取证能力,能恢复静态分析遗漏的运行时状态和关键工件,填补当前恶意软件分析的重要空白。
🎯 建议动作: 研究跟进
排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)