我知道肯特姆森参与其中就像有人在这里提到的那样
他黑/箱/登录介绍了一个后门。他这样做的方式是,每当发现编译器正在编译登录源代码时,就将后门引入二进制文件。他还黑了编译器,让它在编译时将后门生成的代码引入编译器。
我的问题是,为什么他需要这两种“黑客”。此外,“肯汤普森黑客”(KTH)是否已被根除,或是否有最近的案例?
如果它被证明是广泛存在的,那么KTH会产生什么影响(例如,他使用的不是特定的程序,而是将黑客攻击应用于其他程序)?
发布于 2017-04-09 16:52:12
他黑/箱/登录介绍了一个后门。他这样做的方式是,每当发现编译器正在编译登录源代码时,就将后门引入二进制文件。他还黑了编译器,让它在编译时将后门生成的代码引入编译器。
不,他没有。他做了一次报告,解释了如何做到这一点。
我的问题是,为什么他需要这两种“黑客”。
他没有。整个谈话的重点是,只要你能控制链中的任何一点,在某种程度上解释或转换代码,你就可以以这种方式引入后门。
您可以查看/bin/login
的源代码以找到后门。因此,汤普森将后门移到编译器上一步。但是,您可以检查编译器的代码,以找到引入后门的代码。因此,Thompson将其进一步移到编译器中,编译器编译编译器。您可以检查编译器的源代码,但是您知道接下来会发生什么: Thompson将hack进一步转移到编译器中,编译器编译编译器,编译器编译编译器。
或者,黑客也可以放在链接器中。或者它可以放在CPU内部的指令解码器中(它可以检测组成/bin/login
的二进制指令并执行不同的代码)。或者,操作系统的二进制加载程序可以检测/bin/login
并将其代码交换出去。
黑客还可以分布在多个地方。
此外,“肯汤普森黑客”(KTH)是否已被根除,或是否有最近的案例?
再说一遍,谈话的重点是,只要别人控制了拼图的一部分,那么这样的黑客就无法被发现,也无法被阻止。
如果它被证明是广泛存在的,那么KTH会产生什么影响(例如,他使用的不是特定的程序,而是将黑客攻击应用于其他程序)?
其影响是,如果您想要安全,就必须检查和控制整个系统中的每一个谜团。除非您设计、实现和创建您自己的CPU、您自己的固件、您自己的引导程序、您自己的外围设备(以及它们的CPU和固件)、您自己的操作系统、您自己的驱动程序、您自己的协议、您自己的库、您自己的汇编程序、您自己的编译器、您自己的链接器、您自己的框架、您自己的应用程序,否则您不可能永远是安全的。
发布于 2017-04-09 16:40:51
他使用了这两种方法,这样,C编译器的源代码就永远不会显示这些特洛伊木马的存在。(如果你读了这一段的其余部分,你就会想出答案)。
是的,有一些情况,但它不像以前那么可怕了,因为我们的硬件和编译器更兼容。
我不知道最后一个。
https://softwareengineering.stackexchange.com/questions/346853
复制相似问题