|
|
|
LibsafeXP: A Practical and Transparent Tool for Run-time Buffer Overflow PreventionsZhiqiang Lin, Bing Mao and Li XieThe 7th IEEE Information Assurance Workshop (IAWorkshop 2006)West Point, New York, USA, June 21-23, 2006
AbstractThis paper presents a practical tool, LibsafeXP, to protect the software against the most common and severe attack, buffer overflows. As a dynamic shared library and an extension to Libsafe and LibsafePlus, LibsafeXP contains wrapper functions for all the buffer related functions in C Standard Library. These wrapper functions are enforced to check the source and target buffer's size using the following information: global buffer knowledge extracted from program symbol information, heap buffer knowledge by intercepting memory allocation family functions, and stack buffer bound information by dynamically determined from the frame pointer. Compared with other approaches, LibsafeXP is more transparent to programs: it works on binary mode, and neither requires the source code nor any debugging information. The performance and effectiveness evaluation indicates LibsafeXP could be used to defend against buffer overflow attacks and imposes only about 10 percent overhead on average.
|
|