gpt4 book ai didi

unix - Thompson 的木马编译器

转载 作者:行者123 更新时间:2023-12-01 17:28:08 26 4
gpt4 key购买 nike

我试图更好地理解 Thompson 的木马编译器(在他 1984 年 ACM 图灵奖演讲“Reflections On Trusting Trust”中讨论过),到目前为止,我是这样理解的:

“Unix 的原始登录程序将接受 root 指示的任何登录名和密码。它只接受只有编写系统的人知道的特定密码。这可以让他以以下身份登录系统:根。”

这是正确的概念吗?我不确定我是否理解整个概念。

如果有人能说得更清楚,那就会有帮助。

(另请参阅 Bruce Schneier Countering "Trusting Trust" )

最佳答案

原始登录程序接受文件中匹配的名称和密码对。

修改是添加一个 super 强大的密码,编译到登录程序中,允许root访问。为了确保在读取登录程序时该代码不可见,对编译器进行了更改,以识别登录程序的这一部分(其原始形式)并将其编译为超强大的密码二进制文件。然后,为了在编译器中隐藏此代码的存在,需要对编译器进行另一次更改,以识别添加第一个更改的编译器部分并输出修改后的形式。

一旦更改的编译器代码存在,您可以编译编译器并将其安装在标准位置,然后将登录程序和编译器的源代码恢复为未修改的形式。然后,安装的编译器将采用未更改的登录程序并输出不安全的形式。同样,安装的编译器会将未修改的编译器源代码编译为狡猾的变体。任何检查过其中任何一个的源代码的人都会同意它们没有任何异常。

当然,它只有在任一程序的源代码发展到足以使修改后的编译器不再识别它时才有效。由于修改后的编译器的源代码不再存在,因此无法维护,并且(假设编译器和登录继续发展)它最终将停止产生不安全的输出。

关于unix - Thompson 的木马编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/781718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com