PACSan:基于 ARM PA 强制实施内存安全
密码学与安全
2022-02-09 v1
摘要
内存安全是阻止内存破坏漏洞的一项关键安全属性。现有消毒器(sanitizer)在开发与测试期间实施检查并捕获此类错误。然而,它们要么仅提供部分内存安全,要么带来极高的性能开销。我们的新型消毒器 PACSan 以低性能开销强制实施空间与时间内存安全且无假阳性。PACSan 通过 ARM PA(指针认证)将元数据封装于指针中,并在指针被解引用时执行内存安全检查,从而消除了指针跟踪所涉及的大部分开销。我们已开发 PACSan 原型,并分别在 Magma、Juliet、Nginx 和 SPEC CPU2017 测试套件上系统评估了其安全性与性能。在我们的评估中,PACSan 无假阳性且假阴性可忽略,同时相比包括 HWASan、ASan、SoftBound+CETS、Memcheck、LowFat 和 PTAuth 在内的前沿消毒器提供了更强的安全保证与更低的性能开销。具体而言,PACSan 平均具有 0.84 倍运行时开销与 1.92 倍内存开销。与广泛部署的 ASan 相比,PACSan 无假阳性且假阴性少得多,并降低了 7.172% 的运行时开销与 89.063% 的内存开销。
引用
@article{arxiv.2202.03950,
title = {PACSan: Enforcing Memory Safety Based on ARM PA},
author = {Yuan Li and Wende Tan and Zhizheng Lv and Songtao Yang and Mathias Payer and Ying Liu and Chao Zhang},
journal= {arXiv preprint arXiv:2202.03950},
year = {2022}
}
备注
11 pages