Control-flow integrity principles, implementations, and applications
By Martín Abadi, Mihai Budiu, Ú. Erlingsson, Jay Ligatti. TSEC, 2009
955 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Signal Processing
View Paper: https://www.semanticscholar.org/paper/7c8c9bdb30ae9b40365c355504bdb457a51e108c
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Ahmad-Reza Sadeghi
- Lucas Davi
- R. Sekar
- Xuxian Jiang
- Alexandra Dmitrienko
- Taesoo Kim
- Marcus Peinado
- Marcel Winandy
In Signal Processing
- Ahmad-Reza Sadeghi
- Lucas Davi
- R. Sekar
- Xuxian Jiang
- Alexandra Dmitrienko
- Marcel Winandy
- Taesoo Kim
- Angelos Stavrou
Citations in the corpus
- Preventing Memory Error Exploits with WIT (2008, methodology): “CFI [6] and Program Shepherding [28] cannot detect this type of attack.”
- HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity (2010, background): “Specifically, continuous int egrity in this paper is enforced in the form of lifetime control-flow integrity [1].”
- SGX-Shield: Enabling Address Space Layout Randomization for SGX Programs (2017, methodology): “, stack canary [20], DEP [40], CFI [7], etc) have been proposed, implemented, and deployed recently to significantly raise the bar for exploitation in practice.”
- Control-Flow Integrity (2017, methodology): “…label creep by accumulating too many labels from the static CFG. CFI implementations introducing imprecision via labeling are: the original CFI paper [Abadi et al. 2005], control-flow locking [Bletsch et al. 2011], CF-restrictor [Pewny and Holz 2013], CCFIR [Zhang et al. 2013], MCFI [Niu and Tan…”
- Build It, Break It, Fix It: Contesting Secure Development (2016, background): “— Statically typed -2.422 0.089 [0.02, 0.51] 0.006* Dynamically typed-0.990.372[0.07, 2.12]0.266 # Team members-0.350.705[0.5, 1]0.051 Knowledge of C-1.440.237[0.05, 1.09]0.064 Lines of code0.0011.001[1, 1]0.090 Table 6. Final logistic model measuring log-likelihood of the discovery of a security bu”
- The Art, Science, and Engineering of Fuzzing: A Survey (2018, background): “Another class of memory safety protection is Control Flow Integrity [10], [11] (CFI), which detects control flow transitions at runtime that are not possible in the original program.”
- A minimalist approach to Remote Attestation (2014, background): “1Although Control-Flow Integrity (CFI) [1] is a desirable property of Attest, it must not be confused with Controlled Invocation which is still required because the attacker is able to load its own code in the device which would allow him to skip some instructions of Attest despite the presence of C”
- On the infeasibility of modeling polymorphic shellcode (2007, background): “Abadi et al. [ 1 ] propose formalizing the concept of Control Flow Integrity, observing that high-level programming often assumes properties of control o w that are not enforced at the machine language level.”
- Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization (2013, background): “CFI mitigates runtime attacks regardless of whether the program suffers from vulnerabilities.”
- Return-oriented programming without returns (2010, background): “Resources would instead be better spent deploying a comprehensive solution, such as CFI [1, 14].”
- VC3: Trustworthy Data Analytics in the Cloud Using SGX (2015, background): “The checks on indirect calls together with the integrity of return addresses enforce a form of control-flow integrity (CFI) [1], but our invariants are stronger than CFI.”
- Enforcing Forward-Edge Control-Flow Integrity in GCC & LLVM (2014, methodology): “Even the most recent CFI implementation, SAFEDISPATCH [19], must sacrifice software-engineering practicality and use profile-driven, whole-program optimization to achieve overheads comparable to ours (roughly 2% for all three of their Chromium benchmarks).”
- ROPdefender: a detection tool to defend against return-oriented programming attacks (2011, methodology): “XFI [2] enforces control-flow integrity (CFI) [1] which guarantees that program execution follows a Control-Flow Graph (CFG) created at load-time.”