BinPool: A Dataset of Vulnerabilities for Binary Security Analysis

2025年04月27日
  • 简介
    机器学习技术在发现软件漏洞方面的开发,从根本上依赖于适当数据集的可用性。理想的数据集应包含大量且多样化的现实世界漏洞,并配对包含每个程序的易受攻击版本和已修复版本。很自然地,收集这样的数据集是一项耗时且繁琐的任务。在二进制代码漏洞发现的具体领域中,以往的数据集要么无法公开获取,要么缺乏语义多样性,要么涉及人为引入的漏洞,要么是通过静态分析器收集的,因此本身可能包含错误标记的示例程序。 在本文中,我们介绍了一个新的公开可用数据集,我们将其命名为 Binpool,其中包含多年来许多易受攻击的 Debian 软件包版本样本。该数据集是通过自动化方式整理的,包含了每个程序的易受攻击版本和已修复版本,并在四个不同的优化级别上进行了编译。总体而言,该数据集涵盖了 89 个 CWE 类别中的 603 个不同 CVE,涉及 162 个 Debian 软件包,并包含 6144 个二进制文件。我们认为,这个数据集适合用于评估多种安全分析工具,包括漏洞发现、二进制函数相似性分析以及剽窃检测。
  • 图表
  • 解决问题
    该论文试图解决在二进制代码中发现软件漏洞的问题,特别是构建一个高质量、多样化的数据集以支持机器学习模型的训练和评估。这是一个长期存在的问题,但之前的数据集存在公开性不足、语义多样性缺乏或包含人工引入漏洞等问题。
  • 关键思路
    论文提出了一种名为Binpool的新数据集,该数据集通过自动化方式收集了大量真实世界的漏洞样本,并包含了每个程序的漏洞版本和修复版本,编译为四种不同的优化级别。相比现有研究,Binpool提供了更大的规模(6144个二进制文件)、更丰富的漏洞类型(覆盖603个CVE和89个CWE类别),以及更高的实际应用价值。
  • 其它亮点
    Binpool数据集具有以下亮点:1) 覆盖了162个Debian包,包含真实的漏洞和修复样本;2) 提供了多种优化级别的编译版本,增加了实验的灵活性;3) 数据集已公开,便于其他研究者复现结果并进一步改进技术。此外,论文还讨论了该数据集在漏洞发现、二进制函数相似性和剽窃检测等任务中的潜在应用价值。目前,数据集已经开源,但未提及代码实现是否公开。
  • 相关研究
    相关研究包括:1) 之前的一些工作使用静态分析器生成数据集,但可能导致错误标签;2) 其他类似的数据集如VulnDataset和Juliet Test Suite,但它们通常包含人工构造的漏洞或缺乏语义多样性;3) 最近的研究开始关注利用深度学习方法进行二进制漏洞检测,例如DeepWukong和BinDiff。这些研究虽然取得一定进展,但在数据质量和多样性上仍不及Binpool。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论