SoK:关于 x86/x64 二进制反汇编你想知道却不敢问的一切
密码学与安全
2020-07-29 v1
摘要
二进制代码反汇编是困难的,但对于提升二进制软件的安全性必不可少。过去几十年中,二进制反汇编研究产生了许多工具与框架,并已提供给研究人员与安全专业人员使用。这些工具采用了多种策略,赋予了它们不同的特性。然而,缺乏系统化的梳理阻碍了该领域的新研究,也使得正确选择工具变得困难,因为我们并不了解现有工具的优缺点。在本文中,我们通过对九种流行的开源工具的研究对二进制反汇编进行了系统化。我们将对其代码库的手动审查与迄今最全面的实验评估(使用 3,788 个二进制文件)相结合。我们的研究给出并组织了反汇编策略的全面描述与分类,将其划分为算法类或启发式类。同时,我们度量并报告了各单独算法对每个工具结果的影响。我们发现,尽管所有工具都使用了有原则的算法,它们仍严重依赖启发式方法来提高代码覆盖率。依据所用启发式的不同,会出现不同的覆盖率-正确性权衡,从而导致具有不同优缺点的工具。我们期望这些发现能帮助用户选择合适的工具,并协助研究人员改进二进制反汇编。
引用
@article{arxiv.2007.14266,
title = {SoK: All You Ever Wanted to Know About x86/x64 Binary Disassembly But Were Afraid to Ask},
author = {Chengbin Pang and Ruotong Yu and Yaohui Chen and Eric Koskinen and Georgios Portokalidis and Bing Mao and Jun Xu},
journal= {arXiv preprint arXiv:2007.14266},
year = {2020}
}