Buffer-Overflow Protection: The Theory
Krerk Piromsopa, Richard J. Enbody · 2006
We propose a framework for protecting against buffer overflow attacks $the oldest and most pervasive attack technique. The malicious nature of buffer-overflow attacks is the use of external data (input) as addresses (or control data). With this observation, we establish a sufficient condition for preventing buffer-overflow attacks and prove that it creates a secure system with respect to buffer-overflow attacks. The underlying concept is that input is untrustworthy, and should not be use as addresses (return addresses and function pointers). If input can be identified, buffer-overflow attacks can be caught. We used this framework to create an effective, hardware, buffer-overflow prevention tool