Live briefing
Everything about Return-oriented programming
Computer security exploit technique
Return-oriented programming (ROP) is a computer security exploit technique that allows an attacker to execute code despite the presence of security defenses that would otherwise prevent it, such as executable-space protection and code signing. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Return-oriented programmingA 5-minute orientation
- Skim a recent paper: Defending against Return-Oriented Programming attacks based on return instruction using static analysis and binary patch techniquesInfluential work since 2022
- Pick up a classic book: David Ahl's Basic computer adventuresThe most-reprinted book on the subject
- Read the landmark paper: Return-Oriented ProgrammingCited 406 times
- Go sideways: Stack buffer overflowA closely related topic
- Go sideways: Blind return-oriented programmingA closely related topic
📖 Definitions
Noun A computer security exploit technique by which the attacker gains control of the call stack to hijack program control flow and then executes prepared instruction sequences ("gadgets") that are already present in the machine's memory.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Return-Oriented Programming
Return-Oriented Programming
Securing Internet of Things devices against code tampering attacks using Return Oriented Programming
Stack Redundancy to Thwart Return Oriented Programming in Embedded Systems
Return-oriented programming on a resource constrained device
Identification of Return-Oriented Programming Attacks Using RISC-V Instruction Trace Data
Survey of return-oriented programming defense mechanisms
Defending return‐oriented programming based on virtualization techniques
🆕 Influential since 2022
Defending against Return-Oriented Programming attacks based on return instruction using static analysis and binary patch techniques
Finding gadgets in incremental code updates for return-oriented programming attacks on resource-constrained devices
Process Injection Using Return-Oriented Programming
ROParser: A high-efficient framework for return-oriented programming deobfuscation
Classification of return-oriented programming gadgets: a machine learning approach
📚 Books worth reading
David Ahl's Basic computer adventuresDavid H. Ahl · 1986
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Stack buffer overflow In software, a stack buffer overflow or stack buffer overrun occurs when a program writes to a memory address on the program's call stack outside of the…
- Blind return-oriented programming Blind return-oriented programming (BROP) is an exploit technique which can successfully create an exploit even if the attacker does not possess the target…
- Sigreturn-oriented programming Sigreturn-oriented programming (SROP) is a computer security exploit technique that allows an attacker to execute code in presence of security measures…
- Return-to-libc attack A "return-to-libc" attack is a computer security attack usually starting with a buffer overflow in which a subroutine return address on a call stack is…
- 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…
- 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…
- Memory safety Memory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows…
- Control-flow integrity Control-flow integrity (CFI) is a general term for computer security techniques that prevent a wide variety of malware attacks from redirecting the flow…