SGI: Security

interesting

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.
Neat, now all we need to do is get the password out of him ;)

_________________
-ks

:Onyx: :Onyx: :Crimson: :O2000: :Fuel: :Octane: :Octane2: :PI: :Indigo: :Indigo: :O2: :O2: :Indigo2: :Indigo2: :Indigo2IMP: :Indigo2IMP: :0300: :Indy: :Indy: :320: :540: :1600SW: :1600SW: :hpserv:

See them all >here<
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 :)

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.
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.
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.
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 :)

_________________
:Indigo2IMP: :Octane: This post was typed using dvorak keyboard layout - http://www.dvzine.org
Um... Guess now I should learn how not to trust my brain.

After all, its origin is unknown! :P
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....

:)