中文

Capacity:面向现代 ARM 架构的密码学强制进程内能力访问控制(扩展版)

密码学与安全 2023-09-21 v1

摘要

进程内隔离与访问控制已被积极研究,以对进程内安全域提供就地且高效的隔离。许多工作提出了利用硬件特性的隔离方案,最显著的是在 x86 上使用称为用户空间保护密钥(PKU)的基于页的内存隔离新特性。遗憾的是,现代 ARM 架构没有等效特性。相反,较新的 ARM 架构引入了指针认证(PA)和内存标记扩展(MTE),将引用验证模型用于内存安全和运行时漏洞利用缓解。我们认为这些特性在隔离语境下未被充分探索,且可被改造以实现基于能力的进程内访问控制方案。本文提出 Capacity,一种拥抱基于能力安全原则的新型硬件辅助进程内访问控制设计。Capacity 连贯地整合了 ARM 上已展现能力固有特性的新硬件安全特性。它支持对域敏感对象的全生命周期保护——从它们由文件系统导入到置于内存中。通过用唯一 PA 密钥认证的进程内域,Capacity 将文件描述符和内存指针转换为密码学认证的引用,并以其程序插桩框架和高效的系统调用监视器完全中介引用使用。我们评估了启用 Capacity 的 NGINX Web 服务器原型及其他将敏感资源隔离到不同域的常见应用。我们的评估显示,Capacity 在单线程 Web 服务器上引发约 17% 的低性能开销,多线程则为 13.54%。

关键词

引用

@article{arxiv.2309.11151,
  title  = {Capacity: Cryptographically-Enforced In-Process Capabilities for Modern ARM Architectures (Extended Version)},
  author = {Kha Dinh Duy and Kyuwon Cho and Taehyun Noh and Hojoon Lee},
  journal= {arXiv preprint arXiv:2309.11151},
  year   = {2023}
}

备注

Accepted at ACM CCS 2023