英特尔最近怎么了(为什么英特尔这次的漏洞门)

本文预计阅读时间12分钟

最近围绕处理器底层设计出现漏洞,而容易遭到Meltdown(熔断)和Spectre(幽灵)安全漏洞攻击威胁,从而可能影响用户数据安全的事件,英特尔着实承受了不小的压力。

作为吃瓜群众中的一员,笔者起初也和大家一样,是通过外媒发布的测试报告来了解这次事件。

认为这样的漏洞就是出自于英特尔一家,并且还关闭了家里电脑的自动更新,来避免因安全漏洞更新补丁造成的性能损失。

毕竟最高可能30%的性能损耗,对于处理器而言真的是致命伤。

英特尔最近怎么了(为什么英特尔这次的漏洞门)(1)

1安全漏洞只是X86一家问题吗?

不过随着事件的发酵,以及包括高通、苹果、AMD等在内的公司相继发布声明,承认其芯片同样存在相应漏洞,同样存在易受Meltdown(熔断)和Spectre(幽灵)攻击的风险之后。

种种迹象表明这应该是整个处理器芯片底层设计的行业性问题,并不是某一家存在的问题。

英特尔最近怎么了(为什么英特尔这次的漏洞门)(2)

AMD官网有关于处理器安全性的说明

而且,这样的漏洞不仅仅只存在于英特尔和AMD的X86架构处理器当中,包括高通、苹果、三星、NVIDIA Tegra等基于ARM架构设计的部分处理器,也未能幸免于难。

英特尔最近怎么了(为什么英特尔这次的漏洞门)(3)

苹果推送的iOS 11.2.2更新将修复安全漏洞

根据苹果官网给出的关于安全更新的内容来看,苹果指出熔断和幽灵攻击方式适用于所有现代处理器(This issues apply to all modern processors),并影响几乎所有的计算设备和操作系统,所有的Mac系统和iOS设备都会受到不同程度的影响。

此外,根据Venturebeat报道,ARM公司在1月4日承认其一系列Cortex架构处理器均有被攻击风险。

同时ARM还通过一张表格指出了存在风险的平台,包括Cortex-A8、A9、A15、A17、A57、A72、A73,以及A75均受到熔断和幽灵威胁。

这意味着,包括iOS设备,甚至是索尼Playstation Vita,以及基于部分NVIDIA Tegra芯片和高通骁龙系列芯片的设备,都有被熔断和幽灵攻击的风险,不只是我们的电脑设备存在这样的风险。

同样在1月4日,IBM官方也发布说明,确认谷歌Zero项目组将POWER架构处理器列入受影响名单是正确的。

包括POWER 7 、POWER 8以及POWER 9在内的处理器均会遭受熔断和幽灵威胁。

而IBM POWER于1月9日上线了三款处理器的固件补丁,POWER 7 之前的处理器补丁还在研究当中。

英特尔最近怎么了(为什么英特尔这次的漏洞门)(4)

IBM官网发布的POWER架构处理器安全声明

由此可见,本次安全漏洞问题其实并不是某一家单独存在的问题,而是一整个行业所面临的问题,如果忽视或规避这样的问题,就会对用户造成潜在的安全风险。

而目前所要做的,就是能够多方联合,共同通过硬件更新来抵御可能存在的风险或攻击。

不过,综合英特尔官方、苹果官方、AMD官方、高通官方等消息来看,截至目前为止,还并未发现有利用该漏洞攻击普通消费者的实例,这应该能让大众用户舒一口气了。

2普通用户如何规避安全风险?

另外,各家给出的针对于安全漏洞的解决方案也与不少媒体宣称的不同,包括英特尔、苹果、高通等在内,都建议用户应该积极通过更新相应平台发布的安全漏洞更新补丁,来避免遭受熔断和幽灵可能造成的攻击。

3硬件更新会影响性能吗?

那么涉及到漏洞更新,问题就又来了。因为从外媒发布的测试数据来看,硬件更新将导致处理器性能有5%-30%左右的性能损失。

其实包括笔者在内的不少吃瓜群众,也是因为看到了这个消息才把系统的自动更新关闭。那么这一点是否正确呢?

首先,从目前所有发布的测试数据来看,不可否认的一点是本次硬件漏洞更新会导致硬件性能下降,而且越老的硬件受到的影响越大。

其次,综合多方消息来看,由于本次漏洞涉及到处理器底层硬件设计,所以一方面修复起来非常困难,另一方面想要得到完美修复同样非常困难。

当然我们也不能只看外媒发布的测试数据,还是要看看“涉事方”发布的研究报告。

根据英特尔官方披露的研究结果来看,更新对于大部分用户的影响并不具有想象中的普遍性。英特尔的安全人员对更新进行了测试,发现性能影响确实存在。

但是只有某些特定工作负载下才会受到影响,普通大众玩游戏、看电影、处理日常工作等,所受影响微乎其微。可以放心进行补丁更新。

而根据腾讯安全团队的实际测试来看,同样指出“性能问题对于普通用户来说影响并不大:只有在极端测试下,才会出现明显的性能问题;而正常的使用过程中一般不会出现。”

360安全专家也表示:“这种说法(性能下降30%)比较片面,30%的性能损失是在比较极端的专门测试情况下出现的。

通常的用户使用情况下,尤其在用户的电脑硬件较新的情况下,这些补丁的性能损失对用户来说是几乎可以忽略不计。”

4目前事件进展

本次处理器安全漏洞之所以将矛头指向英特尔,一方面确实是因为英特尔处理器存在遭受熔断和幽灵攻击的风险,另一方面也是因为使用的测试平台是应用范围相当广的英特尔处理器平台。

同时,外媒早先发布的测试结果都只是基于英特尔处理器平台给出的结果,并未对其它处理器平台做同样的安全测试,致使英特尔替整个行业背了一口大锅。

不过正如华尔街日报援引安全专家的话指出的那样,英特尔在事件披露方面做的乱七八糟。

不过就笔者来看,相对于那些起初不愿承认安全漏洞的公司来说,英特尔至少没有掩盖事实真相,并且积极与行业其他公司联手来共同寻求解决问题的方法。

在CES 2018英特尔主题演讲环节中,英特尔CEO科再奇表示,“英特尔下周将推送安全更新补丁,首批补丁覆盖90%以上的处理器,另外没有覆盖到的处理器将在1月底的更新推送后解决相应问题”。

总体来说,包括谷歌、英特尔、苹果、微软等在内的公司,通过相对快速的应对机制,将熔断和幽灵可能造成的安全威胁扼杀在了摇篮里。

5熔断和幽灵漏洞的背景知识

本次熔断和幽灵漏洞之所以能够影响如此多的处理器和不同架构的处理器,主要原因并非这些处理器厂商故意为之,而是源于“分支预测”这项处理器底层技术。

这也意味着,只要是支持乱序执行和投机执行的处理器,都会遭受熔断和幽灵的攻击。那么其机制是什么呢?

英特尔最近怎么了(为什么英特尔这次的漏洞门)(5)

对PC硬件有一定了解的朋友都知道,如今处理器执行指令的速度瓶颈不在计算本身,而在于内存访问。

为了降低内存访问所需时间,缓存(Cache)就成了目前来看最好的解决方案。

缓存就是把曾经访问过的内存备份一部分,如果下次再读同一块内存数据的话,就可以直接从缓存里调取,从而让访问速度更快。

不过即便是这样,访问内存的瓶颈依然还是存在。因此对于不同指令之间的执行,其时间差距就可能非常大。

比如前一条指令的执行需要1秒钟(实际并不会这么长久),后续指令如果正常经过访问内存执行的话,可能需要10秒-100秒,但如果前序指令访问内存时出现卡顿,那么后续指令的执行就会受到影响,使得指令执行速度大大减慢,用户就会感觉到电脑卡顿。

为了解决这样的问题,现代处理器(英特尔从奔腾时代开始)加入了分支预测技术,并设计了乱序执行机制。

乱序执行机制就是允许多条指令不按程序规定的顺序,分开发送给各相应电路单元处理的技术。避免了因一条指令“堵塞”,影响后续指令执行时间的问题。

计算机的内存里保存着用户的很多信息,包括密码、个人信息等。如果不对这些信息进行保护,黑客们就能够轻而易举的窃取用户的这些信息。

那么如何防止这样的问题发生呢?光靠软件保密远远不够,因此需要硬件底层来进行相应的保护工作。

当程序读取内存的时候,处理器会帮助检查读取地址是否属于这个程序。如果不属于,那么就是非法访问,处理器就会在这条指令上产生一个异常,之后报告操作系统执行枪毙。

而操作系统为了处理这个异常,会提出一项要求:如果出现异常,那么异常指令之前的所有指令都已经执行完,异常指令之后的所有指令都尚未执行。

不过这就与乱序执行产生了矛盾,前面都乱序执行完了该怎么办呢?其实指令乱序执行时,要修改什么东西都不是真正的修改,而是做预修改。

只有执行完指令并真正发送出去之后,才会正式提交修改,并维持指令之间的顺序关系。也就是虽然在执行时采用乱序处理,但执行完之后,各条指令还是会按“大小个”排好队发出去。

这时候如果一条指令产生了异常,那么这条指令“脸上”就有被贴上了“异常标识”,之后就会封锁出口,将异常指令和其后其他指令抛弃掉,不予提交,保证数据安全。

另外在指令执行之前,由于现代处理器又都设计有投机执行特性。所以“入口处”会根据历史规律,来把指令分配到相应的队伍中,如果出现问题,只要出口封锁毙掉就可以了。

被取消掉的指令不会得到提交,所以它们修改不了任何东西,也不会产生异常。所以大可以随意去投机执行指令,不会有任何危险,因为有危险的都会被取消掉——这个逻辑是架构体系设计者最初的、也是理想的设想。

但大家都明白现实与理想总是有很大差距,这次的漏洞问题就出在这里。

被取消掉的指令虽然不会造成整体结构上的影响,但在微结构上会留下可以观测的影响——就是缓存。

这些被取消掉的指令不受异常控制,可以访问任何东西。比如你的银行帐号密码,然后“借口”自己执行错了被取消掉,就不会被操作系统彻底毙掉。而体系结构设计者认为被取消掉的指令即便看到你的银行密码也不会产生问题,因为它们留不下任何痕迹。

但事实上它们还是在那些曾经访问过的内存留下了“蛛丝马迹”。一旦被黑客利用,那么这部分用户数据就将被窃取出来,用户数据安全也将遭到泄露。

这也就是说为什么这次事件是一次行业性的事件,而非简单的A或B一家所遇到的问题。

因为这样的攻击机制,使得所有拥有分支预测、乱序执行、投机执行、缓存特性的现代处理器平台,都会遭到这样的攻击。

除非你的处理器没有这样的特性,否则就很难幸免。不过话又说回来了,如果处理器没有这些技术特性,那么可以想象这个处理器的计算速度究竟得有多么的慢。

6结语

总体来说,这次硬件安全漏洞的本质,是早期处理器底层设计遗留的问题。

在引入乱序执行机制时,技术人员并未预见到会有这样的安全漏洞存在,毕竟只要是人设计的硬件或软件,就会存在漏洞。

此外不得不提的是,英特尔对于这些漏洞的研究其实已经持续了比较长的时间,并且始终在研究如何解决这样的底层硬件漏洞。

另外从目前推送的更新来看,幽灵漏洞已经有了比较有效的修补对策,通过microcode更新,禁用分支预测器里的间接跳转预测部分,就能够避免黑客通过该漏洞来威胁数据安全。

如英特尔的Haswell-X、Skylake-X、Broadwell-X平台都采用了microcode更新方式来进行修补。

而AMD同样对Zen家族的CPU(包括Ryzen)推送microcode更新来进行修补。不过与英特尔不同的是,AMD直接禁用了分支预测器来应对幽灵漏洞。

另外需要指出的是,从华尔街日报2018年1月5日的报道来看,英特尔应对芯片安全漏洞已经有数月时间,这显然比外媒曝出漏洞的时间要早很多。

事实上,早在2017年6月份,谷歌ProjectZero 团队就发现了这些漏洞,并通报给了包括英特尔、AMD、ARM公司。

同时,Project Zero 团队与这些公司签订了保密协议,协议到2018年1月9日。

英特尔最近怎么了(为什么英特尔这次的漏洞门)(6)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页