最专业的手游代练平台源码!

资讯热点
30年前比XcodeGhost更邪恶

发布时间:2020-11-11 分类: 电商动态

开发人员社区中最近的讨论是XcodeGhost。事实上,20年前,出现了更复杂的手段。

1984年,UNIX创作者之一Ken Thompson获得了ACM图灵奖。他的获奖演讲名为“信任信任的思考”。

1984年图灵奖得主Ken Thompson

在这个三页的演讲中,手稿描述了如何构建一个很难找到的编译器后门。这后来被称为Ken Thompson Hack(KTH),它被认为是所有邪恶的根密码。

在第一步中,Thompson展示了一个可以输出自己的源代码的C程序。这需要一些技巧,但许多人已经将其作为编程练习。

在第二步中,Thompson向C编译器添加了一段代码(后门),以便在检测到它正在编译UNIX登录命令时将后门插入到输出中。此后门将允许作者使用特定密码以root身份登录系统。

在第三步中,Thompson使用第一步方法在编译器的第二步中添加另一段代码(后门生成器),以便编译器在检测到它正在编译时自动检测第二步的后门。并且第三步的后门发电机插入输出。

获得第三步编译器后,您可以从源代码中删除代码的第二步和第三步,因为新编译器将自动编译自己的“干净”源代码。后门和后门发电机增加了。许多语言编译器使用“bootstrap”方法进行编译,也就是说,编译器将使用旧版本的编译器来编译新版本的源代码,因此可以在开源项目中找到这样一个高风险的后门程序。 。通过阅读此编译器的源代码无法找到此后门。

KTH也可以增强,使其更难检测。例如,这个编译器可以污染开发过程中使用的工具,例如由它编译的调试器和反编译器,这样即使程序员反编译编译器,它仍然会看到干净的代码,除非他使用KTH注入。的版本。因此,当使用KTH注入的此编译器来自官方渠道时,其后门几乎不会引起注意并影响所有用户。

最新的XcodeGhost只能被视为Ken Thompson Hack的简化版本。它不会试图隐藏自己,它不是编译器本身,而是Xcode附带的框架库。

汤普森在演讲中总结说即使是开源项目也无法保证安全。无论硬件还是微代码后门,只有当每个正在运行的程序完全由自己编写时,才能保证安全性。但是谁只能运行他们在计算机上编写的程序?我担心只有Ken Thompson和Dennis Ritchie可以用自己语言编写的操作系统上自己的编译器编译自己的操作系统。

肯·汤普森在贝尔实验室退休后几年加入谷歌。在谷歌,他与他的老贝尔同事一起发明了Go语言。自1.5版以来,Go已在引导模式下编译。 ; - )

« 蚂蚁是更多的骗局。蚂蚁已经对相关业务进行了处罚 | 《邪恶力量》在第15季拍摄!该电视网CW续订公开名单的情节 »