Live briefing
Everything about Control-flow integrity
Term in computer security
Control-flow integrity (CFI) is a general term for computer security techniques that prevent a wide variety of malware attacks from redirecting the flow of execution of a program. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Control-flow integrityA 5-minute orientation
- Skim a recent paper: Survey of Control-flow Integrity Techniques for Real-time Embedded SystemsInfluential work since 2022
- Pick up a classic book: Resolution Trust CorporationThe most-reprinted book on the subject
- Read the landmark paper: Control-flow integrity principles, implementations, and applicationsCited 554 times
- Go sideways: Code sanitizerA closely related topic
- Go sideways: Buffer overflow protectionA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Control-flow integrity principles, implementations, and applications
Control-Flow Integrity
A Fine-Grained Control Flow Integrity Approach Against Runtime Memory Attacks for Embedded Systems
Modular control-flow integrity
HCIC: Hardware-Assisted Control-Flow Integrity Checking
SOFIA: Software and control flow integrity architecture
Fine-CFI: Fine-Grained Control-Flow Integrity for Operating System Kernels
Control Flow Integrity Based on Lightweight Encryption Architecture
🆕 Influential since 2022
Survey of Control-flow Integrity Techniques for Real-time Embedded Systems
FH-CFI: Fine-grained hardware-assisted control flow integrity for ARM-based IoT devices
Bratter: An Instruction Set Extension for Forward Control-Flow Integrity in RISC-V
A Hardware Security-Monitoring Architecture Based on Data Integrity and Control Flow Integrity for Embedded Systems
Hardware-assisted mechanisms to enforce control flow integrity: A comprehensive survey
📚 Books worth reading
- 📕Resolution Trust CorporationUnited States. General Accounting Office · 1990
Software EngineeringRoger S. Pressman, Bruce Maxim · 1982
Computer NetworksAndrew S. Tanenbaum, John David Wetherall · 1981
Computer networkingJames F. Kurose, Keith W. Ross · 1900
Neural Information ProcessingTingwen Huang · 2012
Hypertension in PregnancyPeter C. Rubin · 1983
The web application hacker's handbookDafydd Stuttard, Marcus Pinto · 2007
Mobile Networks and ManagementAndreas Timm-Giel · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Code sanitizer A code sanitizer is a programming tool that detects bugs in the form of undefined or suspicious behavior by a compiler inserting instrumentation code at…
- Buffer overflow protection Buffer overflow protection is any of various techniques used during software development to enhance the security of executable programs by detecting buffer…
- Return-oriented programming Return-oriented programming (ROP) is a computer security exploit technique that allows an attacker to execute code despite the presence of security defenses…
- X86 calling conventions This article describes the calling conventions used when programming x86 architecture microprocessors. Calling conventions describe the interface of called…
- Buffer overflow In programming and information security, a buffer overflow or buffer overrun is a bug whereby a program writes data to a buffer beyond the buffer's allocated…
- Microsoft-specific exception handling mechanisms The Microsoft Windows family of operating systems employ some specific exception handling mechanisms. Microsoft Structured Exception Handling is the native…
- Blocks (C language extension) Blocks are a non-standard extension added by Apple Inc. to the C, C++, and Objective-C programming languages that uses a lambda expression-like syntax…
- Inline assembler In computer programming, an inline assembler is a feature of some compilers that allows low-level code written in assembly language to be embedded within…