Buffer
Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle.
http://sfsecurity.pr.erau.edu.
Language tools – “Safe” buffers
•Example: C++ class objects that do bounds
checking like CString, or “limitless” strings like libmib
•Pros:
–Much safer than standard string handling in C
–Exceptions can be handled instead of a program halt
•Cons:
–Require the use of different library functions, meaning
that existing code has to be modified or
interfaced with in a low-level way
–A “limitless” string has to continually be reallocated
meaning a bigger heap and a performance
cost
–What if you don’t want the buffer to grow and accept a
bigger input?