- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图更好地理解 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/
我尝试通过电子邮件发送使用 Delphi 构建的 DLL 文件,但收到了拒绝电子邮件报告: “您的电子邮件被拒绝,因为它包含 Trojan.Delf-9364” 所以我将文件上传到 http://sc
Nod32 刚刚警告我有关嵌入到网站图标中的木马。 我在这里复制了 favicon.ico 的内容: http://pastebin.com/BkD4tKNy 不幸的是,我对 Javascript 没
我正在 Code::Blocks 20.03 和 MinGW(GCC Build-20200227-1 9.2.0,单独安装)中测试一个简单的“hello world”程序,但运行它时在控制台上没有消
我是一名优秀的程序员,十分优秀!