二进制代码相似性检测
摘要:二进制代码相似性检测是在没有源代码的情况下检测二进制(汇编)级别的代码相似性。现有的工作在处理由不同编译选项生成的变异二进制代码时存在局限性。本文提出了一种解决这个问题的新方法。通过检查二进制代码,我们发现通常情况下,在一个函数中,一些指令的目的是计算(准备)其他指令的值。我们将后面的指令定义为关键指令。目前,我们定义了四类关键指令:调用子函数、比较指令、返回指令和存储指令。因此,如果我们对类似的二进制代码进行符号执行,我们期望在这些关键指令处的符号值是相似的。基于此,我们实现了一个原型工具,它有三个步骤。首先,对二进制代码进行符号执行;其次,将定义的关键指令处的符号值提取到一个图中;最后,比较符号图的相似性。在我们的实现中,我们还解决了一些问题,包括路径爆炸和循环处理。
作者:Zian Liu
论文ID:2308.02992
分类:Cryptography and Security
分类简称:cs.CR
提交时间:2023-08-08