DocumentCode
2666177
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
fYear
2004
fDate
04-08 Dec. 2004
Firstpage
209
Lastpage
220
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Microarchitecture, 2004. MICRO-37 2004. 37th International Symposium on
ISSN
1072-4451
Print_ISBN
0-7695-2126-6
Type
conf
DOI
10.1109/MICRO.2004.20
Filename
1550995
Link To Document