这位奥地利人入侵自己电脑 发现英特尔巨大芯片漏洞
BI中文站 1月6日报道
在成功入侵自己的电脑,并发现硬件巨头英特尔公司在过去二十年里制造的大部分芯片都存在安全漏洞的当天晚上,丹尼尔·格鲁斯(Daniel Gruss)几乎整夜无眠。这位31岁的信息安全研究员、奥地利格拉茨技术大学的博士后研究员,刚刚攻破了他的个人电脑中央处理器(CPU)的内部私密空间,窃取到其中的机密。
直到那一刻,格鲁斯和他的同事莫里茨·利普(Moritz Lipp)、迈克尔·施瓦兹(Michael Schwarz)还都认为,对处理器内核内存的攻击只存在于理论上。格鲁斯在接受路透社采访的电子邮件中称:“当看到自己私人网站上的地址被我编写的工具攻陷时,我真的感到非常震惊。”
2017年12月初的一个周末,古鲁斯、利普以及施瓦茨在各自家中工作,并互相发送短信以验证攻击结果。格鲁斯说:“我们无法相信这种结果,就那样干坐了好几个小时,直到我们排除了这个结果存在错误的可能性。”格鲁斯说,他的大脑即使在关掉电脑后依然不停地运转,所以他几乎整夜没睡。
格鲁斯和同事们刚刚证实了他所认为的“有史以来最严重的CPU漏洞之一”。这个漏洞现在被称为Meltdown,它已经于美国当地时间周三(1月3日)曝光,并影响了英特尔自1995年以来制造的大多数芯片。无独有偶,另一种名为Spectre的漏洞也被曝光出来,它存在于大多数电脑和移动设备的核心内存中,这些设备都配有英特尔、AMD以及日本软银(Softbank)旗下子公司ARM Holdings生产的芯片。
这两个漏洞都能让黑客从台式机、笔记本电脑、云端服务器或智能手机中获取密码或照片。目前还不清楚犯罪分子是否能够进行这样的攻击,因为Meltdown和Spectre都不会在日志文件中留下任何痕迹。英特尔表示,已经开始提供软件和固件升级,以应对安全问题。ARM也称,它正在与AMD和英特尔合作进行安全修复。
这些漏洞的发现最初是由在线科技期刊《The Register》报道的。由于这篇报道,关于漏洞的研究比制造商计划的早了一个星期发布,而此时它们还没有完整的解决方案。
不过,格拉茨技术大学团队已经在研制一种工具,以抵御从内核内存窃取机密的黑客攻击。他们最初为其应用起了个绰号Forcefully Unmap Complete Kernel With Interrupt Trampolines,简称“FUCKWIT”。去年6月份,他们提交了相关论文,重新将其命名为Kernel Address Isolation to have Side-channels Effectively Removed,或简称为KAISER。这是另一个双关语,在德语中意为“皇帝”。
顾名思义,KAISER试图在所谓的边信道攻击(side channel attack 简称SCA)中保护内核内存,这种攻击利用了增加速度的现代处理器的设计特性。这包括处理器执行“无序任务”,它们不在接收到序列中。如果CPU做出正确的猜测,时间就会被保存下来。如果出错了,无序任务就被取消,时间也就没有了。
在审阅了有关KAISER的论文后,研究人员安德斯·弗格(Anders Fogh)在去年7月份的博客中写道,为了阅读内核内存中的信息,所谓的推测性执行很可能会被滥用。然而,他在实践中却无法做到。
直到去年12月份格鲁斯对其个人电脑发动黑客袭击之后,格拉茨技术大学团队的早期工作才变得清晰起来。事实证明,KAISER可以有效地抵御Meltdown。该团队很快与英特尔取得联系,并了解到其他研究人员也有了类似的发现,部分人受到弗格博客的启发。他们在所谓的“负责任披露”模式下工作,即研究人员通知受影响公司他们的发现,并给后者时间准备“补丁”以修复他们发现的漏洞。
格鲁斯说,关键参与者是独立研究员保罗·科切尔(Paul Kocher)以及Cyberus Technology公司的团队,而谷歌Project Zero团队的简·霍恩(Jann Horn)则独立得出了类似的结论。格鲁斯表示:“我们在12月中旬把我们的发现与科切尔和Cyberus公司的努力进行整合,最终确认了Meltdown和Spectre两大漏洞。”
格鲁斯甚至还没有意识到霍恩的工作。他说:“霍恩独立做出了这些发现,给人留下深刻印象。我们发起了非常相似的攻击,但我们的团队有10名研究人员组成。”更广泛的团队表示,基于KAISER的Meltdown补丁已经为微软和苹果的操作系统以及Linux开源系统准备好了。
至于Spectre,目前还没有找到解决方案,这个漏洞可以欺骗程序以泄露秘密,但却被视为黑客难以利用的一个漏洞。
当被问及这两个漏洞中哪个威胁更大时,格鲁斯说:“眼前更大的威胁是Meltdown,但此后Spectre的威胁更严重。Spectre更难被利用,但也更难修复。所以从长远来看,我认为Spectre带来的挑战更大。” (编译/金鹿)