中文

通过多样化双重编译对抗可信编译器攻击

密码学与安全 2016-11-17 v1 编程语言

摘要

美国空军对Multics系统的评估,以及Ken Thompson著名的图灵奖演讲“Reflections on Trusting Trust”表明,编译器可能被颠覆,从而将恶意特洛伊木马插入关键软件(包括编译器本身)。如果这种攻击未被检测到,即使对系统源代码进行完整分析,也无法发现正在运行的恶意代码,而检测这种特定攻击的方法也并未广为人知。本文描述了一种实用的技术,称为多样化双重编译(DDC),它可以检测这种攻击以及一些编译器缺陷。只需将源代码重新编译两次:一次使用第二个(可信的)编译器,另一次使用第一次编译的结果。如果结果与不可信二进制文件逐位相同,则源代码准确地表示了二进制文件。这种技术曾被非正式地提及,但其问题和影响尚未在同行评审的工作中得到识别或讨论,也没有进行过公开演示。本文描述了该技术,论证了其合理性,说明了如何克服实际挑战,并进行了演示。

关键词

引用

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

备注

13 pages.