Skip to main content
QUICK REVIEW

[论文解读] Malware Classification based on Call Graph Clustering

Joris Kinable, Orestis Kostakis|arXiv (Cornell University)|Aug 25, 2010
Network Security and Intrusion Detection参考文献 23被引用 4
一句话总结

本文提出一种通过计算近似图编辑距离来衡量图相似性,并应用DBSCAN和k-medoids等聚类算法对真实恶意软件样本进行调用图聚类的方法,实现自动化恶意软件家族分类。该方法成功识别出恶意软件变种之间的结构相似性,实现了90%的准确率,可实现通用检测方案,与人工分类结果对比表现良好。

ABSTRACT

Each day, anti-virus companies receive tens of thousands samples of potentially harmful executables. Many of the malicious samples are variations of previously encountered malware, created by their authors to evade pattern-based detection. Dealing with these large amounts of data requires robust, automatic detection approaches. This paper studies malware classification based on call graph clustering. By representing malware samples as call graphs, it is possible to abstract certain variations away, and enable the detection of structural similarities between samples. The ability to cluster similar samples together will make more generic detection techniques possible, thereby targeting the commonalities of the samples within a cluster. To compare call graphs mutually, we compute pairwise graph similarity scores via graph matchings which approximately minimize the graph edit distance. Next, to facilitate the discovery of similar malware samples, we employ several clustering algorithms, including k-medoids and DBSCAN. Clustering experiments are conducted on a collection of real malware samples, and the results are evaluated against manual classifications provided by human malware analysts. Experiments show that it is indeed possible to accurately detect malware families via call graph clustering. We anticipate that in the future, call graphs can be used to analyse the emergence of new malware families, and ultimately to automate implementation of generic detection schemes.

研究动机与目标

  • 解决传统基于签名的检测方法难以应对大量持续演化的恶意软件变种的挑战。
  • 开发一种自动化、可扩展的方法,利用调用图作为高层抽象,识别恶意软件样本之间的结构相似性。
  • 评估聚类算法在真实恶意软件调用图上的表现,以实现准确的恶意软件家族识别。
  • 通过聚焦恶意软件家族间共有的结构模式而非单个样本,实现通用检测。

提出的方法

  • 将恶意软件样本表示为有向调用图,其中函数为顶点,函数调用为有向边。
  • 通过近似图匹配计算成对图相似性,以最小化图编辑距离,实现对调用图的高效比较。
  • 应用k-medoids和DBSCAN聚类算法,将结构相似的恶意软件样本聚类为家族。
  • 以基于图编辑距离的相似性度量作为聚类的核心距离度量,并通过人工分类进行验证。
  • 优化聚类参数(如DBSCAN中的Rad和MinPts),以最大化与人工分析师分类结果的一致性。
  • 改进调用图提取方法,通过隔离并分析隐藏载荷而非安装程序,以检测‘droppers’类恶意软件。

实验结果

研究问题

  • RQ1尽管存在代码混淆和变异,调用图表示是否能有效捕捉恶意软件变种之间的结构相似性?
  • RQ2DBSCAN和k-medoids等聚类算法在基于调用图相似性的基础上,对恶意软件样本聚类为已知家族的表现如何?
  • RQ3图编辑距离近似对恶意软件家族分类准确率有何影响?
  • RQ4所提出的方法能否检测并区分不同代际的恶意软件家族,包括结构发生显著演化的家族?
  • RQ5与安全分析师的人工分类相比,该方法在真实世界恶意软件样本上的表现如何?

主要发现

  • DBSCAN在恶意软件家族检测中优于k-medoids,成功识别出与人工分类结果高度一致的聚类。
  • 与F-Secure分析师的人工分类结果对比,该方法的分类准确率约为90%。
  • 聚类16包含了来自不同恶意软件家族的同构调用图,表明不同载荷的droppers在调用图层面无法区分。
  • 单个聚类中存在多个家族(如聚类2、6)的原因是样本虽属不同家族,但彼此距离在Rad阈值范围内。
  • 研究证实,图编辑距离是衡量调用图相似性的可行度量,尤其在结合近似算法以提升可扩展性时。
  • 通过分析droppers的载荷而非安装程序来改进调用图提取,提升了此类恶意软件的检测准确率。

更好的研究,从现在开始

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

无需绑定信用卡

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