揭秘英特尔芯片漏洞发现内幕

科技工作者之家  |   2018-01-09 13:25

20180109132438_69fa8d.jpg

▲英特尔处理器

据彭博社北京时间1月9日报道,近期曝光的“融化”(Meltdown)和“幽灵”(Spectre)芯片漏洞令行业震惊。其实,早在2005年,研究人员就开始讨论芯片的安全弱点。随后,不断有研究人员发现英特尔芯片的内核存在安全隐患。不过,一些研究人员认为,这一漏洞很明显,英特尔在测试中就能发现,不可能会被用于攻击中。在得知芯片漏洞后,英特尔与微软公司、谷歌公司等大型科技公司合作,花费了几个月时间秘密开发更新修复漏洞,最终才公布。

以下是文章摘要:

那是去年11月底。当英特尔公司前工程师托马斯·普雷舍尔(Thomas Prescher)正在德国德累斯顿与好友享用啤酒和汉堡时,话题有些扫兴地转移到了半导体上。

漏洞的发现

几个月前,网络安全研究员安德斯·福格(Anders Fogh)发表了一篇博文,暗示有一种方法或许能够侵入驱动着全球多数电脑的芯片。

他们一群朋友在那天晚上抽出了一些时间试图弄明白这件事。普雷舍尔对这件事一直念念不忘,于是当他回到家后,他便打开自己的台式机,验证这一理论。凌晨2点,普雷舍尔取得了突破性进展:他串连起了能够进一步证实福格想法的代码,这些代码表明芯片存在严重漏洞。

“我的第一反应是,‘这不可能是真的,这不可能是真的’,”普雷舍尔表示。

上周,他最怕的事情成真。英特尔证实,所有现代处理器都可以被名为“融化”(Meltdown)和“幽灵”(Spectre)的技术所攻击,导致重要数据泄露,例如密码和加密密钥。包括微软公司、苹果公司、谷歌公司以及亚马逊公司在内的全球大型科技公司急忙为他们的PC、智能机以及服务器发布更新。一些公司还警告,在某些情况下,他们的补丁可能会影响设备性能。

普雷舍尔是发现“融化”和“幽灵”漏洞的至少10位全球研究员和工程师之一,他们有时独立展开研究,有时一起共同研究。通过对其中几位研究员的采访可以知道,尽管芯片行业一直在说要努力确保计算机的安全,但是却未能发现一个会导致机器如此易于攻击的共同特性。

20180109132521_1f13d4.jpg

▲奥地利格拉茨技术大学研究员施瓦茨(最左)和格鲁斯(最右)

“这让你不寒而栗,”保罗·柯歇尔(Paul Kocher)表示,他协助发现了“幽灵”漏洞,在去年离开芯片公司Rambus后开始研究安全和性能之间的平衡,“人们看重的是处理器的性能,而不是安全。”

所有处理器制造商都在试图加快处理器处理数据,运行程序的速度,方法就是为它们增加推测功能。通过执行推测程序,微处理器获取他们预计下一步需要的数据。

“幽灵”漏洞能够欺骗处理器,让它执行推测程序,然后利用处理器检索数据所花费的时间信息来推测信息的细节。“融化”漏洞则能够直接曝光数据,它可以破坏内核区分不同应用信息的方法。内核是每台计算机核心部分的重要软件。

2005年初见端倪

至少早在2005年,研究人员就开始发表文章,讨论CPU内核存在安全弱点的可能性。澳大利亚阿德莱德大学研究院尤瓦尔·亚罗姆(Yuval Yarom)协助发现了“幽灵”漏洞,他发布了一些早期研究成果。

2013年,其他研究论文显示,CPU能够允许未经授权的用户看到内核的布局。所谓的内核就是指导计算机执行软件、安全管理以及分配资源等重要任务的一系列指令。这一漏洞就是日后曝光的KASLR破解,是上周所公布的部分漏洞的基础。

2016年,菲利克斯·威廉(Felix Wilhelm)和其他人的研究展示了早期版推测执行程序如何导致芯片遭到攻击,泄露数据。近期的推文显示,被认为首次报告了“融化”和“幽灵”漏洞的年轻谷歌研究员雅恩·霍恩(Jann Horn)受到了这一研究部分内容的启发。

2016年8月,在拉斯维加斯举行的一次重要网络安全会议——美国黑帽大会上,奥地利格拉茨技术大学的一支团队介绍了他们在当年早些时候的一项研究,旨在防止英特尔芯片的内核存储遭到攻击。团队成员之一的丹尼尔·格鲁斯(Daniel Gruss)恰好与福格同住一间酒店客房。福格是IT安全咨询公司G Data Advanced Analytics的恶意软件研究员,他一直对侧信道攻击(Side Channel Attack)很感兴趣。侧信道攻击利用芯片结构迫使计算机披露数据。

漏洞明显以至于无人相信

福格和格鲁斯彻夜讨论了随后发展为“融化”和“幽灵”漏洞的理论基础。但是,和一年多后的普雷舍尔一样,格拉茨技术大学的团队当时怀疑这不是一个真正的漏洞。格鲁斯回忆道,他当时对福格称,芯片制造商会在测试过程中发现如此明显的安全漏洞,绝不会销售存在这种漏洞的芯片。

在2016年11月初举行的欧洲黑帽大会上,福格再次阐述了这一发现,这次是向奥地利格拉茨技术大学的研究员迈克尔·施瓦茨(Michael Schwarz)。两人讨论了侧信道攻击可能会攻破虚拟化计算的安全防护。虚拟化计算是日益流行的云服务的重要组成部分,它本该是安全的,因为每个虚拟化计算会话旨在分离不同客户的信息,即便这些信息是在同一台服务器上。

尽管获得了福格的鼓励,但是奥地利格拉茨技术大学的研究人员依旧不认为这种攻击能够在实际应用中实现。”这么大的漏洞,英特尔发现不了吗?这不可能,”施瓦茨回忆称。因此,该团队并未在这方面投入大量时间。

2017年1月,福格表示,他终于弄清楚了推测执行程序与内核攻击之间的联系。他在1月12日举行的一次行业大会上提到了他的发现,然后在3月把这一想法告诉了奥地利格拉茨技术大学团队。

2017年年中,奥地利格拉茨技术大学研究员开发了一个名为KAISER的软件安全补丁,旨在修复KAISER破解漏洞。这一补丁针对的是Linux系统,后者是全球最受欢迎的开源操作系统。Linux控制着服务器,所以它对云计算至关重要。此外,它还驱动着多数移动设备所使用的Android操作系统。鉴于它的开源属性,所有人建议Linux更新应该公开分享。KAISER补丁在开发者社区广受好评。不过,研究员们当时不知道,他们的补丁能够协助预防“融化”漏洞攻击。

漏洞逐渐显现

7月28日,福格发布博文,详细介绍了如何利用“融化”式攻击从实际电脑中窃取信息。但是,他依旧未能说服其他研究员,让他们相信这一漏洞可能会被真正用于从芯片中窃取数据。福格还提到了一项未完成的研究,并把它称之为“潘多拉的魔盒”。这项研究针对的就是后来的“幽灵”漏洞,当时同样没有引起注意。

不过,夏末秋初之际,奥地利格拉茨技术大学团队的态度迅速改变。他们发现,谷歌、亚马逊、微软的研究员在他们的KAISER补丁上的编程活动迅速增加。这些巨头不断推广他们的更新,并设法说服Linux社区接受,但是并未说明原因。

“这有些令人怀疑,”施瓦茨称。提交特定Linux更新的开发者往往会解释为何作出改变,但是这一次却对一些细节含糊其辞。“我们想知道为何这些人投入了如此多的时间开发更新,而且不惜代价地把它整合到Linux中,”他表示。

在施瓦茨和其他研究员看来,原因只有一个:可能存在一种强有力的攻击方法,能让这些漏洞曝光。科技巨头们都争取在世界上各种恶意攻击黑客发现它之前秘密修复漏洞。

谷歌神童独立发现

福格和奥地利格拉茨技术大学团队不知道的是,谷歌22岁神童霍恩已经在4月份独立发现了“融化”和“幽灵”漏洞。霍恩是谷歌Project Zero团队一员,该团队集结了顶尖安全研究人员,任务是发现“零日”安全漏洞——发现第一天就会引发攻击的漏洞。

6月1日,霍恩向英特尔以及AMD、ARM等其他芯片公司告知了他的发现。英特尔在不久后告知了微软。就在那时,大型科技公司开始秘密研究修复方案,包括使用奥地利格拉茨技术大学团队的KAISER补丁。

到了11月,微软、亚马逊、谷歌、ARM以及甲骨文公司向Linux社区提交了如此多的更新,以至于更多网络安全研究人员开始意识到,一桩奇怪的大事正在发生。

11月底,IT公司Cyberus的另外一只团队相信,英特尔已经向主要客户告知了这一漏洞,但是向Linux开发者社区隐瞒了事情的全部真相。

普雷舍尔是Cyberus团队成员之一。在他那天熬夜在德累斯顿发现漏洞后,他把这一发现告知了Cyberus首席技术官维尔纳·哈斯(Werner Haas)。在面对面会谈前,哈斯确定自己戴上了一顶斯泰森毡帽,这样他就能向普雷舍尔说:“我要向你脱帽致敬。”

12月3日,一个平静的周日下午,奥地利格拉茨技术大学团队研究员进行了类似的测试,证明确实可以发动“融化”漏洞攻击。“我们当时说,‘上帝啊,这不可能。我们肯定犯错了,处理器中不该出现这种错误,’,”施瓦茨回忆称。

第二天,奥地利格拉茨技术大学团队把这一发现告知了英特尔,几乎与与Cyberus同时。可是,一个多星期过去了,英特尔没有给予任何回复。“我们很吃惊:没有收到任何回复,”施瓦茨称。

12月13日,英特尔告诉Cyberus和奥地利格拉茨技术大学团队,他们发现的问题已经由霍恩和其他人报告。英特尔一开始不愿让他们参与进来。经过施压后,英特尔同意让这两个团队与其他研究人员保持联系。他们全都开始协调作出一个更为广泛的回应,包括同时发布更新后的补丁。

公布漏洞

英特尔在美国太平洋时间1月3日12点发布了一份声明,并在两个小时后举行电话会议,解释了这个可能影响整个行业的漏洞。

不过,团结一致只是幻想。在英特尔电话会议开始不久后,对手AMD就单独发布了一份声明称,他们的产品几乎不存在被攻击的风险。知情人士称,在经过了6个多月的协作后,英特尔在最后时刻单独行事,并未与之前的合作伙伴协商,提前发布了公开声明。

来源:凤凰网科技

相关推荐 换一换