Skip to main content
QUICK REVIEW

[论文解读] SourceFinder: Finding Malware Source-Code from Publicly Available Repositories

Md Omar Faruk Rokon, Risul Islam|arXiv (Cornell University)|May 28, 2020
Advanced Malware Detection Techniques参考文献 49被引用 10
一句话总结

SourceFinder 是一种监督式机器学习系统,可从 GitHub 等公共代码存档中识别恶意软件源代码仓库,准确率为 89%,召回率为 86%。它利用基于关键词的集合与特征工程,从仓库元数据中提取信息,构建了目前已知最大的非商业恶意软件源代码数据库——共 7,504 个仓库,为恶意软件分析与逆向工程研究提供了新可能。

ABSTRACT

Where can we find malware source code? This question is motivated by a real need: there is a dearth of malware source code, which impedes various types of security research. Our work is driven by the following insight: public archives, like GitHub, have a surprising number of malware repositories. Capitalizing on this opportunity, we propose, SourceFinder, a supervised-learning approach to identify repositories of malware source code efficiently. We evaluate and apply our approach using 97K repositories from GitHub. First, we show that our approach identifies malware repositories with 89% precision and 86% recall using a labeled dataset. Second, we use SourceFinder to identify 7504 malware source code repositories, which arguably constitutes the largest malware source code database. Finally, we study the fundamental properties and trends of the malware repositories and their authors. The number of such repositories appears to be growing by an order of magnitude every 4 years, and 18 malware authors seem to be "professionals" with well-established online reputation. We argue that our approach and our large repository of malware source code can be a catalyst for research studies, which are currently not possible.

研究动机与目标

  • 为解决公开可用恶意软件源代码严重匮乏的问题,该问题阻碍了安全研究与工具评估。
  • 系统性地识别大型公共存档(如 GitHub)中的恶意软件源代码仓库,尽管这些仓库普遍存在,但至今仍被严重低估。
  • 开发一种可扩展的监督式学习方法,利用元数据特征准确区分恶意软件仓库与良性仓库。
  • 构建一个大规模、经人工筛选且持久存在的恶意软件源代码数据库,以支持未来研究。
  • 分析恶意软件仓库的增长趋势与作者行为,包括专业恶意软件作者的出现。

提出的方法

  • 使用 137 个与恶意软件相关的关键词收集 97,000 个 GitHub 仓库,形成初始候选集。
  • 手动标注 2,013 个仓库为恶意软件或良性,构建用于模型训练与评估的基准数据集。
  • 从五个仓库字段中提取并工程化特征:标题、描述、README、编程语言和标签。
  • 在工程化特征上训练监督式机器学习分类器(如 XGBoost 或类似模型),以区分恶意软件仓库。
  • 将训练好的模型应用于完整候选集,识别出 7,504 个恶意软件源代码仓库。
  • 通过在保留测试集上计算准确率、召回率与 F1 分数,验证模型性能。

实验结果

研究问题

  • RQ1监督式机器学习方法能否在 GitHub 等公共代码存档中以高准确率与高召回率有效识别恶意软件源代码仓库?
  • RQ2在公共仓库中,哪些关键元数据特征最能有效区分恶意软件仓库与良性仓库?
  • RQ3GitHub 上有多少恶意软件源代码仓库?其随时间的增长趋势如何?
  • RQ4最活跃且最具影响力的恶意软件作者是谁?他们是否表现出专业行为模式?
  • RQ5所识别出的恶意软件仓库数据库能否支持恶意软件分析、逆向工程与工具评估的新研究?

主要发现

  • SourceFinder 利用五个仓库元数据字段,在识别恶意软件仓库方面达到 89% 的准确率、86% 的召回率与 87% 的 F1 分数。
  • 本研究在 GitHub 上识别出 7,504 个恶意软件源代码仓库,构成目前已知最大的非商业恶意软件源代码数据库。
  • 新恶意软件仓库数量每四年增长逾三倍,表明该生态系统正在迅速扩张。
  • 18 名恶意软件作者表现出专业行为,包括持续贡献、高质仓库与强大的在线声誉。
  • 该方法可推广至其他公共代码存档(如 GitLab 与 BitBucket),前提是具备相似的元数据结构与公开仓库访问权限。
  • 作者计划发布 SourceFinder 模型与经筛选的恶意软件源代码数据库,以支持未来研究。

更好的研究,从现在开始

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

无需绑定信用卡

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