安全公告编号:CNTA-2018-0004
1月4日,国家信息安全漏洞共享平台(CNVD)收录了CPU处理器内核的Meltdown漏洞(CNVD-2018-00303,对应CVE-2017-5754)和Spectre漏洞(CNVD-2018-00302和CNVD-2018-00304,对应CVE-2017-5715和CVE-2017-5753)。利用上述漏洞,攻击者可以绕过内存访问的安全隔离机制,使用恶意程序来获取操作系统和其他程序的被保护数据,造成内存敏感信息泄露。
一、漏洞情况分析
现代的计算机处理器芯片通常使用“预测执行”(Speculative Execution)和“分支预测”(Indirect Branch Prediction)技术实现对处理器计算资源的最大化利用。但由于这两种技术在实现上存在安全缺陷,无法通过正确判断将低权限的应用程序访存与内核高权限的访问分开,使得攻击者可以绕过内存访问的安全隔离边界,在内核中读取操作系统和其他程序的内存数据,造成敏感信息泄露,根据获取到的数据,可能会导致用户的数据隐私泄露、登陆凭证被攻击者窃取。具体信息如下:
1)Meltdown漏洞利用破坏了用户程序和操作系统之间的基本隔离,允许攻击者未授权访问其他程序和操作系统的内存,获取其他程序和操作系统的敏感信息。
2)Spectre漏洞利用破坏了不同应用程序之间的安全隔离,允许攻击者借助于无错程序(Error-Free)来获取敏感信息。
具体的漏洞攻击场景如下:
1)单台物理主机:低权限的攻击者利用漏洞,可访问本地操作系统的内核空间,进一步实现提权或命令执行等操作。
2)云服务虚拟机:攻击者利用漏洞可以绕过虚拟机的隔离防护机制,访问其他租户的内存数据,导致其他云租户的敏感信息泄漏。
3)网页浏览器:利用浏览器的即时编译器(Just-In-Time Compiler)特性,执行恶意代码,读取浏览器内存数据,导致用户账号、密码、邮箱、cookie等信息泄漏。
受影响个体 | 利用风险点 |
个人用户 | 网页浏览器执行恶意脚本 配合其他低权限的漏洞执行代码 |
服务器用户 | 远程上传、执行恶意代码后利用 |
云服务用户 | 被位于同台物理主机、具有代码执行权限的其他云租户攻击 |
CNVD对该漏洞的综合评级为“高危”。目前该漏洞的本地利用代码(POC)已经发布并验证成功,但能够远程利用的执行代码尚未发布,CNVD秘书处正联合技术组成员单位对相关情况做进一步的验证和分析,后续结果将进一步通报。
二、漏洞影响范围
该漏洞存在于英特尔(Intel)x86及x64的硬件中,在1995年以后生产的Intel、AMD、ARM处理器芯片受此漏洞影响,具体受影响的型号列表请参考厂商公告。
1)Intel:https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr
2)AMD:https://www.amd.com/en/corporate/speculative-execution
3)ARM:https://developer.arm.com/support/security-update
同时使用这些处理器芯片的操作系统(Windows、Linux、Mac OS、Android)和云计算设施(亚马逊、微软、谷歌、腾讯云、阿里云等)也受此漏洞影响。
三、处置措施
目前,操作系统厂商通过在其产品内核引入内核页面隔离(KPTI)技术来修复Meltdown和Spectre漏洞。CNVD建议用户密切关注操作系统、虚拟机、浏览器等产品官方网站发布的安全公告,并及时下载补丁进行更新。各厂商的修复情况和参考链接如下:
微软:已为windows 10已供修复包,并对windows 7和windows 8进行在线更新(https://support.microsoft.com/en-us/help/4073235/cloud-protections-speculative-execution-side-channel-vulnerabilities)。浏览器安全补丁已发布(https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002);微软官方信息显示,Spectre Varient1(CVE-2017-5753)和Meltdown Varient 2(CVE-2017-5754)漏洞补丁修复对CPU性能影响较小,Spectre Varient2(CVE-2017-5755)漏洞补丁导致CPU性能损失的主要原因是对底层的指令集做了修改。但由于Window 7/8系统在架构时使用了过多的用户到内核过渡,对系统的影响较大。
苹果:IOS 11.2和macOS10.13.2及tvOS 11.2中加入了保护措施;
谷歌:已于2017年12月向各手机厂商发布了安全补丁包,并发布安全公告(https://source.android.com/security/bulletin/2018-01-01)。1月23日发布的Chrome64浏览器将包含相应的保护机制(https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html);
RedHat:已发布补丁(https://access.redhat.com/security/vulnerabilities/speculativeexecution?sc_cid=701f2000000tsLNAAY);
Ubuntu:已提供修复补丁(https://insights.ubuntu.com/2018/01/04/ubuntu-updates-for-the-meltdown-spectre-vulnerabilities/);
SUSE:已陆续发布补丁(https://www.suse.com/support/kb/doc/?id=7022512);
Mozilla Firefox:官方新版本已更新(https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/);
XEN:已发布安全公告(https://xenbits.xen.org/xsa/advisory-254.html);
QEMU:已发布安全公告(https://www.qemu.org/2018/01/04/spectre/),非官方安全补丁(https://lists.nongnu.org/archive/html/qemu-devel/2018-01/msg00811.html);
Vmware:发布安全公告及补丁(https://www.vmware.com/us/security/advisories/VMSA-2018-0002.html);
Citrix XenServer:发布安全补丁(https://support.citrix.com/article/CTX231390);
亚马逊:已提供修复补丁(https://amazonaws-china.com/cn/security/security-bulletins/AWS-2018-013/);
阿里云:将于2018年1月12日凌晨进行热升级,个别用户可能需要手动重启;
腾讯云:将于2018年1月10日凌晨进行热升级,个别用户可能需要手动重启。
附件1:Windows漏洞验证方法
通过使用微软公司发布的检测PowerShell脚本(https://support.microsoft.com/en-us/help/4073119/protect-against-speculative-execution-side-channel-vulnerabilities-in),可以判断Windows系统是否受漏洞影响。检测方法如下:
1)安装相应的PowerShell模块,执行命令:PS> Install-Module SpeculationControl
2)下载并调用相应脚本(https://spectreattack.com/),对应命令:PS> Get-SpeculationControlSettings其中,开启的保护会显示为True,未开启的保护则会显示为False,如下图所示: