Control-flow integrity principles, implementations, and applications
Top Cited Papers
- 1 October 2009
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Information and System Security
- Vol. 13 (1), 1-40
- https://doi.org/10.1145/1609956.1609960
Abstract
Current software attacks often build on exploits that subvert machine-code execution. The enforcement of a basic safety property, control-flow integrity (CFI), can prevent such attacks from arbitrarily controlling program behavior. CFI enforcement is simple and its guarantees can be established formally, even with respect to powerful adversaries. Moreover, CFI enforcement is practical: It is compatible with existing software and can be done efficiently using software rewriting in commodity systems. Finally, CFI provides a useful foundation for enforcing further security policies, as we demonstrate with efficient software implementations of a protected shadow call stack and of access control for memory regions.Keywords
This publication has 24 references indexed in Scilit:
- Secure Untrusted Binaries — Provably!Lecture Notes in Computer Science, 2006
- Practical analysis of stripped binary codeACM SIGARCH Computer Architecture News, 2005
- A Theory of Secure Control FlowLecture Notes in Computer Science, 2005
- Beyond stack smashing: recent advances in exploiting buffer overrunsIEEE Security & Privacy, 2004
- Proxi-Annotated Control Flow Graphs: Deterministic Context-Sensitive Monitoring for Intrusion DetectionLecture Notes in Computer Science, 2004
- Control-flow checking by software signaturesIEEE Transactions on Reliability, 2002
- Enforceable security policiesACM Transactions on Information and System Security, 2000
- From system F to typed assembly languageACM Transactions on Programming Languages and Systems, 1999
- Efficient software-based fault isolationACM SIGOPS Operating Systems Review, 1993
- The Confused DeputyACM SIGOPS Operating Systems Review, 1988