From Hack to Elaborate Technique—A Survey on Binary Rewriting

From Hack to Elaborate Technique—A Survey on Binary Rewriting
复制标题

从黑客到精细技术——二进制重写调查

DOI:
10.1145/3316415
复制
发表时间:
2019
期刊:
ACM Computing Surveys (CSUR)
影响因子:
--
通讯作者:
E. Weippl
E. Weippl
中科院分区:
--
文献类型:
--
作者:
M. Wenzl;Georg Merzdovnik;Johanna Ullrich;E. Weippl

文献摘要

被引文献

相似文献

二进制重写是在手头没有源代码的情况下改变程序的语义。它用于多种目的,例如仿真(例如 QEMU)、优化(例如 DynInst)、观察(例如 Valgrind)和强化(例如控制流完整性强制)。这项调查通过回顾 1966 年至 2018 年的 67 篇出版物,详细介绍了二进制重写的发展和最新技术。从这些出版物开始,我们深入研究了完成二进制重写的挑战和相应的解决方案。根据我们的发现,我们根据二进制重写方法的用例、应用分析技术、代码转换方法和代码生成技术对二进制重写方法进行了彻底的分类。我们贡献了二进制重写工具、应用技术及其应用领域之间的全面映射。我们的研究结果强调,尽管在过去几十年里已经做了很多工作,但大部分努力都投入到了旨在重写通用应用程序的改进上,而忽略了其他挑战,例如改变面向吞吐量的程序或具有实时要求的软件,这些挑战通常用于新兴的物联网领域。据我们所知,我们的调查是对完整二进制重写过程的第一次全面概述。
Binary rewriting is changing the semantics of a program without having the source code at hand. It is used for diverse purposes, such as emulation (e.g., QEMU), optimization (e.g., DynInst), observation (e.g., Valgrind), and hardening (e.g., Control flow integrity enforcement). This survey gives detailed insight into the development and state-of-the-art in binary rewriting by reviewing 67 publications from 1966 to 2018. Starting from these publications, we provide an in-depth investigation of the challenges and respective solutions to accomplish binary rewriting. Based on our findings, we establish a thorough categorization of binary rewriting approaches with respect to their use-case, applied analysis technique, code-transformation method, and code generation techniques. We contribute a comprehensive mapping between binary rewriting tools, applied techniques, and their domain of application. Our findings emphasize that although much work has been done over the past decades, most of the effort was put into improvements aiming at rewriting general purpose applications but ignoring other challenges like altering throughput-oriented programs or software with real-time requirements, which are often used in the emerging field of the Internet of Things. To the best of our knowledge, our survey is the first comprehensive overview on the complete binary rewriting process.