一句话:提出 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 秒且效率具竞争力。
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 原文 ·
@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}
}