从不受影响到不存在漏洞,谈何为CPU信息安全的主动防御



注:本文来自读者投稿。

2018年1月3日,Google公司的Project Zero等安全团队披露出的英特尔等处理器芯片存在非常严重的安全漏洞,发布了A级漏洞风险通告,并提醒该漏洞演化为针对云和信息基础设施的A级网络安全灾难

1月4日,国家信息安全漏洞共享平台CNVD发布Meltdown漏洞(CNVD-2018-00303,对应CVE-2017-5754)和Spectre漏洞(CNVD-2018-00302和CNVD-2018-00304,对应CVE-2017-5715和CVE-2017-5753)安全公告,CNVD对该漏洞的综合评级为“高危”。 

处理器“漏洞门”事件的持续发酵,由此引发全球高度关注处理器系统的安全议题。当国外CPU巨头包括Intel、AMD、ARM等纷纷表示中招、微软等操作系统厂商紧急向用户推送修补补丁之际,

国内CPU厂商却一致表示不受影响或者不存在漏洞。真相是什么呢?笔者在这里做一个简单的分析。

Meltdown(熔断)与Spectre(幽灵)是存在于系统内核甚至是CPU内部架构缺陷所导致的漏洞,几乎影响了所有现代处理器公司。

目前中国厂商“不受影响“或者”不存在漏洞”的可能性只有几种,

一是,不够先进,根本就没有使用本次披露的漏洞所涉及的先进的分支预测技术。

二是,和Intel、AMD、ARM一样采取了事后打补丁的补救措施。

目前国内授权国外的CPU架构,如X86、ARM、MIPS、PowerPC等架构中都采用了BTB(分支目标缓冲器 Branch Target Buffer)和BPB(分支预测缓冲区,Branch Prediction Buff)技术,并且其指令、特殊寄存器等都对技术的使用有兼容性要求,这将导致合资或许可的处理器无法避免Spectre的缺陷问题。

所以基于许可或者合资的所谓国产处理器芯片厂商都属于这种情况,即所谓的“不受影响”,但根本谈不上“不存在漏洞”。

三是,基于先进的自主指令集、工具链和微架构设计,先天或者可以主动规避以上漏洞。显然,中国真正有这样能力的厂商屈指可数。下面就是对本次漏洞的一些粗浅的分析。

在现代CPU架构中,为了提高执行速度采取了很多优化手段,推测执行(Speculative Execution)是主要的优化技术之一,推测执行技术是一个大类技术的统称,包括分支预测、预读取、推测性内存访问、缓存缺失的重叠/乱序处理(MSHR)等等,通常应用的推测执行技术都能达到80%-90%以上的推测准确率。

Meltdown漏洞利用CPU的“乱序执行(Out-of-Order)”技术缺陷。Spectre漏洞则利用CPU的“分支预测”(Branch Prediction)技术来进行攻击,突破了不同应用程序进程间的隔离,诱导处理器推测执行不该有的程序路径,达到破坏不同应用程序之间隔离机制的目的。

与网络攻击维度(Network Vector)不同的是,本地攻击(Local Vector)需要攻击者获得本地执行权限,才能够对漏洞进行利用,且不像网络攻击维度那样可能存在明显的网络通信特征,因此很难通过网络安全设备进行防护。

这次发现的底层硬件缺陷之所以引起广泛关注,是因为其不同于操作系统和特定程序的漏洞,是CPU技术中的并行计算、分支预测机制的设计回路出现了问题,隐蔽性极强,且破化力巨大,所有市面上已经存在的带有缺陷的硬件设备都会暴露在攻击范围内,到目前为止还无法估计此次漏洞所造成的损失。

此外操作系统层面的修复也有可能带来了巨大的性能损失,而且对于硬件缺陷来说是一个治标不治本的补救措施。从个人电脑、服务器、云计算服务器到移动端的智能手机,都受到这两组硬件漏洞的影响,其中云平台和部署在互联网环境下的服务器受攻击的风险更大。

上图:Intel的处理器微结构简化框图

Meltdown利用的乱序执行是在示图中Execution Engine的部分,Spectre利用了图中Branch Predictor的部分。

对于个人终端用户,利用Meltdown与Spectre漏洞,低权限用户可以访问内核的内容,泄露本地操作系统底层的信息、秘钥信息等,通过获取泄露的信息,可以绕过内核的隔离防护;如果配合其它漏洞,可以利用该漏洞泄露内核模块地址绕过KASLR等防护机制实现其他类型的攻击进行提权。

另外,利用浏览器JIT特性预测执行特殊的JIT代码,从而读取整个浏览器内存中的数据,泄露用户帐号,密码,邮箱, cookie等隐私信息。

此次披露的漏洞是足以动摇全球云计算基础设施根基的,对于云服务提供商下的租户,由于其虚拟环境共用CPU硬件资源,所以攻击者可以在云平台通过租户系统的普通访问权限来读取云平台的敏感信息,如管理员账号信息,从而获得更高的权限和获得其它租户的敏感信息,也可能穿透虚拟机,从guest访问host相关数据。

尽管漏洞本身只能读取数据,不能修改数据,但由于其获取的数据中有可能包括口令、证书和其他关键数据,包括能够完整Dump内存镜像,因此这个漏洞比一般性的虚拟机逃逸对云的危害更大

截至 2018 年 1 月 10 日,包括 Intel、高通、Apple、NVIDIA、ARM 均承认旗下处理器受 Meltdown 和 Spectre 两个漏洞影响。

  • Meltdown影响几乎所有的Intel CPU和部分ARM CPU;

  • Spectre影响所有的Intel CPU和AMD CPU,以及主流的ARM CPU;

安全漏洞被披露后,英特尔陆续对公司已经为过去五年里发布的九成 CPU 发布了固件更新。补丁旨在缓解 Meltdown 和 Spectre 安全漏洞造成的影响。

除了英特尔,许多其它软硬件制造商也为自家系统发布了相关补丁。基于数据中心的跑分结果,英特尔声称补丁只会对整体性能造成 0~2% 的影响。

然而某些针对存储性能的测试表明,补丁可能对数据吞吐造成高达 18% 的负面影响。存储性能开发套件(SPDK)测试显示,单核性能的影响甚至可达 25% 。

1月16日,全国信息安全标准化技术委员会发布《网络安全实践指南—CPU熔断和幽灵漏洞防范指引》(https://www.tc260.org.cn/),引导受威胁用户防范熔断和幽灵漏洞,控制漏洞补丁升级所带来的负面影响。

“计算机信息安全工作主要停留在查毒杀毒等被动防御层面,很少去考虑主动防御,在主动防御上建树不多。我国一些从事CPU研发的单位和企业寄希望于采取行政手段或通过制定标准规范来达到目的。显然,在本次“熔断”和“幽灵”漏洞面前,这些手段和方法都显得十分苍白无力。这次“CPU漏洞门”事件提醒我们:现在是时候扭转一下发展思路了,要变“被动防御”为“主动防御”。 要想做到真正的安全可控,关键还是要掌握核心技术。没有核心技术的支撑,按照别人的思路和架构去发展,很难逃开与别人一样的结局。”清华大学微电子研究所所长魏少军教授接受《中国电子报》采访时提出。

中国工程院院士 倪光南在接受中国青年报·中青在线记者采访时谈道:国产CPU的发展已经到了从‘少年’向‘青年’的发展的阶段,国产技术的发展迈向了新阶段。”倪光南告诉中国青年报·中青在线记者,在新时代发展中国自己的CPU产业,应该进一步加强行业整体统筹和顶层设计,有目的地发展,最终实现CPU的完全国产化。

中央处理器(CPU)一直是各国电子信息产业的核心,近年随着人工智能、云计算、5G等新应用的蓬勃发展, CPU与GPU、FPGA等其他计算单元的深度融合成为产业发展的必然选择,也就是说,CPU的普适性和重要性并没有削弱。

无处不在的CPU对中国信息安全的重要意义即在于此。此次漏洞门事件不仅给全球用户带来了巨大的安全隐患,同时也给中国处理器行业敲响了安全风险的警钟。

有专家估计,这一漏洞十几年以前就已经存在,并且被Intel发现,为什么一直没有被披露,这背后的原因值得深思。

由此可见,如果中国不具备处理器指令集、微架构和工具链的自主创新能力,指望通过授权(包括架构授权)或者合资方式设计CPU,根本谈不上处理器信息安全的主动防御,也必然无法实现中国处理器行业的弯道超车


注:如您也希望投稿,可移步点击查看:投稿详情



「芯师爷旗下媒体」

 


「芯师爷入驻平台」


如有事情需要联系我们,请发送邮件到:lianxi@wmqn.net