Detecting code reuse attacks with a model of conformant program execution
Research output: Book/Conference proceeding/Anthology/Report › Monograph › Contributed › peer-review
Contributors
Abstract
Code reuse attacks circumvent traditional program protection mechanisms such as by constructing exploits from code already present within a process. Existing techniques to defend against these attacks provide ad hoc solutions or lack in features necessary to provide comprehensive and adoptable solutions. We present a systematic approach based on first principles for the efficient, robust detection of these attacks; our work enforces expected program behavior instead of defending against anticipated attacks. We define conformant program execution () as a set of requirements on program states. We demonstrate that code reuse attacks violate these requirements and thus can be detected; further, new exploit variations will not circumvent. To provide an efficient and adoptable solution, we also define observed conformant program execution, which validates program state at system call invocations; we demonstrate that this relaxed model is sufficient to detect code reuse attacks. We implemented our algorithm in a tool, ROPStop, which operates on unmodified binaries, including running programs. In our testing, ROPStop accurately detected real exploits while imposing low overhead on a set of modern applications: 5.3% on SPEC CPU2006 and 6.3% on an Apache HTTP Server.
Details
Original language | Undefined |
---|---|
Publisher | Springer Verlag |
Number of pages | 18 |
ISBN (print) | 978-3-319-04896-3 |
Publication status | Published - 2014 |
Peer-reviewed | Yes |
External IDs
Scopus | 84958523167 |
---|