Superset Disassembly: Statically Rewriting x86 Binaries Without Heuristics
Erick Bauman, Zhiqiang Lin, Kevin W. Hamlen
摘要
Static binary rewriting is a core technology for many systems and security applications, including profiling, optimization, and software fault isolation. While many static binary rewriters have been developed over the past few decades, most make various assumptions about the binary, such as requiring correct disassembly, cooperation from compilers, or access to debugging symbols or relocation entries. This paper presents MUL-TIVERSE, a new binary rewriter that is able to rewrite Intel CISC binaries without these assumptions. Two fundamental techniques are developed to achieve this: (1) a superset disassembly that completely disassembles the binary code into a superset of instructions in which all legal instructions fall, and (2) an instruction rewriter that is able to relocate all instructions to any other location by mediating all indirect control flow transfers and redirecting them to the correct new addresses. A prototype implementation of MUL-TIVERSE and evaluation on SPECint 2006 benchmarks shows that MULTIVERSE is able to rewrite all of the testing binaries with a reasonable runtime overhead for the new rewritten binaries. Simple static instrumentation using MULTIVERSE and its comparison with dynamic instrumentation shows that the approach achieves better average performance. Finally, the security applications of MUL-TIVERSE are exhibited by using it to implement a shadow stack.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper44
- RetroWrite: Statically Instrumenting COTS Binaries for Fuzzing and SanitizationSushant Dinesh, Nathan Burow, Dongyan Xu, Mathias PayerS&P 2020 · 被引用 187 次
- RAZOR: A Framework for Post-deployment Software DebloatingChenxiong Qian, Hong Hu, Mansour Alharthi, Simon Pak Ho Chung 等USENIX Security 2019 · 被引用 132 次
- OSPREY: Recovery of Variable and Data Structure via Probabilistic Analysis for Stripped BinaryZhuo Zhang, Yapeng Ye, Wei You, Guanhong Tao 等S&P 2021 · 被引用 78 次
- Binary rewriting without control flow recoveryGregory J. Duck, Xiang Gao, Abhik RoychoudhuryPLDI 2020 · 被引用 77 次
- Egalito: Layout-Agnostic Binary RecompilationDavid Williams-King, Hidenori Kobayashi, Kent Williams-King, Graham Patterson 等ASPLOS 2020 · 被引用 68 次
它引用的顶会 Paper3
- A Tough Call: Mitigating Advanced Code-Reuse Attacks at the Binary LevelVictor van der Veen, Enes Göktas, Moritz Contag, Andre Pawlowski 等S&P 2016 · 被引用 227 次
- Ramblr: Making Reassembly Great AgainRuoyu Wang, Yan Shoshitaishvili, Antonio Bianchi, Aravind Machiry 等NDSS 2017 · 被引用 155 次
- Object Flow IntegrityWenhao Wang, Xiaoyang Xu, Kevin W. HamlenCCS 2017 · 被引用 18 次
相关 Paper
- ARMore: Pushing Love Back Into BinariesLuca Di Bartolomeo, Hossein Moghaddas, Mathias PayerUSENIX Security 2023
- SAFER: Efficient and Error-Tolerant Binary InstrumentationSoumyakant Priyadarshan, Huan Nguyen, Rohit Chouhan, R. SekarUSENIX Security 2023
- Reassembly is Hard: A Reflection on Challenges and StrategiesHyungseok Kim, Soomin Kim, Junoh Lee, Kangkook Jee 等USENIX Security 2023
- Incremental CFG patching for binary rewritingXiaozhu Meng, Weijie LiuASPLOS 2021 · 被引用 8 次
- Datalog DisassemblyAntonio Flores-Montoya, Eric M. SchulteUSENIX Security 2020
