一句话:提出 In-fat pointer,一种硬件辅助的带标签指针机制,以子对象粒度防护 C/C++ 空间内存安全。
C/C++ 通过底层指针操作给予程序员灵活性,但也因此不是内存安全的:解引用超出对应对象合法地址范围的指针会导致空间内存安全错误乃至安全漏洞。已有防护方案难以同时具备低性能开销、与遗留代码兼容以及对所有对象和子对象的全面保护。本文提出 In-fat pointer,一种硬件辅助的带标签指针空间内存安全防御方案,并把保护粒度提升到子对象级别。摘要未给出具体实现与实验结果,但该工作的目标是在上述三个维度上弥补现有方案的不足。
Programming languages like C and C++ are not memory-safe because they provide programmers with low-level pointer manipulation primitives. The incorrect use of these primitives can result in bugs and security vulnerabilities: for example, spatial memory safety errors can be caused by dereferencing pointers outside the legitimate address range belonging to the corresponding object. While a range of schemes to provide protection against these vulnerabilities have been proposed, they all suffer from the lack of one or more of low performance overhead, compatibility with legacy code, or comprehensive protection for all objects and subobjects.
@inproceedings{paperbot6138,
title = {In-fat pointer: hardware-assisted tagged-pointer spatial memory safety defense with subobject granularity protection},
author = {Shengjie Xu and Wei Huang and David Lie},
booktitle = {ASPLOS},
year = {2021},
doi = {10.1145/3445814.3446761}
}