Visible to the public Heap Bounds Protection with Low Fat Pointers

TitleHeap Bounds Protection with Low Fat Pointers
Publication TypeConference Paper
Year of Publication2016
AuthorsDuck, Gregory J., Yap, Roland H. C.
Conference NameProceedings of the 25th International Conference on Compiler Construction
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4241-4
KeywordsBuffer overflows, low-fat pointers, memory safety, Metrics, pubcrawl, Resiliency, scalabilty, Securing Compilers
Abstract

Heap buffer overflow (underflow) errors are a common source of security vulnerabilities. One prevention mechanism is to add object bounds meta information and to instrument the program with explicit bounds checks for all memory access. The so-called "fat pointers" approach is one method for maintaining and propagating the meta information where native machine pointers are replaced with "fat" objects that explicitly store object bounds. Another approach is "low fat pointers", which encodes meta information within a native pointer itself, eliminating space overheads and also code compatibility issues. This paper presents a new low-fat pointer encoding that is fully compatible with existing libraries (e.g. pre-compiled libraries unaware of the encoding) and standard hardware (e.g. x86\_64). We show that our approach has very low memory overhead, and competitive with existing state-of-the-art bounds instrumentation solutions.

URLhttp://doi.acm.org/10.1145/2892208.2892212
DOI10.1145/2892208.2892212
Citation Keyduck_heap_2016