RISC- V中面向返回的程序设计
Return-Oriented Programming in RISC-V
摘要:
RISC-V是一种基于RISC设计原则的开源硬件ISA,由于其开源性质,它已经成为一些新的ROP缓解技术提案的主题。然而,很少有工作实际评估这种攻击是否可行,假设一个典型的RISC-V实现。我们展示了RISC-V ROP可用于执行图灵完整计算和任意函数调用,方法是利用GNU libc库版本中的小工具。使用自修改ROP链和算法ROP链生成等技术,我们通过创建一个编译器来展示RISC-V ROP的强大功能,该编译器可以将以流行的图灵完备语言编写的任意复杂度的代码转换为RISC-V ROP链。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。