Detecting heap smashing attacks through fault containment wrappers

Christof Fetzer,Zhen Xiao
DOI: https://doi.org/10.1109/RELDIS.2001.969756
2001-01-01
Abstract:Buffer overflow attacks are a major cause of secu- rity breaches in modern operating systems. Not only are overflows of buffers on the stack a security threat, over- flows of buffers kept on the heap can be too. A mali- cious user might be able to hijack the control flow of a root-privileged program if the user can initiate an over- flow of a buffer on the heap when this overflow over- writes a function pointer stored on the heap. This paper presents a fault-containment wrapper which provides ef- fective and efficient protection against heap buffer over- flows caused by C library functions. The wrapper inter- cepts every function call to the C library that can write to the heap and performs careful boundary checks before it calls the original function. This method is transparent to existing programs and does not require source code modification or recompilation. Experimental results on Linux machines indicate that the performance overhead is small.
What problem does this paper attempt to address?