English

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}
}