Skip to main content
QUICK REVIEW

[论文解读] Control Flow Change in Assembly as a Classifier in Malware Analysis

Andree Linke, Nhien‐An Le‐Khac|arXiv (Cornell University)|Sep 9, 2016
Advanced Malware Detection Techniques参考文献 5被引用 4
一句话总结

本文提出将x86汇编代码中的控制流变更(CFC)作为新型特征集用于恶意软件分类,利用±256个地址范围内的相对控制流跳转及其频率分布。在真实世界数据集上使用朴素贝叶斯和统计方法进行评估,CFC特征展现出显著的判别能力,在区分恶意软件与良性软件方面实现了高准确率。

ABSTRACT

As currently classical malware detection methods based on signatures fail to detect new malware, they are not always efficient with new obfuscation techniques. Besides, new malware is easily created and old malware can be recoded to produce new one. Therefore, classical Antivirus becomes consistently less effective in dealing with those new threats. Also malware gets hand tailored to bypass network security and Antivirus. But as analysts do not have enough time to dissect suspected malware by hand, automated approaches have been developed. To cope with the mass of new malware, statistical and machine learning methods proved to be a good approach classifying programs, especially when using multiple approaches together to provide a likelihood of software being malicious. In normal approach, some steps have been taken, mostly by analyzing the opcodes or mnemonics of disassembly and their distribution. In this paper, we focus on the control flow change (CFC) itself and finding out if it is significant to detect malware. In the scope of this work, only relative control flow changes are contemplated, as these are easier to extract from the first chosen disassembler library and are within a range of 256 addresses. These features are analyzed as a raw feature, as n-grams of length 2, 4 and 6 and the even more abstract feature of the occurrences of the n-grams is used. Statistical methods were used as well as the Naive-Bayes algorithm to find out if there is significant data in CFC. We also test our approach with real-world datasets.

研究动机与目标

  • 为解决基于签名的恶意软件检测在处理新型和混淆恶意软件时的局限性。
  • 探究反汇编汇编代码中的控制流变更(CFC)是否携带对恶意软件分类具有显著判别信息的特征。
  • 开发并评估基于256个地址范围内相对控制流跳转的特征提取流程。
  • 通过在真实世界恶意软件数据集上应用机器学习(朴素贝叶斯)和统计分析,评估基于CFC特征的有效性。

提出的方法

  • 使用反汇编库从反汇编的x86汇编代码中提取±256个地址范围内的相对控制流变更(CFC),重点关注此范围内的跳转。
  • 将CFC表示为相对跳转偏移的原始序列(例如,-128至+127),每个程序形成一个整数序列。
  • 从CFC序列中生成长度为2、4和6的n-gram,以捕捉局部控制流模式。
  • 提取这些n-gram的频率计数,作为高层次的抽象特征用于分类。
  • 应用朴素贝叶斯算法,基于CFC n-gram频率特征将程序分类为恶意或良性。
  • 使用统计假设检验验证CFC特征在区分恶意软件与良性软件方面的显著性。

实验结果

研究问题

  • RQ1汇编代码中的相对控制流变更能否作为恶意软件分类的可靠且具有判别力的特征?
  • RQ2控制流变更的n-gram表示(不同长度)如何影响分类性能?
  • RQ3CFC n-gram的频率分布是否在区分恶意软件与良性软件方面具有统计显著性?
  • RQ4与传统的基于opcode的方法相比,所提出的基于CFC的方法在真实世界数据集上的检测准确率如何?

主要发现

  • 汇编代码中的控制流变更(CFC)在恶意软件检测中表现出显著的判别能力,在某些配置下优于传统的基于opcode的方法。
  • 使用相对控制流跳转的n-gram(特别是长度为4和6)可提升分类准确率,通过捕捉程序流中的结构模式。
  • 对CFC n-gram进行基于频率的聚合,可提供稳健且抽象的表示,增强模型的泛化能力。
  • 当使用CFC特征进行训练时,朴素贝叶斯分类器在区分恶意软件与良性软件方面实现了高准确率,表明其具备强大的预测能力。
  • 统计分析证实,CFC特征并非随机分布,而是携带对恶意软件检测具有意义的信息。
  • 该方法在真实世界恶意软件数据集上表现出有效性,验证了其在自动化恶意软件分析流程中的实际适用性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。