Fully Countering Trusting Trust through Diverse Double-Compiling

dc.contributor.authorWheeler, David A.
dc.creatorWheeler, David A.
dc.date2009-12-02
dc.date.accessioned2010-01-11T19:13:24Z
dc.date.availableNO_RESTRICTION
dc.date.available2010-01-11T19:13:24Z
dc.date.issued2010-01-11T19:13:24Z
dc.description.abstractAn Air Force evaluation of Multics, and Ken Thompson’s Turing award lecture (“Reflections on Trusting Trust”), showed that compilers can be subverted to insert malicious Trojan horses into critical software, including themselves. If this “trusting trust” attack goes undetected, even complete analysis of a system’s source code will not find the malicious code that is running. Previously-known countermeasures have been grossly inadequate. If this attack cannot be countered, attackers can quietly subvert entire classes of computer systems, gaining complete control over financial, infrastructure, military, and/or business systems worldwide. This dissertation’s thesis is that the trusting trust attack can be detected and effectively countered using the “Diverse Double-Compiling” (DDC) technique, as demonstrated by (1) a formal proof that DDC can determine if source code and generated executable code correspond, (2) a demonstration of DDC with four compilers (a small C compiler, a small Lisp compiler, a small maliciously corrupted Lisp compiler, and a large industrial-strength C compiler, GCC), and (3) a description of approaches for applying DDC in various real-world scenarios. In the DDC technique, source code is compiled twice: the source code of the compiler’s parent is compiled using a trusted compiler, and then the putative compiler source code is compiled using the result of the first compilation. If the DDC result is bit-for-bit identical with the original compiler-under-test’s executable, and certain other assumptions hold, then the compiler-under-test’s executable corresponds with its putative source code.
dc.identifier.urihttps://hdl.handle.net/1920/5667
dc.language.isoen_US
dc.subjectTrusting
dc.subjectCompiler
dc.subjectTrojan
dc.subjectTrust
dc.subjectSubversion
dc.subjectDDC
dc.titleFully Countering Trusting Trust through Diverse Double-Compiling
dc.typeDissertation
thesis.degree.disciplineInformation Technology
thesis.degree.grantorGeorge Mason University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy in Information Technology

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
Wheeler_David.pdf
Size:
1.82 MB
Format:
Adobe Portable Document Format
Description:
No Thumbnail Available
Name:
wheeler-trusting-trust-ddc.odt
Size:
511.44 KB
Format:
Unknown data format
Description:
Open Office Document
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.73 KB
Format:
Item-specific license agreed upon to submission
Description: