Transparent ROP Exploit Mitigation Using Indirect Branch Tracing
Abstract
Return-oriented programming (ROP) has become the primary exploitation technique for system compromise in the presence of non-executable page protections. ROP exploits are facilitated mainly by the lack of complete address space randomization coverage or the presence of memory disclosure vulnerabilities, necessitating additional ROP-specific mitigations. In this paper we present a practical runtime ROP exploit prevention technique for the protection of third-party applications. Our approach is based on the detection of abnormal control transfers that take place during ROP code execution. This is achieved using hardware features of commodity processors, which incur negligible runtime overhead and allow for completely transparent operation without requiring any modifications to the protected applications. Our implementation for Windows 7, named kBouncer, can be selectively enabled for installed programs in the same fashion as user-friendly mitigation toolkits like Microsofts EMET. The results of our evaluation demonstrate that kBouncer has low runtime overhead of up to 4 , when stressed with specially crafted workloads that continuously trigger its core detection component, while it has negligible overhead for actual user applications. In our experiments with in-the-wild ROP exploits, kBouncer successfully protected all tested applications, including Internet Explorer, Adobe Flash Player, and Adobe Reader.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 14, 2013
- Accession Number
- AD1145986
Entities
People
- Angelos Dennis Keromytis
- Michalis Polychronakis
- Vasilis Pappas
Organizations
- Columbia University