2024 · 会议论文

跨内联的二进制函数相似性检测

Cross-Inlining Binary Function Similarity Detection

研究函数内联使一个二进制函数对应多个源码函数时的二进制函数相似性检测。作者基于 BinKit,将 51 个 GNU 项目分别在启用与禁用 -fno-inline 的条件下编译(9 个 GCC 与 Clang 版本、O0–O3、x86、ARM 与 MIPS 共六种目标,各 216 种组合),并利用调试行号映射标注 5,621,140 个跨内联函数对。作者归纳出叶内联、根内联与内部内联三种模式,表明 Gemini、SAFE 与 GMN 在这些模式上准确率下降,并提出 CI-Detector:针对每种模式训练一个基于属性控制流图的图神经网络,再聚合各模型得分,报告精确率为 81%、召回率为 97%。

研究范围与局限

三种模式源自作者自行构建的 51 个 GNU 项目编译矩阵;作者指出,非默认优化等其他编译设置,或采用不同内联惯例的项目,可能不适用于已学习的模型。标签依赖 IDA Pro 与 DWARF 调试工具,作者将其列为构造效度威胁;属性控制流图由 IDA Pro 7.3 构建,反汇编错误可能影响结果。精确率与召回率来自各含 40,000 个正例与 40,000 个负例的平衡测试对,并按 F1 调整阈值,而非大规模候选池检索。基线为已发布的 Gemini、SAFE 与 GMN 模型,以及结合 Asm2Vec 的 Bingo 式内联策略。研究未评估混淆二进制或基于大语言模型的相似性模型。

与本合集的关联

补充考虑内联的函数匹配研究,与关闭内联的相似性测量研究及 jTrans 等单一模型条目互补。

发表与复核详情

发表载体
ICSE 2024
发表状态
会议论文
出版/提交日期
2024 年 4 月 12 日
日期依据
ACM 提交的 Crossref 元数据将 published/纸质与在线出版日期均记为 2024-04-12;该日期取自出版方元数据,而非 4 月 14–20 日的会议日期。
arXiv 首次提交
2024 年 1 月 11 日
arXiv
2401.05739
已复核的 arXiv 版本
v1
DOI
10.1145/3597503.3639080

Crossref 与 arXiv v1 PDF(唯一版本,标注为 ICSE 2024 定稿)的六位作者顺序一致;Crossref 给出页码 1–13。论文参考文献 16 中的仓库 URL 存在换行。在所审阅的提交 ff606dd(2026-04-20)中,仓库通过当日新增的 LICENSE 文件声明 AGPL-3.0,距论文发表约两年,此前的快照没有许可证文件。README 链接两个基于 BinKit 构建的 Google Drive 压缩包,并说明流程复用 Cisco-Talos/binary_function_similarity 的代码;运行需要 IDA Pro、Docker 与 nvidia-docker。其训练步骤构建的 NeuralNetwork/ Docker 上下文不在所审阅的目录树中,仓库也未包含已训练的 CI-Detector 检查点。本次未下载数据集,也未运行代码或实验。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

报告条目过时 建议修正翻译

一手来源

  1. https://dl.acm.org/doi/10.1145/3597503.3639080
  2. https://api.crossref.org/works/10.1145/3597503.3639080
  3. https://arxiv.org/abs/2401.05739
  4. https://arxiv.org/pdf/2401.05739v1
  5. README.md GitHub · island255/cross-inlining_binary_function_similarity · 修订 ff606dd
  6. LICENSE GitHub · island255/cross-inlining_binary_function_similarity · 修订 ff606dd
  7. 4.training_for_cross_inlining GitHub · island255/cross-inlining_binary_function_similarity · 修订 ff606dd