Repairing return address stack for buffer overflow protection

Yong Joon Park, Gyungho Lee

Research output: Chapter in Book/Report/Conference proceedingConference contribution

12 Citations (Scopus)


Although many defense mechanisms against buffer overflow attacks have been proposed, buffer overflow vulnerability in software is still one of the most prevalent vulnerabilities exploited. This paper proposes a micro-architecture based defense mechanism against buffer overflow attacks. As buffer overflow attack leads to a compromised return address, our approach is to provide a software transparent micro-architectural support for return address integrity checking. By keeping an uncompromised copy of the return address separate from the activation record in run-time stack, the return address compromised by a buffer overflow attack can be detected at run time. Since extra copies of return addresses are already found in the return address stack (RAS) for return address prediction in most high-performance microprocessors, this paper considers augmenting the RAS in speculative superscalar processors for return address integrity checking. The new mechanism provides 100% accurate return address prediction as well as integrity checking for return addresses. Hence, it enhances system performance in addition to preventing a buffer overflow attack.

Original languageEnglish
Title of host publication2004 Computing Frontiers Conference
PublisherAssociation for Computing Machinery
Number of pages8
ISBN (Print)1581137419, 9781581137415
Publication statusPublished - 2004
Event2004 Computing Frontiers Conference - Ischia, Italy
Duration: 2004 Apr 142004 Apr 16

Publication series

Name2004 Computing Frontiers Conference


Other2004 Computing Frontiers Conference


  • Buffer overflow
  • Computer architecture
  • Computer security
  • Intrusion tolerance

ASJC Scopus subject areas

  • General Engineering


Dive into the research topics of 'Repairing return address stack for buffer overflow protection'. Together they form a unique fingerprint.

Cite this