[common] A hole in the security of a system deliberately left in
place by designers or maintainers. The motivation for such holes is
not always sinister; some operating systems, for example, come out of
the box with privileged accounts intended for use by field service
technicians or the vendor's maintenance programmers. Syn. {trap
door}; may also be called a wormhole. See also {iron box}, {cracker},
{worm}, {logic bomb}.
Historically, back doors have often lurked in systems longer than
anyone expected or planned, and a few have become widely known. Ken
Thompson's 1983 Turing Award lecture to the ACM admitted the
existence of a back door in early Unix versions that may have
qualified as the most fiendishly clever security hack of all time. In
this scheme, the C compiler contained code that would recognize when
the login command was being recompiled and insert some code
recognizing a password chosen by Thompson, giving him entry to the
system whether or not an account had been created for him.
Normally such a back door could be removed by removing it from the
source code for the compiler and recompiling the compiler. But to
recompile the compiler, you have to use the compiler -- so Thompson
also arranged that the compiler would recognize when it was compiling
a version of itself, and insert into the recompiled compiler the code
to insert into the recompiled login the code to allow Thompson entry
-- and, of course, the code to recognize itself and do the whole
thing again the next time around! And having done this once, he was
then able to recompile the compiler from the original sources; the
hack perpetuated itself invisibly, leaving the back door in place and
active but with no trace in the sources.
The Turing lecture that reported this truly moby hack was later
published as "Reflections on Trusting Trust", Communications of the
ACM 27, 8 (August 1984), pp. 761--763 (text available at
http://www.acm.org/classics/). Ken Thompson has since confirmed that
this hack was implemented and that the Trojan Horse code did appear
in the login binary of a Unix Support group machine. Ken says the
crocked compiler was never distributed. Your editor has heard two
separate reports that suggest that the crocked login did make it out
of Bell Labs, notably to BBN, and that it enabled at least one
late-night login across the network by someone using the login name
"kt".
[glossary]
[Reference(s) to this entry by made by: {iron box}{logic bomb}{spyware}{trap door}{Trojan horse}{Unix conspiracy}{virus}]