Page 1 of 1

interesting

Posted: Mon Apr 16, 2007 10:30 am
by hamei
and it's well past april fool's day ...

http://www-128.ibm.com/developerworks/l ... clnx2.html

Source code reviews

Ken Thompson, one of the original creators of UNIX, discusses in Reflections on trusting trust a number of steps he took that managed to render source code useless for revealing a security issue.

First, he patched the login command to contain a back door that would let him log into any UNIX system with a certain password.

He then patched the C compiler to detect whenever the login command was being compiled. The C compiler would automatically insert the back door into the login program, so there was no need to keep the back door in the source of the login command.

Then, he modified the C compiler to detect when the C compiler itself was compiled from source and to automatically add the login-detection-and-patching code as well as the C-compiler-detection-and-patching code.

The result was a system where the source code did not contain any trace of a backdoor.

Posted: Mon Apr 16, 2007 11:05 am
by kshuff
Neat, now all we need to do is get the password out of him ;)

Re: interesting

Posted: Mon Apr 16, 2007 11:11 am
by nekonoko
hamei wrote:Then, he modified the C compiler to detect when the C compiler itself was compiled from source and to automatically add the login-detection-and-patching code as well as the C-compiler-detection-and-patching code.


So the entire thing falls apart if you switch to another compiler. Obviously not an option back in the day when the entire UNIX tool chain pretty much came from him, but nowadays that would be rough to pull off :)

Posted: Mon Apr 16, 2007 2:03 pm
by VenomousPinecone
Thats pretty cool. I like the concept.

nekonoko wrote:So the entire thing falls apart if you switch to another compiler.


So true, but I would imagine most production linux systems (what TFA was talking aboot) would only have gcc.

Posted: Mon Apr 16, 2007 2:20 pm
by thisoldsgi
VenomousPinecone wrote:So true, but I would imagine most production linux systems (what TFA was talking aboot) would only have gcc.

Actually, the hack described long predates Linux and gcc... these are the old, original Unix systems from pre-breakup AT&T which ran on PDP11's and the like, before 1984. gcc didn't exist until 1987, and Linus Torvalds started working on Linux in 1991.

The entire article by Thomson, "Reflections on Trusting Trust," is here:
http://www.acm.org/classics/sep95/
It's an entertaining read.

Re: interesting

Posted: Mon Jul 09, 2007 6:15 am
by toxygen
actually exactly this trick, but also many others were more deeply described in book Real World Linux Security by bob toxen (this is not an ad :)

Re: interesting

Posted: Wed Aug 08, 2007 4:53 pm
by shyouko
Um... Guess now I should learn how not to trust my brain.

After all, its origin is unknown! :P

Re: interesting

Posted: Sat Dec 15, 2007 10:47 am
by jimmer
shyouko wrote:Um... Guess now I should learn how not to trust my brain.

Sounds like you need to see the Lain anime series again....

:)