中文

RISC-V 上的面向返回编程

密码学与安全 2021-03-16 v1

摘要

本文首次分析了面向返回编程(ROP)在新指令集架构 RISC-V(面向嵌入式系统)上的可行性。我们展示了一类新型 gadget 的存在,其利用若干线性代码序列与跳转(LCSAJ),未被当前基于 Galileo 的 ROP gadget 搜索工具检出。我们论证该类 gadget 在 RISC-V 上足够丰富以发起复杂 ROP 攻击,通过跳过编译器插入以保护间接跳转指令的任何守卫,绕过传统缓解措施如 DEP、ASLR、栈 canary、G-Free 以及一些基于编译器的后向边 CFI。我们提供了此类 gadget 的示例,以及概念验证 ROP 链,利用 C 代码注入在两种标准 Linux 操作系统上实施权限提升攻击。此外,我们讨论了一些防范此类攻击所需的缓解措施,并提供了一种处理该类新型 gadget 的新 ROP gadget 查找算法。

关键词

引用

@article{arxiv.2103.08229,
  title  = {Return-Oriented Programming on RISC-V},
  author = {Georges-Axel Jaloyan and Konstantinos Markantonakis and Raja Naeem Akram and David Robin and Keith Mayes and David Naccache},
  journal= {arXiv preprint arXiv:2103.08229},
  year   = {2021}
}

备注

27 pages, 8 figures, originally published at AsiaCCS 2020