— summary, paper, security — 1 min read
Author: Ken Thompson
Date: 1984
Link: PDF
To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.
login
program.1compile (code)2{3 /* If the code we're compiling is code for the Unix login command */4 if (match (code, login_code_pattern))5 {6 compile (backdoor);7 return;8 }910 /* If the code we're compiling is similar to the compiler source code */11 if (match (code, compiler_code_pattern))12 {13 compile (compiler_code_with_both_if_statements_inserted);14 return;15 }1617 else18 {19 /* Do regular compilation things */20 ...21 }22}