DocumentCode
1165525
Title
SmashGuard: A Hardware Solution to Prevent Security Attacks on the Function Return Address
Author
Özdoganoglu, Hilmi ; Vijaykumar, T.N. ; Brodley, Carla E. ; Kuperman, Benjamin A. ; Jalote, Ankit
Author_Institution
Sch. of Electr. & Comput. Eng., Purdue Univ.
Volume
55
Issue
10
fYear
2006
Firstpage
1271
Lastpage
1285
Abstract
A buffer overflow attack is perhaps the most common attack used to compromise the security of a host. This attack can be used to change the function return address and redirect execution to the attacker´s code. We present a hardware-based solution, called SmashGuard, to protect against all known forms of attack on the function return addresses stored on the program stack. With each function call instruction, the current return address is pushed onto a hardware stack. A return instruction compares its address to the return address from the top of the hardware stack. An exception is raised to signal the mismatch. Because the stack operations and checks are done in hardware in parallel with the usual execution of instructions, our best-performing implementation scheme has virtually no performance overhead (because we are modifying hardware, it is impossible to guarantee zero overhead without an actual hardware implementation). While previous software-based approaches´ average performance degradation for the SPEC2000 benchmarks is only 2.8 percent, their worst-case degradation is up to 8.3 percent. Apart from the lack of robustness in performance, the software approaches´ key disadvantages are less security coverage and the need for recompilation of applications. SmashGuard, on the other hand, is secure and does not require recompilation of applications
Keywords
buffer storage; computer architecture; security of data; SmashGuard hardware-based solution; buffer overflow attack; function call instruction; function return address; hardware stack; security attack; Application software; Buffer overflow; Computer worms; Degradation; Hardware; Protection; Robustness; Security; Software performance; Storage area networks; Buffer overflow; function return address; hardware stack.;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2006.166
Filename
1683758
Link To Document