The DOI matches its Crossref record.
Return-Oriented Programming: Systems, Languages, and Applications
Abstract
We introduce return-oriented programming , a technique by which an attacker can induce arbitrary behavior in a program whose control flow he has diverted, without injecting any code. A return-oriented program chains together short instruction sequences already present in a program’s address space, each of which ends in a “return” instruction. Return-oriented programming defeats the W⊕X protections recently deployed by Microsoft, Intel, and AMD; in this context, it can be seen as a generalization of traditional return-into-libc attacks. But the threat is more general. Return-oriented programming is readily exploitable on multiple architectures and systems. It also bypasses an entire category of security measures---those that seek to prevent malicious computation by preventing the execution of malicious code. To demonstrate the wide applicability of return-oriented programming, we construct a Turing-complete set of building blocks called gadgets using the standard C libraries of two very different architectures: Linux/x86 and Solaris/SPARC. To demonstrate the power of return-oriented programming, we present a high-level, general-purpose language for describing return-oriented exploits and a compiler that translates it to gadgets.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cited by
The Cybersecurity Landscape in Industrial Control Systems
McLaughlin, S., Konstantinou, C., Wang, X., Davi, L., Sadeghi, A.-R., Maniatakos, M., & Karri, R. (2016) · Proceedings of the IEEE · doi:10.1109/jproc.2015.2512235 · Cited by 391
Bittau, A., Belay, A., Mashtizadeh, A., Mazieres, D., & Boneh, D. (2014) · 2014 IEEE Symposium on Security and Privacy · doi:10.1109/sp.2014.22 · Cited by 313
C-FLAT: Control-Flow Attestation for Embedded Systems Software
Abera, T., Asokan, N., Davi, L., Ekberg, J.-E., Nyman, T., Paverd, A., Sadeghi, A.-R., & Tsudik, G. (2016) · Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security · doi:10.1145/2976749.2978358 · Cited by 258
Exploiting Programmatic Behavior of LLMs: Dual-Use Through Standard Security Attacks
Kang, D., Li, X., Stoica, I., Guestrin, C., Zaharia, M., & Hashimoto, T. (2024) · 2024 IEEE Security and Privacy Workshops (SPW) · doi:10.1109/spw63631.2024.00018 · Cited by 114
TrackOS: A Security-Aware Real-Time Operating System
Pike, L., Hickey, P., Elliott, T., Mertens, E., & Tomb, A. (2016) · Lecture Notes in Computer Science · doi:10.1007/978-3-319-46982-9_19 · Cited by 20
Metadata
- Authors
- Roemer, R., Buchanan, E., Shacham, H., & Savage, S.
- Venue
- ACM Transactions on Information and System Security
- Published
- 2012-03
- Volume
- 15
- Issue
- 1
- Pages
- 1-34
- ISSN
- 1094-9224 (ISSN-L)
- 1557-7406
- OpenAlex
- W2089448621
- Cited by
- 497
- References
- 0
- FWCI
- 31.35
- Type
- journal article
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Return-Oriented Programming: Systems, Languages, and Applications. https://app.cochat.ai/papers/10.1145/2133375.2133377
- The paper
- Roemer, R., Buchanan, E., Shacham, H., & Savage, S. (2012). Return-Oriented Programming: Systems, Languages, and Applications. ACM Transactions on Information and System Security. https://doi.org/10.1145/2133375.2133377
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.