基于神经网络的二进制函数相似性检测技术
二进制代码相似性检测在程序的追踪溯源和安全审计中都有着广泛而重要的应用.近年来,神经网络技术被应用于二进制代码相似性检测,突破了传统检测技术在大规模检测任务中遇到的性能瓶颈,因此基于神经网络嵌入的代码相似性检测技术逐渐成为热门研究.文中提出了一种基于神经网络的二进制函数相似性检测技术,该技术首先利用统一的中间表示来消除不同汇编代码在指令架构上的差异;其次在程序基本块级别,利用自然语言处理的词嵌入模型来学习中间表示代码,以获得基本块语义嵌入;然后在函数级别,利用改进的图神经网络模型来学习函数的控制流信息,同时兼顾基本块的语义,获得最终的函数嵌入;最后通过计算两个函数嵌入向量间的余弦距离来度量函数间的相似性.文中实现了一个基于该技术的原型系统,实验表明该技术的程序代码表征学习过程能够避免人为偏见的引入,改进的图神经网络更适合学习函数的控制流信息,系统的可扩展性和检测的准确率较现有方案都得到了提升.
二进制函数;相似性检测;表征学习;图神经网络
48
TP313(计算技术、计算机技术)
国家重点研发计划;之江实验室"先进工业互联网安全平台"项目
2021-10-22(万方平台首次上网日期,不代表论文的发表时间)
共8页
286-293