[论文解读] Malware Analysis using Multiple API Sequence Mining Control Flow Graph
本文提出了一种恶意软件分析框架,通过在控制流图(CFGs)上进行多API序列挖掘,利用系统调用的n-gram模式检测恶意软件家族。通过将相似性评分技术应用于这些序列,该方法在识别经过混淆的恶意软件变种时实现了高准确率,为基于家族的检测提供了可扩展的解决方案,并展现出强劲的实证性能。
Malwares are becoming persistent by creating full- edged variants of the same or different family. Malwares belonging to same family share same characteristics in their functionality of spreading infections into the victim computer. These similar characteristics among malware families can be taken as a measure for creating a solution that can help in the detection of the malware belonging to particular family. In our approach we have taken the advantage of detecting these malware families by creating the database of these characteristics in the form of n-grams of API sequences. We use various similarity score methods and also extract multiple API sequences to analyze malware effectively.
研究动机与目标
- 为解决具有功能相似性但代码经过混淆的演化型恶意软件家族检测挑战。
- 通过利用控制流图中系统调用序列的行为模式,改进恶意软件检测。
- 开发一种基于n-gram的API序列而非原始代码的可扩展、签名化检测机制。
- 评估多种相似性评分方法在跨多样化样本识别恶意软件家族方面的有效性。
- 构建一种轻量级、高效的自动化恶意软件分类框架,利用行为性API序列。
提出的方法
- 该方法从反汇编的恶意软件二进制文件构建控制流图(CFGs),以建模程序执行路径。
- 从CFGs中提取应用程序编程接口(API)调用序列,将其作为n-gram用于模式分析。
- 应用多种相似性评分方法(如Jaccard、余弦、Tanimoto)比较不同恶意软件样本之间的API序列模式。
- 通过这些n-gram模式构建已知恶意软件家族签名的数据库,以实现高效查找与分类。
- 通过静态分析结合上下文和启发式方法,推断间接调用(如call rax、jmp rbx)的可能API目标。
- 通过在多个序列窗口上评估相似性评分,提升对混淆和代码变异的鲁棒性。
实验结果
研究问题
- RQ1控制流图中API序列的n-gram模式是否能有效区分不同恶意软件家族?
- RQ2不同相似性评分方法(如Jaccard、余弦)在识别相关恶意软件样本方面表现如何比较?
- RQ3该方法在多大程度上能检测到属于同一家族但经过混淆或变种的恶意软件?
- RQ4该方法能否在大规模恶意软件语料库中实现高效扩展,同时保持较低的误报率?
- RQ5该方法对混淆二进制文件中出现的间接或动态API调用具有多强的鲁棒性?
主要发现
- 该方法通过从控制流图中提取的API序列n-gram模式,在识别恶意软件家族方面实现了高检测准确率。
- Jaccard和Tanimoto等相似性评分技术在匹配相关恶意软件样本方面表现出色。
- 该框架即使在代码被混淆或重构的情况下,也能成功检测已知恶意软件家族的变种。
- 使用多条API序列相比单序列分析显著提升了鲁棒性,减少了漏报。
- 由于n-gram表示紧凑且相似性计算高效,该方法具有良好的可扩展性。
- 该系统通过上下文感知启发式方法有效处理间接调用(如call rax),推断出可能的API目标。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。