paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Demystifying Cross-Language C/C++ Binaries: A Robust Software Component Analysis Approach

揭秘跨语言 C/C++ 二进制:一种鲁棒的软件成分分析方法
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 2/10 · 该论文研究跨语言 C/C++ 二进制的软件成分分析与版本识别,属于程序分析与安全方向,但未涉及用户核心关注的 PL→AI/Agentic 程序静态分析、AI→PL、浮点程序分析或贝叶斯程序分析,也未与 LLM/Agent 交叉。引用 0 inbox
Meiqiu Xu, Ying Wang, Wei Tang, Xian Zhan, Shing-Chi Cheung, Hai Yu, Zhiliang Zhu
crossref: 2026-09-12

AI 速览

一句话:提出 DeeperBin,通过大规模特征库、FFI 噪声过滤与 MDL 版本特征,提升跨语言 C/C++ 二进制中第三方库检测与版本识别精度。

二进制软件成分分析(BSCA)用于在无源码时识别编译产物中第三方库(TPL)版本,以追踪依赖与漏洞,但现有方法难以处理混合语言项目里的跨语言 C/C++ 二进制:异构 FFI 绑定干扰特征并造成误报,融合二进制模糊库边界。本文提出 DeeperBin,构建可分析 74,647 个 C/C++ TPL 版本的大规模特征库,过滤 FFI 与公共函数噪声,自动为 31,855 个版本提取版本字符串正则,并按最小描述长度(MDL)生成独特版本特征。在 418 个跨语言二进制上,TPL 检测精确率/召回率为 81.2%/84.6%,较 SOTA 提升 14.1%/23.2%;版本识别精确率 70.3%,提升 12.6%。消融验证 FFI 过滤与 MDL 特征有效,处理 364.3 秒且效率具竞争力。

问题
现有 BSCA 技术难以分析混合语言项目中的跨语言调用 C/C++ 二进制,主要受异构 FFI 绑定干扰和复合/融合二进制库边界模糊影响,导致误报与版本识别精度下降。
方法
DeeperBin 构建可覆盖 74,647 个 C/C++ TPL 版本的大规模特征库,过滤 FFI 绑定与公共函数噪声,自动提取 31,855 个版本的版本字符串正则,并基于最小描述长度(MDL)生成独特版本特征。
评估
在 418 个跨语言二进制上评估,TPL 检测精确率 81.2%、召回率 84.6%,版本识别精确率 70.3%,均优于 SOTA;消融验证 FFI 过滤和 MDL 特征有效,处理时间 364.3 秒。
原文摘要(Abstract)

Binary Software Composition Analysis (BSCA) is a technique for identifying the versions of third-party libraries (TPLs) used in compiled binaries, thereby tracing the dependencies and vulnerabilities of software components without access to their source code. However, existing BSCA techniques struggle with cross-language invoked C/C++ binaries in polyglot projects due to two key challenges: (1) interference from heterogeneous Foreign Function Interface (FFI) bindings that obscure distinctive TPL features and generate false positives during matching processes, and (2) the inherent complexity of composite binaries (fused binaries), particularly prevalent in polyglot development where multiple TPLs are frequently compiled into single executable units, resulting in blurred boundaries between libraries and substantially compromising version identification precision.We propose DeeperBin, a BSCA technique that addresses these challenges through a high-quality, large-scale feature database with four key advantages: (1) high scalability that is capable of analyzing 74,647 C/C++ TPL versions, (2) efficient noise filtering to remove FFI bindings and common functions, (3) automated extraction of version string regexes for 31,855 TPL versions, and (4) generation of distinctive version features using the Minimum Description Length (MDL) principle. Evaluated on 418 cross-language binaries, DeeperBin achieves 81.2% precision and 84.6% recall for TPL detection, outperforming state-of-the-art (SOTA) techniques by 14.1% and 23.2%, respectively. For version identification, it achieves 70.3% precision, a 12.6% improvement over state-of-the-art techniques. Ablation studies confirm the usefulness of FFI filtering and MDL-based features, boosting precision and recall by 17.1% and 18.8%. DeeperBin also maintains competitive efficiency, processing binaries in 364.3 seconds while supporting the largest feature database.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot9565,
  title = {Demystifying Cross-Language C/C++ Binaries: A Robust Software Component Analysis Approach},
  author = {Meiqiu Xu and Ying Wang and Wei Tang and Xian Zhan and Shing-Chi Cheung and Hai Yu and Zhiliang Zhu},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00148}
}