You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Brian Behlendorf <br...@organic.com> on 1997/12/19 09:01:12 UTC

StackGuard: Automatic Protection From Stack-smashing Attacks

>Approved-By: aleph1@UNDERGROUND.ORG
>X-Mailer: ELM [version 2.4 PL24]
>Date: 	Thu, 18 Dec 1997 21:34:39 -0800
>Reply-To: Crispin Cowan <cr...@CSE.OGI.EDU>
>Sender: Bugtraq List <BU...@NETSPACE.ORG>
>From: Crispin Cowan <cr...@CSE.OGI.EDU>
>Subject:      StackGuard: Automatic Protection From Stack-smashing Attacks
>X-To:         tlunt@darpa.mil, immunix@cse.ogi.edu
>To: BUGTRAQ@NETSPACE.ORG
>
>StackGuard: Automatic Detection and Prevention of Buffer-Overflow Attacks
>
>StackGuard provides a systematic solution to the persistent problem of
>buffer overflow attacks.  Buffer overflow attacks gained notoriety in
>1988 as  art of the Morris Worm incident on the Internet.  While it is
>fairly simple to fix individual buffer overflow vulnerabilities, buffer
>overflow attacks  continue to this day.  Hundreds of attacks have been
>discovered, and while most of the obvious vulnerabilities have now been
>patched, more sophisticated buffer overflow attacks continue to emerge.
>
>StackGuard is a simple compiler technique that virtually eliminates
>buffer overflow vulnerabilities with only modest performance penalties.
>Privileged programs that are recompiled with the StackGuard compiler
>extension no longer yield control to the attacker, but rather enter
>fail-safe state.  These programs require no source code changes at all,
>and are binary-compatible with existing operating systems and libraries.
>
>StackGuard is intended to protect buggy software against stack smashing
>attacks, even those attacks that have not yet been discovered.  For
>instance, even though StackGuard was developed prior to the public
>announcement Samba stack smashing vulnerability, the same vulnerable
>Samba code when compiled with StackGuard protection was not vulnerable
>to the attack.
>
>A paper describing StackGuard will appear in the 1998 USENIX Security
>Conference.  A pre-print of the paper is available (postscript and
>HTML) here:
>
>http://www.cse.ogi.edu/DISC/projects/immunix/StackGuard/
>
>Source for the StackGuard-enhanced gcc is also here.  This software is
>available under the usual GPL (GNU Public License) rules.  Security people
>are invited to download and evaluate StackGuard.
>
>StackGuard may be of particular interest to system administrators
>seeking to protect their hosts from attack.  The compiler is very stable;
>for instance, a StackGuard-enhanced gcc can compile itself correctly.
>Programs compiled with StackGuard should both compile and link without
>complaint.  However, since this is a first release of StackGuard, I
>still recommend that privileged software be kept up to date with respect
>to security announcements.
>
>I am very interested in feedback on StackGuard.  Naturally, all the usual
>feedback is requested (bugs, security vulnerabilities, comments on the
>design, etc.).  Of *particular* interest is any alarms that StackGuard
>sets off:  if someone attempts to apply a stack-smashing attack to
>a StackGuard-protected program, the program will halt with an error
>message instead of yielding a root shell.  This message *may* indicate
>the discovery of a new stack-smashing vulnerability:  please report it
>both to me.  If your version of the program is current, then you may
>also wish to report the problem to the author of the program in question.
>
>I wish to thank the many contributors to the BUGTRAQ mailing list.  The
>background information provided by BUGTRAQ was invaluable to this
>research.  I am aware that there are other stack smashing solutions,
>and they are described and cited in the paper.
>
>Crispin
>-----
>Crispin Cowan, Research Assistant Professor of Computer Science
>Oregon Graduate Institute      | Electronically:
>Department of Computer Science | analog:  503-690-1265
>PO Box 91000                   | digital: crispin@cse.ogi.edu
>Portland, OR 97291-1000        | URL:     http://www.cse.ogi.edu/~crispin/
>                Knowledge is to Wisdom as Data is to Code
>
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
specialization is for insects				   brian@organic.com