paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Cornucopia Reloaded: Load Barriers for CHERI Heap Temporal Safety

Cornucopia Reloaded:面向 CHERI 堆时序安全的加载屏障
ASPLOS Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 22024匹配度 1/10 · 该论文属于体系结构和运行时内存安全方向,研究 CHERI 能力架构上的堆时序安全与加载屏障,不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析。虽然与编程语言和形式化内存安全有微弱关联,但不在用户当前研究画像的核心范围内。引用 29 inbox
Nathaniel Wesley Filardo, Brett F. Gutstein, Jonathan Woodruff, Jessica Clarke, Peter Rugg, Brooks Davis, Mark Johnston, Robert Norton, David Chisnall, Simon W. Moore, Peter G. Neumann, Robert N. M. Watson
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出基于逐页能力加载屏障的 CHERI 堆时序安全实现,消除撤销时的全局停顿。

针对 C/C++ 的 use-after-free 等时序内存安全违规,CHERI 能力架构此前已提供空间内存安全,CHERIvoke 与 Cornucopia 进一步探索堆时序安全,但 Cornucopia 的 stop-the-world 暂停不实用。本文提出 Cornucopia Reloaded,利用 Arm Morello 与 CHERI-RISC-V 新增的逐页能力加载屏障,重新设计可替换实现,几乎消除应用停顿。在 Morello 上用 CHERI 兼容 SPEC CPU2006 INT、pgbench 和 gRPC QPS 评估:应用不再经历显著的撤销引发全局停顿,且不增加墙钟或 CPU 时间;DRAM 流量开销在 SPEC 中位数为 Cornucopia 的 87%,pgbench 低于 50%。

问题
如何为 CHERI 堆时序安全(撤销 use-after-free 指针)提供实用实现,避免 Cornucopia 中影响交互应用的 stop-the-world 暂停。
方法
利用 Arm Morello 和 CHERI-RISC-V 新增的逐页能力加载屏障,重新设计 Cornucopia 的堆撤销机制,作为可直接替换的实现。
评估
在 Morello 上用 CHERI 兼容 SPEC CPU2006 INT、pgbench 与 gRPC QPS 进行性能评估;结果显示暂停几乎消除,且相对 Cornucopia 无额外墙钟或 CPU 时间,DRAM 流量开销更低。
原文摘要(Abstract)

Violations of temporal memory safety ("use after free", "UAF") continue to pose a significant threat to software security. The CHERI capability architecture has shown promise as a technology for C and C++ language reference integrity and spatial memory safety. Building atop CHERI, prior works - CHERIvoke and Cornucopia - have explored adding heap temporal safety. The most pressing limitation of Cornucopia was its impractical "stop-the-world" pause times. We present Cornucopia Reloaded, a re-designed drop-in replacement implementation of CHERI temporal safety, using a novel architectural feature - a per-page capability load barrier, added in Arm's Morello prototype CPU and CHERI-RISC-V - to nearly eliminate application pauses. We analyze the performance of Reloaded as well as Cornucopia and CHERIvoke on Morello, using the CHERI-compatible SPEC CPU2006 INT workloads to assess its impact on batch workloads and using pgbench and gRPC QPS as surrogate interactive workloads. Under Reloaded, applications no longer experience significant revocation-induced stop-the-world periods, without additional wall- or CPU-time cost over Cornucopia and with median 87% of Cornucopia's DRAM traffic overheads across SPEC CPU2006 and < 50% for pgbench.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{FilardoGW0RDJNC24,
  title = {Cornucopia Reloaded: Load Barriers for CHERI Heap Temporal Safety},
  author = {Nathaniel Wesley Filardo and Brett F. Gutstein and Jonathan Woodruff and Jessica Clarke and Peter Rugg and Brooks Davis and Mark Johnston and Robert Norton and David Chisnall and Simon W. Moore and Peter G. Neumann and Robert N. M. Watson},
  booktitle = {ASPLOS},
  year = {2024},
  doi = {10.1145/3620665.3640416}
}