[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PointGuard: It's not the Size of the Buffer, it's the Address ofthe Pointer



This seems topical to today's discussion of buffer overflow defenses:

    "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/