"PointGuard: Protecting Pointers From Buffer Overflow Vulnerabilities". Crispin Cowan, Steve Beattie, John Johansen and Perry Wagle. To appear at the 12^th USENIX Security Symposium <http://www.usenix.org/events/sec03/>, Washington DC, August 4-8, 2003. Paper <http://immunix.com/%7Ecrispin/pointguard_usenix_security2003.pdf> and Talk <http://immunix.com/%7Ecrispin/pointguard_usenix_security2003.ppt>.
PointGuard^TM : Protecting Pointers From Buffer Overflow Vulnerabilities Crispin Cowan, Steve Beattie, John Johansen and Perry Wagle Immunix, Inc.
Despite numerous security technologies crafted to resist buffer overflow vulnerabilities, buffer overflows continue to be the dominant form of software security vulnerability. This is because most buffer overflow defenses provide only partial coverage, and the attacks have adapted to exploit problems that are not well-defended, such as heap overflows. This paper presents PointGuard, a compiler technique to defend against most kinds of buffer overflows by encrypting pointers when stored in memory, and decrypting them only when loaded into CPU registers. We describe the PointGuard implementation, show that PointGuard s overhead is low when protecting real security-sensitive applications such as OpenSSL, and show that PointGuard is effective in defending against buffer overflow vulnerabilities that are not blocked by previous defenses.
Thanks to Snax and the Shmoo for a better tag line: It's not the Size of the Buffer, it's the Address of the Pointer
Crispin
-- Crispin Cowan, Ph.D. http://immunix.com/~crispin/ Chief Scientist, Immunix http://immunix.com http://www.immunix.com/shop/