TY - GEN
T1 - Light-weight bounds checking
AU - Hasabnis, Niranjan
AU - Misra, Ashish
AU - Sekar, R.
PY - 2012
Y1 - 2012
N2 - Memory errors in C and C++ programs continue to be one of the dominant sources of security problems, accounting for over a third of the high severity vulnerabilities reported in 2011. Wide-spread deployment of defenses such as address- space layout randomization (ASLR) have made memory exploit development more difficult, but recent trends indicate that attacks are evolving to overcome this defense. Techniques for systematic detection and blocking of memory errors can provide more comprehensive protection that can stand up to skilled adversaries, but unfortunately, these techniques introduce much higher overheads and provide significantly less compatibility than ASLR. We propose a new memory error detection technique that explores a part of the design space that trades off some ability to detect bounds errors in order to obtain good performance and excellent back- wards compatibility. On the SPECINT 2000 benchmark, the runtime overheads of our technique is about half of that reported by the fastest previous bounds-checking technique. On the compatibility front, our technique has been tested on over 7 million lines of code, which is much larger than that reported for previous bounds-checking Techniques.
AB - Memory errors in C and C++ programs continue to be one of the dominant sources of security problems, accounting for over a third of the high severity vulnerabilities reported in 2011. Wide-spread deployment of defenses such as address- space layout randomization (ASLR) have made memory exploit development more difficult, but recent trends indicate that attacks are evolving to overcome this defense. Techniques for systematic detection and blocking of memory errors can provide more comprehensive protection that can stand up to skilled adversaries, but unfortunately, these techniques introduce much higher overheads and provide significantly less compatibility than ASLR. We propose a new memory error detection technique that explores a part of the design space that trades off some ability to detect bounds errors in order to obtain good performance and excellent back- wards compatibility. On the SPECINT 2000 benchmark, the runtime overheads of our technique is about half of that reported by the fastest previous bounds-checking technique. On the compatibility front, our technique has been tested on over 7 million lines of code, which is much larger than that reported for previous bounds-checking Techniques.
UR - https://www.scopus.com/pages/publications/84863446866
U2 - 10.1145/2259016.2259034
DO - 10.1145/2259016.2259034
M3 - Conference contribution
AN - SCOPUS:84863446866
SN - 9781605586359
T3 - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
SP - 135
EP - 144
BT - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
T2 - 10th International Symposium on Code Generation and Optimization, CGO 2012
Y2 - 31 March 2012 through 4 April 2012
ER -