中文

通过多样性双重编译完全对抗信任信任攻击

密码学与安全 2010-05-03 v1 编程语言

摘要

一次对 Multics 的空军评估,以及 Ken Thompson 的图灵奖演讲(“对信任的反思”),表明编译器可能被篡改以将恶意特洛伊木马插入关键软件中,包括编译器自身。如果这种“信任信任”攻击未被检测到,即使对系统源代码进行完整分析也无法找到正在运行的恶意代码。先前已知的对策极其不足。如果无法对抗这种攻击,攻击者就能悄悄篡改整类计算机系统,获得对全球金融、基础设施、军事和/或商业系统的完全控制。本论文的论点是,使用“多样性双重编译”(DDC)技术可以检测并有效对抗信任信任攻击,这已通过以下三点得到证明:(1)形式化证明 DDC 能够确定源代码与生成的可执行代码是否对应;(2)使用四种编译器(一个小型 C 编译器、一个小型 Lisp 编译器、一个小型恶意篡改的 Lisp 编译器以及一个大型工业级 C 编译器 GCC)演示 DDC;(3)描述在各种现实场景中应用 DDC 的方法。在 DDC 技术中,源代码被编译两次:使用受信任的编译器编译编译器父代的源代码,然后使用第一次编译的结果编译待定编译器源代码。如果 DDC 结果与原始待测编译器的可执行文件逐位相同,并且某些其他假设成立,则待测编译器的可执行文件与其待定源代码相对应。

关键词

引用

@article{arxiv.1004.5534,
  title  = {Fully Countering Trusting Trust through Diverse Double-Compiling},
  author = {David A. Wheeler},
  journal= {arXiv preprint arXiv:1004.5534},
  year   = {2010}
}

备注

PhD dissertation. Accepted by George Mason University, Fairfax, Virginia, USA's Volgenau School of Information Technology and Engineering in 2009. 199 single-side printed pages.