中文

BinEnhance:面向二进制代码搜索的基于外部环境语义的增强框架

软件工程 2024-11-27 v3 密码学与安全

摘要

二进制代码搜索在软件复用检测等应用中扮演关键角色。目前,现有模型通常基于内部代码语义,或函数调用图(CG)与内部代码语义的组合。然而,这些模型存在局限性。内部代码语义模型仅考虑函数内部的语义,忽略了函数间语义,使其难以处理函数内联等情况。CG与内部代码语义的组合不足以应对复杂的现实场景。为解决这些局限性,我们提出BinEnhance,一个旨在利用函数间语义来增强二进制代码搜索中内部代码语义表达的新框架。具体而言,BinEnhance构建外部环境语义图(EESG),通过不同的函数间语义关系(如调用、位置、数据共用法)为同源函数建立稳定且类似的的外部环境。EESG构建完成后,我们利用现有内部代码语义模型生成的嵌入来初始化EESG的节点。最后,我们设计了一个语义增强模型(SEM),使用关系图卷积网络(RGCN)和残差块在EESG上学习有价值的外部语义,以生成增强的语义嵌入。此外,BinEnhance利用数据特征相似性来细化语义嵌入的余弦相似度。我们在六种不同任务(如函数内联场景)下进行了实验,结果展示了BinEnhance的性能与鲁棒性。将BinEnhance应用于HermesSim、Asm2vec、TREX、Gemini和Asteria,在两个公开数据集上使平均精度均值(MAP)从53.6%提升至69.7%。此外,效率提高了四倍。

关键词

引用

@article{arxiv.2411.01102,
  title  = {BinEnhance: An Enhancement Framework Based on External Environment Semantics for Binary Code Search},
  author = {Yongpan Wang and Hong Li and Xiaojie Zhu and Siyuan Li and Chaopeng Dong and Shouguo Yang and Kangyuan Qin},
  journal= {arXiv preprint arXiv:2411.01102},
  year   = {2024}
}

备注

Accepted by Network and Distributed System Security (NDSS) Symposium 2025 fall cycle