Title :
Hardware and Binary Modification Support for Code Pointer Protection From Buffer Overflow
Author :
Tuck, Nathan ; Calder, Brad ; Varghese, George
Author_Institution :
University of California, San Diego
Abstract :
Buffer overflow vulnerabilities are currently the most prevalent security vulnerability; they are responsible for over half of the CERT advisories issued in the last three years. Since many attacks exploit buffer overflow vulnerabilities, techniques that prevent buffer overflow attacks would greatly increase the difficulty of writing a new worm. This paper examines both software and hardware solutions for protecting code pointers from buffer overflow attacks. We first evaluate the performance overhead of the existing Point-Guard software solution for protecting code pointers, and show that it can be applied using binary modification to protect return pointers on the stack. These software techniques guard against write attacks, but not read attacks, where an attacker is attempting to gain information about the pointer protection mechanism in order to later mount a write buffer attack. To address this, we examine encryption hardware to provide security for code pointers from read and write attacks. In addition, we show that pure software solutions can degrade program performance, and the light-weight encryption hardware techniques we examine can be used to provide protection with little performance overhead.
Keywords :
Buffer overflow; Computer science; Computer security; Computer worms; Costs; Cryptography; Hardware; Protection; Software performance; Writing;
Conference_Titel :
Microarchitecture, 2004. MICRO-37 2004. 37th International Symposium on
Print_ISBN :
0-7695-2126-6
DOI :
10.1109/MICRO.2004.20