二、摘要
随着最近物联网(iot)和嵌入式设备的激增,越来越需要开发一种安全框架来保护这些设备。 risc-v是一种很有前途的开源架构,面向低功耗嵌入式设备和soc。但是,risc-v架构中缺乏实用且低开销的安全解决方案。使用risc-v工具链编译的程序仍然容易受到代码注入和代码重用攻击,例如缓冲区溢出和面向返回的编程(rop)。
在本文中,我们提出了fixer,flow integrity extensions for embedded risc-v,它是risc-v的硬件实现的安全扩展,提供了防御此类攻击的安全机制。 fixer在后向边缘(返回)和前向边缘(调用)上强制执行运行程序的细粒度控制流完整性(cfi),而无需对risc-v处理器内核进行任何体系结构修改。
我们通过利用集成的rocket自定义协处理器(rocc)来检测和防止攻击,在rocketchip(risc-v soc平台)上实现fixer。
我们通过在为测试risc-v架构而提供的一组基准上强制执行它来评估fixer。 修改基准以创建三个版本用于性能比较:(i)没有cfi执行的基线,(ii)基于软件的cfi实施的softcfi,以及(iii)具有基于rocc的cfi保护的fixer。 我们确保除cfi执行代码外,所有三个版本的基准代码保持不变。 我们使用risc-v gnu工具链编译基准测试,无需任何编译器优化,并在zybo fpga板上运行已编译的二进制文件。与现有的基于软件的解决方案相比,fixer在最短的执行时间(1.5%)和面积(2.9%)的开销下将能耗开销降低了60%。
abstract
with the recent proliferation of internet of things (iot) and embedded devices, there is a growing need to develop a security framework to protect such devices. risc-v is a promising open source architecture that targets low-power embedded devices and socs. however, there is a dearth of practical and lowoverhead security solutions in the risc-v architecture. programs compiled using risc-v toolchains are still vulnerable to code injection and code reuse attacks such as buffer overflow and return-oriented programming (rop). in this paper, we propose fixer, a hardware implemented security extension to risc-v that provides a defense mechanism against such attacks. fixer enforces fine-grained control-flow integrity (cfi) of running programs on backward edges (returns) and forward edges (calls) without requiring any architectural modifications to the risc-v processor core. we implement fixer on rocketchip, a risc-v soc platform, by leveraging the integrated rocket custom coprocessor (rocc) to detect and prevent attacks. compared to existing software based solutions, fixer reduces energy overhead by 60% at minimal execution time (1.5%) and area (2.9%) overheads.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【ai食堂】公众号(aistation)。
【ai食堂】的原创内容均由ai食堂的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【ai食堂】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到ai这个领域中,让我们共同为推进中国的ai事业而努力!