← 最新论文
💻 computer science

ASSEMBLAGE-DEEPHISTORY: A Cross-Build Binary Dataset with Temporal Coverage

本文介绍了ASSEMBLAGE-DEEPHISTORY,这是一个包含来自248个开源项目的73,610个二进制文件的综合性跨构建二进制数据集,它统一了编译器、优化级别和时间维度下的编译上下文、源代码和CVE标签,从而支持对二进制漏洞检测与相似性的新颖分析。

原作者: Chang Liu, Noah Fleischmann, Nicolò Altamura, Edward Raff, James Holt, Kristopher Micinski

发布于 2026-05-22
📖 1 分钟阅读☕ 轻松阅读

原作者: Chang Liu, Noah Fleischmann, Nicolò Altamura, Edward Raff, James Holt, Kristopher Micinski

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在尝试教一台机器人如何在百万扇不同的门中识别出一种特定类型的坏锁。

在计算机安全领域,研究人员一直受困于这样一个问题:他们拥有“门”(软件程序)的数据集,但这些数据集并不完整。有些数据集展示了由不同工厂(编译器)制造的门,但仅限于某一年;另一些数据集展示了来自许多不同年份的门,但仅由一家工厂制造。没有任何一个数据集能向你展示:同一款门的设计,由不同工厂在不同年份制造,同时还能明确告知你哪些门存在坏锁(漏洞)。

本文介绍了ASSEMBLAGE-DEEPHISTORY,这是一个全新的海量数据集,终于将这些线索全部串联起来。不妨将其想象为一座“时空穿越门博物馆”。

“时空穿越门博物馆”

研究人员从248个开源项目中收集了73,610个不同版本的软件“门”。

  • 多样性:他们并非仅以一种方式构建这些门。他们使用不同的工具(GCC、Clang、MSVC)、在不同的操作系统(Windows 和 Linux)上、并采用不同的设置(优化级别)来编译相同的源代码。
  • 时间机器:他们并非仅拍摄了当下的快照,而是穿越回过去,为许多项目收集了跨越两年以上的版本。
  • 地图:博物馆中的每一扇门都与其原始蓝图(源代码)、变更历史以及在其中发现的特定“坏锁”(CVE)列表相互关联。

为何这很重要:“机器人”测试

作者利用这座博物馆测试了三大理念,就像一位老师给学生出了一份极其棘手的试卷。

1. “模式匹配”与“真正理解”测试
他们要求大型语言模型(AI 机器人)找出那些坏锁。

  • 陷阱:如果 AI 仅仅记住了某一家工厂制造的门中坏锁的样子,那么当门由另一家工厂制造时,它就会失败。
  • 结果:当拥有问题描述时,AI 模型在寻找坏锁方面表现得令人惊讶地出色。然而,当它们必须在不依赖描述的情况下直接观察原始“门”(编译后的二进制文件)时,它们却显得力不从心。这表明,尽管 AI 正在进步,但它有时仍依赖表面线索,而非真正理解代码的深层机制。

2. “指纹”测试
研究人员试图看看,是否仅通过观察门的“指纹”(数字签名),就能判断哪些门属于同一个家族。

  • 他们尝试了三种不同的指纹采集方式:一种观察整扇门的形状,一种观察内部布线,还有一种观察表面的灰尘。
  • 结果:“灰尘”法(称为 TLSH)在将同一家族的归为一组方面表现最佳。其他方法则感到困惑,因为不同的工厂即使制造的是同一设计,也会让门看起来截然不同。

3. “时间与变更”测试
他们想知道:是什么让同一扇门的两个版本看起来不同? 仅仅是时间的流逝吗?是变更的数量吗?还是被替换的具体文件?

  • 利用一种特殊的数学模型,他们分解了这些差异。他们发现,被更改的文件数量是导致门看起来不同的最大因素。有趣的是,仅仅是时间的流逝(日历天数)并不像实际在代码上完成的工作那样重要。

核心结论

这篇论文不仅为我们提供了更多的数据堆砌,更提供了一个结构化图书馆,其中每一段软件都与其历史、构建者及其缺陷相互关联。

我们学到的主要教训是:软件是混乱的。一个漏洞(坏锁)在蓝图中保持不变,但一旦由不同工厂将其构建为门,它看起来就会大相径庭。要真正理解安全性,我们需要将这些差异作为一个整体来研究,而不是孤立地看待。这个新数据集是首个能让研究人员做到这一点的工具。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →