Spectrology:2019年的CPU硬件漏洞

在第35届混沌通信大会上,距离奥地利格拉茨科技大学的一组研究人员发表关于CPU硬件漏洞的第一篇文章Meltdown和Spectre近一年后,他们谈到了有关已知CPU硬件漏洞的当前事态。他们表示过去一年CPU硬件漏洞有了进一步发展。

Spectrology:2019年的CPU硬件漏洞

简介MeltdownSpectre的精髓

首先,让我们回顾一下Meltdown和Spectre是什么,以及它们之间的区别。

因为现代CPU可以不按顺序执行指令,所以Meltdown漏洞出现了。不按顺序执行指令是一个非常便捷的功能,可以加速代码处理。但是在某些情况下,CPU会处理容易出错的、根本不应该执行的代码。也就是说,代码由CPU执行之后才变得无法完成操作—-这种情况会发生正是因为不按顺序执行指令。

当然,这些操作结果不会在任何地方传递或使用,但它们会在微体系结构(在CPU缓存内存中)留下痕迹,它们也可以从那里提取出来。因此缓存可用于获取他人无法访问的数据:比如说密码。以下是它的工作原理:程序可以请求访问存储中的数据—-系统会因缺乏访问权限而拒绝该请求。但是由于操作的无序执行,密码仍保留在缓存中,并且从那里就可以很轻易的获取密码。

Spectre漏洞与Meltdown类似,虽然它也与CPU计算加速有关,但它源于现代CPU预测执行漏洞。现代CPU不是去解析所有分支指令后然后决定执行哪个操作,而是预测哪个控制流会更有可能被运行再提取相应的指令代码执行。如果预测正确的话,会带来很高的性能提升并提高处理器的并行性。如果预测错误,那些被预测执行的不正确结果会被丢弃,处理器会将状态恢复到预测执行行前的正确状态,再重新跳转到正确执行的分支或指令中运行。与乱序执行类似,预测执行对CPU缓存的操作会被保留。

结果大致相同:Spectre为未经授权的数据访问打开了一扇大门。虽然该访问可能仅在分支预测出错的情况下发生,但简单的概率理论表明它会发生。

一年后:二十几种SpectreMeltdown变种

在发现第一个Meltdown和Spectre漏洞之后,研究人员开始密切关注这个问题,他们很快发现了类似的问题,这些问题仅在细节方面有所不同。正如他们发现的那样,CPU开发人员还采用了其他优化措施,从而导致了类似Meltdown或类似Spectre的漏洞。格拉茨大学团队提到了14个类似Meltdown的漏洞和13个类似Spectre的漏洞—-总共有27个CPU硬件漏洞,而2018年初只有两个。

Spectrology:2019年的CPU硬件漏洞

2018年发现的Meltdown和Spectre变种分类

此外,尽管AMD在早些时候宣称他们的CPU不会受Meltdown漏洞的影响,但研究人员发现了一种完全与AMD CPU兼容的Meltdown变种(名为Meltdown-BR)。所以,全球三大CPU供应商(AMD、ARM和英特尔)的CPU都会受到Meltdown和Spectre或其变种的影响。

从2018年1月开始,CPU供应商就开始发布CPU微代码、操作系统以及个人程序补丁,希望能保护客户免受伤害。然而Spectre和Meltdown是硬件漏洞,所以无法通过软件补丁完全制止他们。

Linux操作系统内核曾有过一个补丁,但它会使系统运行速度变慢,所以一段时间后该补丁就被删除了。

Spectre针对不同的微体系结构组件,因此必须为每个组件单独设计补丁。并且每个补丁都需要停用某些功能或执行某些额外操作,因此会进一步降低性能。

实际上,补丁会严重影响性能,在许多情况下打过补丁的系统的运行速度比完全关闭了易受攻击的CPU组件的系统的运行速度慢。

Spectrology:2019年的CPU硬件漏洞

SpectreMeltdown的未来

2018年10月,英特尔宣布其新的CPU(也就是2019年会出现的新一代CPU)将具有硬件级的Spectre和 Meltdown保护功能,但其是否对Spectre和 Meltdown变种有效尚不得而知。AMD也计划修补2019年发布的新一代Zen 2架构处理器中的Spectre变体。ARM也承诺硬件更新,声称 “未来所有的CPU都能制止Spectre风格的攻击”。

对于未来想要购买新设备的人来说这是好消息。但大多数在2018年及以前购买了具有英特尔、AMD和ARM CPU的设备的人就不得不为差不多所有设备安装补丁,设备性能也会大大降低。

CPU制造商已经忽视硬件漏洞很久了,仅仅为了性能而优化CPU。但所有这些优化都需要付出代价:有些问题确实得到了改善,但却出现了更多问题。现在,摆脱这些漏洞将会是一个很大的挑战。然而必须要说的是,利用这些漏洞并不是那么容易,所以还是有希望摆脱这些漏洞的。

原创文章,作者:Gump,如若转载,请注明出处:http://www.mottoin.com/sole/view/134025.html

发表评论

登录后才能评论

联系我们

021-62666911

在线咨询:点击这里给我发消息

邮件:root@mottoin.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code