揭秘英特尔芯片漏洞发现始末 严重到令工程师都不敢相信
【腾讯科技编者按】 据国外媒体报道称,众所周知安全研究人员近期报告了Meltdown和Spectre两个漏洞,而这也让英特尔陷入了一场空前公关危机。从目前的消息看 ,英特尔、ARM、AMD等CPU产品纷纷遭受了Meltdown和Spectre两个漏洞的影响。其中,英特尔CPU受影响最为严重,并且影响范围从酷睿一代到八代全部没能幸免。
不过,如今人们更加关注的似乎已经不是漏洞本身,而是英特尔在事件爆出之后的一系列做法令消费者感到非常愤怒。
对此,《彭博社》日前就撰文揭秘了英特尔芯片漏洞的发现始末,以下是文章主要内容:
发现漏洞
去年11月底,英特尔前工程师托马斯-普雷舍尔(Thomas Prescher)正在德国德累斯顿与好友享用啤酒和汉堡时,话题无意间就转移到了半导体方面。
当时的背景是,网络安全研究员安德斯-福格(Anders Fogh)几个月前刚刚发表了一篇博文,声称有一种方法或许能够侵入驱动着全球多数电脑的芯片。接着,普雷舍尔和一群朋友当天晚上就抽出时间试图弄明白这件事。
普雷舍尔回到家后,他打开自己的台式机试图验证这一理论。凌晨2点,他终于取得了突破性进展,成功串连起了能够进一步证实福格想法的代码。
“我当时的第一反应是,‘这不可能是真的,这不可能是真的’。”普雷舍尔回忆道。
上周,他最害怕的事情最终成真。因为全球最大芯片制造商英特尔上周证实,所有现代处理器都可能被名为“融化”(Meltdown)和“幽灵”(Spectre)的技术攻击,导致包括密码、密匙在内的重要数据泄露。
此后,微软、苹果、谷歌以及亚马逊等全球大型科技公司都在急忙为自己的PC、智能机以及服务器发布安全更新。部分企业甚至表示,这些安全补丁在某些情况下可能会影响设备性能。
事实上,普雷舍尔只是全球范围内发现Meltdown和Spectre漏洞至少10位研究员和工程师之一,他们有时独立展开研究、有时共同研究。通过对其中几位研究员的采访我们发现,尽管芯片行业一直希望努力确保计算机安全,但竟然却未能发现一个会导致设备如此易于攻击的通用漏洞。
“这简直会让你感到颤抖,人们通常只会注意处理器的性能,而不是安全。”协助发现了Spectre漏洞的保罗-柯歇尔(Paul Kocher)说道。
目前,几乎所有处理器制造商都会尽可能加快处理器处理数据、运行程序的速度,其中的一个方法就是为CPU增加演算功能。通过执行演算程序,CPU可以提前获取自己下一步需要的数据。
但是,Spectre漏洞能够欺骗处理器让它执行演算程序,然后利用处理器检索数据所花费的时间信息来推测信息细节,Meltdown漏洞则会通过破坏内核分区的方式直接曝光数据。
恶魔的种子
事实上早在2005年,研究人员就开始发表文章讨论CPU内核存在安全问题的可能,协助发现Spectre漏洞的澳大利亚阿德莱德大学研究院尤瓦尔-亚罗姆(YuvalYarom)此前就曾发布过一些相关研究论文。
2013年,有研究论文证实CPU会允许未经授权的用户看到内核布局,这一漏洞就是日后曝光的KASLR破解,也就是上周所公布部分漏洞的“祖师爷”。
2016年,菲利克斯-威廉(Felix Wilhelm)展示了早期版演算执行程序会如何导致芯片遭到攻击,泄露数据的全过程。有消息称,首次报告了Meltdown和Spectre漏洞的谷歌年轻研究员雅恩-霍恩(JannHorn)就是受到了这一研究部分内容的启发。
同年8月,在拉斯维加斯举行的“美国黑帽大会上”,奥地利格拉茨技术大学的一支团队介绍了自己早些时候旨在防止英特尔芯片内核存储遭到攻击的研究。团队成员之一的丹尼尔-格鲁斯(Daniel Gruss)当时恰好与福格同住一间房间。当晚,他们就彻夜讨论了随后发展为Meltdown和Spectre漏洞的理论基础。
但同一年多后的普雷舍尔一样,格拉茨技术大学的团队当时也认为这不是一个真正的漏洞。他们的理由是,“芯片制造商肯定会在测试过程中发现这么明显的安全漏洞,绝不可能销售存在这种漏洞的芯片产品”。
接着,在2016年11月初举行的欧洲黑帽大会上,福格再次向奥地利格拉茨技术大学研究员迈克尔-施瓦茨(Michael Schwarz)阐述了这一研究,但后者依旧不认为这种攻击能够在实际应用中存在。
“这么大的漏洞,英特尔不可能发现不了。”施瓦茨回忆称。
2017年1月,福格表示自己终于弄清楚了演算执行程序与内核攻击之间的联系。然后在1月12日举行的一次行业大会上提到了这一发现,并在3月把这一想法告诉了奥地利格拉茨技术大学团队。
2017年年中,奥地利格拉茨技术大学研究员开发了一个名为KAISER的软件安全补丁,旨在修复Linux系统的KAISER破解漏洞。
去年7月,福格发布博文详细介绍了如何利用Meltdown漏洞从实际电脑中窃取信息的过程。但是,他依旧未能说服其他研究员相信这一漏洞可能会被真正用于从芯片中窃取用户数据。当时福格还提到了一项未完成的研究,并把它称之为“潘多拉的魔盒”。这项研究针对的就是后来的Spectre漏洞,只是那时几乎没有人注意到。
不过在去年晚些时候,奥地利格拉茨技术大学团队发现,谷歌、亚马逊、微软研究员在KAISER补丁上的编程活动迅速增加。这些巨头不断推广他们的更新,但是并未说明原因,而这一非常举动也让奥地利格拉茨技术大学团队的态度迅速改变。
“这有些令人怀疑,因为提交特定Linux更新的开发者往往会解释为何推出这些更新,但他们这次却始终含糊其辞。我们想知道为何这些企业投入了如此多的时间开发更新,且不惜代价地把它整合到Linux平台中。”施瓦茨称说道。
施瓦茨和其他研究员认为,这其中的原因只有一个,那就是存在一种强有力的攻击方法,会让所有这些漏洞曝光,而科技巨头们都希望在全球黑客发现它之前秘密修复漏洞。
浮出水面
福格和奥地利格拉茨技术大学团队不知道的是,谷歌22岁神童霍恩在4月份就已独立发现了Meltdown和Spectre漏洞。霍恩是谷歌ProjectZero团队一员,该团队集结了行业内最顶尖的安全研究人员,他们的主要工作就是发现“零日”安全漏洞,即发现第一天就会引发攻击的漏洞。
6月,霍恩向英特尔以及AMD、ARM等其他芯片公司告知了他的发现,英特尔则在不久后告知微软。自那时起,大型科技公司就开始秘密研究修复方案。
去年11月,微软、亚马逊、谷歌、ARM以及甲骨文公司向Linux社区提交了非常多的更新,这让更多网络安全研究人员意识到“一些奇怪的大事正在发生”。
当月底,IT公司Cyberus的另外一支团队相信,英特尔已经向包括亚马逊、微软等主要客户告知了这一漏洞,但却选择向Linux开发者社区隐瞒事情全部真相。作为Cyberus团队成员之一的普雷舍尔在熬夜发现漏洞后,他把这一发现告知了Cyberus首席技术官维尔纳-哈斯(WernerHaas)。在双方面对面会谈前,哈斯还特地戴了一顶斯泰森毡帽,因为这样他就能向普雷舍尔说“我要向你脱帽致敬”。
12月3日,奥地利格拉茨技术大学团队研究员也展开了类似测试,证明确实可以发动Meltdown漏洞攻击。
“我们当时还说,‘天呐这不可能,我们肯定是哪里搞错了,CPU中不该出现这种错误’。”
第二天,奥地利格拉茨技术大学团队便把这一发现告知了英特尔。可是一个多星期后,英特尔依旧没有给予任何回复。
直到12月13日,英特尔才告诉Cyberus和奥地利格拉茨技术大学团队,他们发现的问题已经由霍恩和其他人报告过。在经过一番斡旋后,英特尔才同意让这两个团队与其他研究人员保持联系,开始协调作出一个更为广泛的回应,包括同时发布更新后的补丁。
最终,英特尔在重重压力下于美国太平洋时间1月3日12点发布了一则声明,并在两个小时后举行电话会议,详细解释了这个可能影响整个行业的漏洞。只不过,在越来越多的事实浮出水面后,英特尔在事件爆出之后的一系列做法已经令消费者感到非常愤怒。(综合/汤姆)