21
- https://doi.org/10.1007/978-1-4614-5416-8_9
Practical Software Diversification Using In-Place Code Randomization
- Aug 23, 2012
- Vasilis Pappas +2 more
The wide adoption of non-executable page protections has given rise to attacks that employ return-oriented programming (ROP) to achieve arbitrary code execution without the injection of any code. Existing defenses against ROP exploits either require source code or symbolic debugging information, or impose a significant runtime overhead, which limits their applicability for the protection of third-party applications. Aiming for a practical mitication against ROP attacks, we introduce in-place code randomization, a software diversification technique that can be applied directly on third-party software. Our method uses various narrow-scope code transformations that can be applied statically, without changing the location of basic blocks, allowing the safe randomization of stripped binaries even with partial disassembly coverage. We demonstrate how in-place code randomization can prevent the exploitation of vulnerable Windows 7 applications, including Adobe Reader, as well as the automated construction of reliable ROP payloads.
- # Return-oriented Programming
- # Return-oriented Programming Attacks
- # Require Source Code
- # Third-party Software
- # Partial Coverage
- # Significant Overhead
- # Arbitrary Code Execution
- # Software Diversification
- # Adobe Reader
- # Diversification Technique