In-fat pointer: hardware-assisted tagged-pointer spatial memory safety defense with subobject granularity protection
Shengjie Xu, Wei Huang, David Lie
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.
Topics & Concepts
Computer sciencePointer (user interface)Memory safetyPointer analysisMemory protectionProgramming languageGranularityOperating systemStatic analysisMemory managementSoftwareComputer hardwareVirtual memoryOverlaySecurity and Verification in ComputingDiamond and Carbon-based Materials ResearchRadiation Effects in Electronics