CRMar 15, 2021

Return-Oriented Programming on RISC-V

arXiv:2103.08229v17 citations
Originality Highly original
AI Analysis

It addresses security vulnerabilities in RISC-V embedded systems, revealing a novel attack vector that is incremental in extending ROP techniques to a new architecture.

This paper analyzes the feasibility of Return-Oriented Programming (ROP) on RISC-V, demonstrating new gadgets that bypass traditional mitigations like DEP and ASLR, and provides a proof-of-concept attack for privilege escalation on Linux systems.

This paper provides the first analysis on the feasibility of Return-Oriented Programming (ROP) on RISC-V, a new instruction set architecture targeting embedded systems. We show the existence of a new class of gadgets, using several Linear Code Sequences And Jumps (LCSAJ), undetected by current Galileo-based ROP gadget searching tools. We argue that this class of gadgets is rich enough on RISC-V to mount complex ROP attacks, bypassing traditional mitigation like DEP, ASLR, stack canaries, G-Free, as well as some compiler-based backward-edge CFI, by jumping over any guard inserted by a compiler to protect indirect jump instructions. We provide examples of such gadgets, as well as a proof-of-concept ROP chain, using C code injection to leverage a privilege escalation attack on two standard Linux operating systems. Additionally, we discuss some of the required mitigations to prevent such attacks and provide a new ROP gadget finder algorithm that handles this new class of gadgets.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes