Secure Rewind and Discard on ARM Morello

2024年07月05日
  • 简介
    C和C++等内存不安全的编程语言是系统编程、嵌入式系统和性能关键应用的首选语言。这些语言的广泛使用使得内存相关攻击的风险非常高。虽然已有众所周知的检测机制,但它们不能解决软件韧性的问题。早期的一种方法提出了安全域重置和丢弃(SDRaD)隔离域作为一种方法,以增强基于x86架构的运行时攻击目标软件的韧性,基于硬件强制执行的内存保护键(MPK)。在这项工作中,SDRaD已经被适应到Capability Hardware Enhanced RISC Instructions(CHERI)架构中,以使其更轻量级和高效。本论文所得的结果表明,基于CHERI架构的内存安全属性的CHERI-SDRaD原型适应解决方案的性能降低较少(在Nginx基准测试中降低了2.2%),与在基于英特尔的架构上使用原始SDRaD原型所得到的结果相比。适应到CHERI还允许解决基于MPK的方法固有的限制。
  • 图表
  • 解决问题
    解决问题:论文旨在解决使用C和C++等内存不安全的编程语言进行系统编程、嵌入式系统和性能关键应用程序时,由于内存相关攻击风险高而导致的软件鲁棒性问题。
  • 关键思路
    关键思路:论文提出了一种基于Capability Hardware Enhanced RISC Instructions (CHERI)架构的Secure Domain Rewind and Discard (SDRaD)方法,以提高软件的鲁棒性。相比于先前的SDRaD原型方案,CHERI-SDRaD利用了CHERI架构固有的内存安全性能,性能下降更小(在Nginx基准测试中仅降低了2.2%),并且解决了MPK方法的局限性。
  • 其它亮点
    其他亮点:论文设计了实验,使用了Nginx基准测试,证明了CHERI-SDRaD方法的有效性。论文还提供了开源代码。值得进一步研究的是,最近在这个领域中还有其他相关的研究,如《Mitigating Memory Safety Issues in C Programs Using Hardware-assisted Address Sanitizer》。
  • 相关研究
    相关研究:《Mitigating Memory Safety Issues in C Programs Using Hardware-assisted Address Sanitizer》。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论