The DOI matches its Crossref record.
When good instructions go bad: generalizing return-oriented programming to RISC
Abstract
This paper reconsiders the threat posed by Shacham's -- a technique by which W-xor-X-style hardware protections are evaded via carefully crafted stack frames that divert control flow into the middle of existing variable-length x86 instructions -- creating short new instructions streams that then return. We believe this attack is both more general and a greater threat than the author appreciated. In fact, the vulnerability is not limited to the x86 architecture or any particular operating system, is readily exploitable, and bypasses an entire category of malware protections. In this paper we demonstrate general return-oriented programming on the SPARC, a fixed instruction length RISC architecture with structured control flow. We construct a Turing-complete library of code gadgets using snippets of the Solaris libc, a general purpose programming language, and a compiler for constructing return-oriented exploits. Finally, we argue that the threat posed by return-oriented programming, across all architectures and systems, has negative implications for an entire class of security mechanisms: those that seek to prevent malicious computation by preventing the execution of malicious code.
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
ROPecker: A Generic and Practical Approach For Defending Against ROP Attacks
Cheng, Y., Zhou, Z., Yu, M., Ding, X., & Deng, R. H. (2014) · Proceedings 2014 Network and Distributed System Security Symposium · doi:10.14722/ndss.2014.23156 · Cited by 279
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
Hiser, J., Nguyen-Tuong, A., Co, M., Hall, M., & Davidson, J. W. (2012) · 2012 IEEE Symposium on Security and Privacy · doi:10.1109/sp.2012.39 · Cited by 256
Metadata
- Authors
- Buchanan, E., Roemer, R., Shacham, H., & Savage, S.
- Venue
- Proceedings of the 15th ACM conference on Computer and communications security
- Publisher
- ACM
- Published
- 2008-10-27
- Pages
- 27-38
- ISSN
- 1543-7221 (ISSN-L)
- OpenAlex
- W2099382052
- Cited by
- 362
- References
- 0
- FWCI
- 17.62
- Type
- conference paper
- 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: When good instructions go bad: generalizing return-oriented programming to RISC. https://app.cochat.ai/papers/10.1145/1455770.1455776
- The paper
- Buchanan, E., Roemer, R., Shacham, H., & Savage, S. (2008). When good instructions go bad: generalizing return-oriented programming to RISC. Proceedings of the 15th ACM conference on Computer and communications security. https://doi.org/10.1145/1455770.1455776
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.