Re: A notion

From: Russell Coker <russell_at_coker.com.au>
Date: Tue, 2 Oct 2001 14:05:24 +0200


On Tue, 2 Oct 2001 10:42, Justin R. Smith wrote:
> It occurred to me that custom versions of software can be more secure
> than standard versions because various exploits (like stack smashing,
> etc.) require precise knowledge of certain sizes and distances in RAM
> (for instance, the distance from the end of a buffer to the return
> point...).
>
> Isn't it possible to develop a "randomizing C compiler" that randomly
> varies these distances every time it compiles a program? No two compiles
> of the same source code would be exactly the same (but they would
> execute the same way).

I have a better idea. Use such a compiler for testing your code. If the program you are testing doesn't behave the same way in different compiles (a large proportion of programs won't because they are buggy) then you debug it!

Many times I have seen companies ship code compiled in debugging mode because optimising mode of the compiler resulting in SEGV's. Naturally they assumed it was a bug in the compiler not a bug in their code. :(

As someone else mentioned there are a number of options for trying to make it more difficult to smash stacks, including a kernel patch from Solar Designer.

-- 
http://www.coker.com.au/bonnie++/     Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/       Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/     My home page


--
You have received this message because you are subscribed to the selinux list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
Received on Tue 2 Oct 2001 - 11:23:27 EDT

This archive was generated by hypermail 2.2.0 on Wed 11 Jun 2008 - 08:10:26 EDT