• 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