面向大规模二进制代码相似性检测的成本效益框架 CEBin
软件工程
2024-03-01 v1 密码学与安全
摘要
二进制代码相似性检测 (BCSD) 是各种应用的基本技术。最近提出了许多BCSD解决方案,主要基于嵌入方法,但在目标二进制规模庞大时显示出有限的准确率和效率。为此,我们提出一种成本效益高的BCSD框架——CEBin,将嵌入方法与比较方法融合,显著提高准确率的同时最小化开销。具体而言,CEBin利用改进的嵌入方法提取目标代码特征,有效缩小相似代码的候选范围,从而提升性能。随后,它利用比较方法对候选对象进行成对比较,以捕捉更细致和复杂的关系,从而大幅提高相似性检测的准确率。通过搭建嵌入方法与比较方法之间的鸿沟,CEBin能够为在大型软件生态系统中检测相似代码(包括漏洞代码)提供有效且高效的解决方案。在三个著名数据集上的实验结果表明,CEBin 在现有最先进 (SOTA) 基线方法上具有优势。为进一步评估BCSD在实际中的有用性,我们构建了一个大型漏洞基准,首次提供评估方案以衡量BCSD方法对于“1日漏洞检测”任务的精确性。CEBin能够在几秒钟内从数百万个候选函数中识别出相似函数,并在该更实用但具有挑战性的任务上实现惊人的85.46%召回率,这些基线方法快了几个数量级且性能提升了4.07倍。我们的代码已公开发布于 https://github.com/Hustcw/CEBin。
引用
@article{arxiv.2402.18818,
title = {CEBin: A Cost-Effective Framework for Large-Scale Binary Code Similarity Detection},
author = {Hao Wang and Zeyu Gao and Chao Zhang and Mingyang Sun and Yuchen Zhou and Han Qiu and Xi Xiao},
journal= {arXiv preprint arXiv:2402.18818},
year = {2024}
}