arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2103.08229cs.CR
收藏

基于RISC- V的面向返回编程

Return-Oriented Programming on RISC-V

Georges-Axel Jaloyan, Konstantinos Markantonakis, Raja Naeem Akram, David Robin, Keith Mayes, David Naccache

摘要:

本文首次分析了面向返回的编程(ROP)在RISC-V上的可行性,RISC-V是一种面向嵌入式系统的新型指令集体系结构。我们展示了一类新的小工具的存在,使用几个线性代码序列和跳跃(LCSAJ),未检测到当前基于伽利略的ROP小工具搜索工具。我们认为,这类小工具在RISC-V上足够丰富,可以安装复杂的ROP攻击,绕过传统的缓解措施,如DEP,ASLR,堆栈金丝雀,G-Free,以及一些基于编译器的后向边缘CFI,通过跳过编译器插入的任何保护来保护间接跳转指令。我们提供了这样的小工具的例子,以及一个概念验证的ROP链,使用C代码注入利用两个标准的Linux操作系统上的特权提升攻击。此外,我们讨论了一些必要的缓解措施,以防止这种攻击,并提供了一个新的ROP小工具查找器算法,处理这类新的小工具。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑