使用监督学习检测二进制代码源 provenance 相似性

需积分: 13 2 下载量 7 浏览量 更新于2024-09-16 收藏 641KB PDF 举报
"这篇论文是关于在数据挖掘领域中,针对二进制代码的来源相似性(Provenance-Similarity)的监督学习方法。作者Sagar Chaki、Cory Cohen和Arie Gurfinkel来自卡内基梅隆软件工程研究所,他们提出了一种基于编译来源的二进制相似度概念,即两个二进制文件如果由相同的或非常相似的源代码,用相同的或相似的编译器编译而成,则它们是相似的。实证研究表明,这种来源相似性解释了现有二进制文件(尤其是恶意软件)中大部分的变异性。论文提出了利用分类技术检测二进制的来源相似性,并对多种分类器、不同类型的属性和相似性标记方案进行了评估,分别基于开源软件和恶意软件的基准测试。结果表明,分类是一种可行的自动化检测二进制来源相似性的方法,并且可以作为形式验证的辅助工具。" 本文的核心知识点包括: 1. **二进制代码的相似性**:在软件工程中,理解、度量和利用二进制代码的相似性是一个基础性的挑战。这个相似性不仅涉及代码结构和功能,还涉及到它们的编译过程。 2. **来源相似性(Provenance-Similarity)**:这是一种新的度量标准,它基于二进制文件的生成过程,即源代码和编译器的选择。如果两个二进制文件有相同的编译源和编译环境,它们被认为是相似的。 3. **恶意软件的变异性**:尤其在恶意软件中,来源相似性是一个重要的考虑因素,因为许多恶意软件会通过微小的修改来逃避检测,而这些修改可能不会改变其基本的编译来源。 4. **监督学习的应用**:论文提出了将监督学习用于检测二进制文件的来源相似性。这种方法需要训练数据集,其中包含已知的相似性和非相似性的二进制对,然后使用这些数据训练分类模型。 5. **分类器和属性选择**:论文评估了不同的分类器(如决策树、随机森林、支持向量机等)以及各种类型的二进制属性(例如,汇编指令、函数结构等),并探讨了不同的相似性标签策略。 6. **基准测试**:为了验证方法的有效性,论文构建了两个基准测试集,一个基于开源软件,另一个基于恶意软件,这有助于检验模型在实际场景中的表现。 7. **实验结果**:初步的实验结果显示出积极的迹象,表明分类方法可以有效地检测二进制的来源相似性,并且可以辅助形式验证,提高二进制代码分析的效率和准确性。 8. **自动化检测**:通过监督学习实现的自动化检测系统,可以大大减少人工分析的工作量,提高对大规模二进制文件集合的处理能力,对于软件安全和恶意软件检测具有重要意义。