Methods Summary of methods Provide an unpredictable resource base with minimum permissions random stack gap program segment mapping randomization shared library ASLR, random ordering PIE mmap ASLR increase use of .rodata malloc randomizations Where it is possible to spot damage, fail hard stack protector stackghost atexit / ctor protection etc.