论文标题

PTAUTH:通过强大的点对身份验证的时间记忆安全

PTAuth: Temporal Memory Safety via Robust Points-to Authentication

论文作者

Farkhani, Reza Mirzazade, Ahmadi, Mansour, Lu, Long

论文摘要

时间内存损坏通常是被利用的软件漏洞,可能导致强大的攻击。尽管数十年来对缓解技术的研究取得了重大进展,但由于覆盖范围有限或高度高的开销,现有的对策缺乏。此外,它们需要外部机制(例如,空间记忆安全)来保护其元数据。否则,可以绕过或禁用它们的保护。为了解决这些局限性,我们提出了可靠的点验证,这是一种用于检测各种时间内存损坏的新型运行时方案。我们构建了一个名为PTAUTH的原型系统,该系统在ARM体系结构上实现了该方案。 PTAUTH包含用于代码分析和仪器的自定义编译器,以及用于执行Points-to Perionation的运行时库作为受保护的程序运行。 PTAUTH利用了由ARMV8.3及以后的CPU提供的指针身份验证代码(PAC)功能,该功能是简单的基于硬件的加密原始性。 Ptauth使用最小的内存中元数据并保护其元数据而无需空间记忆安全。我们使用Juliet Test Suite和Spec CPU2006基准的150个弱势计划在安全性,鲁棒性和性能方面报告了对PTAUTH的评估。 PTAUTH检测所有三类基于堆的时间内存损坏,生成零错误警报,并将程序执行减少26%(根据软件emparted PAC测量了该数字;使用基于硬件的PAC时,该数字预计将减少到20%)。我们还表明,由于有效使用元数据,PTAUTH会导致2%的内存开销。

Temporal memory corruptions are commonly exploited software vulnerabilities that can lead to powerful attacks. Despite significant progress made by decades of research on mitigation techniques, existing countermeasures fall short due to either limited coverage or overly high overhead. Furthermore, they require external mechanisms (e.g., spatial memory safety) to protect their metadata. Otherwise, their protection can be bypassed or disabled. To address these limitations, we present robust points-to authentication, a novel runtime scheme for detecting all kinds of temporal memory corruptions. We built a prototype system, called PTAuth, that realizes this scheme on ARM architectures. PTAuth contains a customized compiler for code analysis and instrumentation and a runtime library for performing the points-to authentication as a protected program runs. PTAuth leverages the Pointer Authentication Code (PAC) feature, provided by the ARMv8.3 and later CPUs, which serves as a simple hardware-based encryption primitive. PTAuth uses minimal in-memory metadata and protects its metadata without requiring spatial memory safety. We report our evaluation of PTAuth in terms of security, robustness and performance using 150 vulnerable programs from Juliet test suite and the SPEC CPU2006 benchmarks. PTAuth detects all three categories of heap-based temporal memory corruptions, generates zero false alerts, and slows down program execution by 26% (this number was measured based on software-emulated PAC; it is expected to decrease to 20% when using hardware-based PAC). We also show that PTAuth incurs 2% memory overhead thanks to the efficient use of metadata.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源