Return-Oriented Programming in RISC-V
Cryptography and Security
2020-07-31 v1
Abstract
RISC-V is an open-source hardware ISA based on the RISC design principles, and has been the subject of some novel ROP mitigation technique proposals due to its open-source nature. However, very little work has actually evaluated whether such an attack is feasible assuming a typical RISC-V implementation. We show that RISC-V ROP can be used to perform Turing complete calculation and arbitrary function calls by leveraging gadgets found in a version of the GNU libc library. Using techniques such as self-modifying ROP chains and algorithmic ROP chain generation, we demonstrate the power of RISC-V ROP by creating a compiler that converts code of arbitrary complexity written in a popular Turing-complete language into RISC-V ROP chains.
Cite
@article{arxiv.2007.14995,
title = {Return-Oriented Programming in RISC-V},
author = {Garrett Gu and Hovav Shacham},
journal= {arXiv preprint arXiv:2007.14995},
year = {2020}
}