In-fat pointer: Hardware-assisted tagged-pointer spatial memory safety defense with subobject granularity protection

21Citations
Citations of this article
27Readers
Mendeley users who have this article in their library.

Abstract

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. We present In-Fat Pointer, the first hardware-assisted defense that can achieve spatial memory safety at subobject granularity while maintaining compatibility with legacy code and low overhead. In-Fat Pointer improves the protection granularity of tagged-pointer schemes using object metadata, which is efficient and binary-compatible for object-bound spatial safety. Unlike previous work that devotes all pointer tag bits to object metadata lookup, In-Fat Pointer uses three complementary object metadata schemes to reduce the number pointer tag bits needed for metadata lookup, allowing it to use the left-over bits, along with in-memory type metadata, to refine the object bounds to subobject granularity. We show that this approach provides practical protection of fine-grained spatial memory safety.

Cite

CITATION STYLE

APA

Xu, S., Huang, W., & Lie, D. (2021). In-fat pointer: Hardware-assisted tagged-pointer spatial memory safety defense with subobject granularity protection. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 224–240). Association for Computing Machinery. https://doi.org/10.1145/3445814.3446761

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free