x86-64二元重写器的广泛比较评估
A Broad Comparative Evaluation of x86-64 Binary Rewriters
摘要:
二进制重写是一种快速成熟的技术,用于在不访问源代码的情况下修改软件以进行插装、定制、优化和强化。不幸的是,二进制重写工具的实际应用对用户来说往往是不清楚的,因为它们的局限性在文献中被掩盖了。除其他挑战外,这阻碍了这些工具的广泛采用。为了解决这个缺点,我们收集了10个流行的二进制重写器,并评估其在广泛的输入二进制类的一般性和由此产生的重写二进制文件的功能可靠性。此外,我们还评估了重写器本身的性能以及它们产生的重写二进制文件。这个广泛的评估的目标是建立一个共享的背景下,为未来的研究和开发的二进制重写工具,提供一个国家的实践能力。为了支持潜在的二进制重写器用户,我们还确定了输入的二进制功能,预测工具的成功,并表明一个简单的决策树模型可以准确地预测是否一个特定的工具可以重写目标二进制。二进制重写器,我们的3344个样本二进制文件的语料库,以及评估基础设施本身都可以作为开源软件免费获得。
英文摘要:
Binary rewriting is a rapidly-maturing technique for modifying software for instrumentation, customization, optimization, and hardening without access to source code. Unfortunately, the practical applications of binary rewriting tools are often unclear to users because their limitations are glossed over in the literature. This, among other challenges, has prohibited the widespread adoption of these tools. To address this shortcoming, we collect ten popular binary rewriters and assess their generality across a broad range of input binary classes and the functional reliability of the resulting rewritten binaries. Additionally, we evaluate the performance of the rewriters themselves as well as the rewritten binaries they produce. The goal of this broad evaluation is to establish a shared context for future research and development of binary rewriting tools by providing a state of the practice for their capabilities. To support potential binary rewriter users, we also identify input binary features that are predictive of tool success and show that a simple decision tree model can accurately predict whether a particular tool can rewrite a target binary. The binary rewriters, our corpus of 3344 sample binaries, and the evaluation infrastructure itself are all freely available as open-source software.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。