Sciweavers

PLDI
2009
ACM

SoftBound: highly compatible and complete spatial memory safety for c

14 years 5 months ago
SoftBound: highly compatible and complete spatial memory safety for c
The serious bugs and security vulnerabilities facilitated by C/C++'s lack of bounds checking are well known, yet C and C++ remain in widespread use. Unfortunately, C's arbitrary pointer arithmetic, conflation of pointers and arrays, and programmer-visible memory layout make retrofitting C/C++ with spatial safety guarantees extremely challenging. Existing approaches suffer from incompleteness, have high runtime overhead, or require non-trivial changes to the C source code. Thus far, these deficiencies have prevented widespread adoption of such techniques. This paper proposes SoftBound, a compile-time transformation for enforcing spatial safety of C. Inspired by HardBound, a previously proposed hardware-assisted approach, SoftBound similarly records base and bound information for every pointer as disjoint metadata. This decoupling enables SoftBound to provide spatial safety without requiring changes to C source code. Unlike HardBound, SoftBound is a software-only approach and ...
Santosh Nagarakatte, Jianzhou Zhao, Milo M. K. Mar
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where PLDI
Authors Santosh Nagarakatte, Jianzhou Zhao, Milo M. K. Martin, Steve Zdancewic
Comments (0)