CS38, Security and Privacy, Spring 2005


A number of "hackish" methods have been suggested to raise the difficulty bar for exploiting memory overwriting vulnerabilites. Here is a short list of papers on the topic. While these measures do not solve the fundamental problem, they alleviate it by discouraging simple exploits.

Stack protection schemes (require recompiling binaries with a patched compiler.

Wikipedia entry provides a good short summary: http://en.wikipedia.org/wiki/Stack-smashing_protection

Randomization techniques

As far as I know, the first popular OS to include randomization of library and executable loading addresses in "production quality" was OpenBSD. Several Linux kernel patches implement this as well, most notably the PaX project and OpenWall.

Survey papers:


Back to Dartmouth CS Home Page     Sergey Bratus