中文

理解 AI 驱动的二进制代码相似性检测

软件工程 2024-10-11 v1

摘要

AI 驱动的二进制代码相似性检测(BinSD)通过神经网络将复杂的二进制代码比较转化为代码嵌入的距离度量,已在程序分析中广泛应用。然而,由于所采用的嵌入策略、评估方法、运行环境和/或基准测试的多样性,难以定量了解BinSD问题在多大程度上已被解决,尤其是在实际应用中。此外,对日益复杂的嵌入神经网络和各种评估方法缺乏深入调查,成为阻碍AI驱动BinSD发展的关键因素。为填补这些研究空白,本文对最新AI驱动BinSD方法进行系统评估,通过对相似函数检测以及两个下游应用(即漏洞搜索和许可违规检测)上的BinSD系统进行全面比较。基于这一评估,我们对嵌入神经网络和评估方法进行首次调查。实验结果得出了若干发现,为BinSD领域提供了宝贵的见解,包括:(1)尽管基于图神经网络的BinSD系统在相似函数检测中取得最佳性能,但仍存在显著的改进空间;(2)AI驱动BinSD方法在应用于不同下游应用时,其能力表现出显著差异;(3)现有的评估方法仍需要 substantial 调整。例如,所采用的评估指标(如广泛采用的ROC和AUC)通常不足以准确代表模型在实际场景中的性能。基于大量实验和分析,我们进一步提供了若干有前景的未来研究方向。

关键词

引用

@article{arxiv.2410.07537,
  title  = {Understanding the AI-powered Binary Code Similarity Detection},
  author = {Lirong Fu and Peiyu Liu and Wenlong Meng and Kangjie Lu and Shize Zhou and Xuhong Zhang and Wenzhi Chen and Shouling Ji},
  journal= {arXiv preprint arXiv:2410.07537},
  year   = {2024}
}