中文

Asteria-Pro:通过融入领域知识增强基于深度学习的二进制代码相似性检测

软件工程 2023-05-23 v2 密码学与安全

摘要

广泛的代码复用使得漏洞在大量固件中扩散。亟需有效且高效地检测这些脆弱代码。通过度量代码相似性,基于 AI 的二进制代码相似性检测被应用于大规模检测脆弱代码。现有研究提出了多种函数特征以捕捉相似性检测中的共性。然而,物联网硬件架构多样性引发的显著代码语法差异降低了二进制代码相似性检测的准确性。在我们早期研究及工具 Asteria 中,我们采用 Tree-LSTM 网络将函数语义概括为函数共性,评估结果展现出先进性能。但其在大规模固件漏洞搜索中仍因过高时间成本与精度不足而存在实用性顾虑。为此,我们提出一种融入基于领域知识的预过滤与重排序模块的新型深度学习增强架构,并基于 Asteria 开发了名为 Asteria-Pro 的原型。预过滤模块旨在剔除不相似函数以加速后续深度学习模型计算,而重排序模块旨在提升脆弱函数在深度学习模型生成候选中的排名。我们的评估表明预过滤模块将计算时间削减 96.9%,重排序将 MRR 与召回率分别提升 23.71% 与 36.4%。通过融入预过滤与重排序模块,Asteria-Pro 在漏洞搜索任务上以显著优势超越现有最优方法。我们开展了大规模真实世界固件漏洞搜索,Asteria-Pro 成功检测到 1,482 个脆弱函数,精确率达 91.65%。

关键词

引用

@article{arxiv.2301.00511,
  title  = {Asteria-Pro: Enhancing Deep-Learning Based Binary Code Similarity Detection by Incorporating Domain Knowledge},
  author = {Shouguo Yang and Chaopeng Dong and Yang Xiao and Yiran Cheng and Zhiqiang Shi and Zhi Li and Limin Sun},
  journal= {arXiv preprint arXiv:2301.00511},
  year   = {2023}
}

备注

arXiv admin note: text overlap with arXiv:2108.06082