重大处理器漏洞Meltdown(熔毁)和Spectre(幽灵)应急通报

时间  2018年01月04日  来源:  Antiy CERT

一、概述

安天安全研究与应急处理中心(Antiy CERT)发现,北京时间2018年01月03日左右,Google公司的Project Zero安全团队披露,英特尔处理器芯片存在非常严重的安全漏洞,该漏洞事件源于芯片硬件层面的设计BUG,利用漏洞能够允许具有用户态权限的进程执行未经过授权的CPU缓存数据读取,这有可能导致攻击者获取到用户设备上的一些敏感数据,例如密码、登录密钥、用户的私人照片、邮件、即时通讯信息甚至是商业秘密文件等。

安天在第一时间向管理部门提交威胁通报,并根据管理部门的要求正在进一步做深度的分析验证和应对工作。安天CERT立刻对该事件启动A级应急响应,经分析人员验证并判定,该漏洞是一个足以动摇全球云计算基础设施根基的漏洞,其意味着任何虚拟机的租户或者入侵了一个虚拟机的攻击者,都可以通过相关POC去获取完整的物理机的CPU缓存数据,而这种攻击对现有虚拟化节点的防御机制是无法感知的。

同时,该漏洞对于攻击桌面节点同样有巨大的攻击力,其大大提升了以浏览器等为攻击入口的攻击成功率。包括使传统的使用非超级用户来降低网络风险的安全策略失效。 但鉴于该产品的主要影响在云基础设施,其更多依赖于芯片厂商和操作系统厂商给出更深入有效的支持和关键基础设施用户修补漏洞的速度,安全厂商当前能做的工作更多是提升对自身客户的保障级别和协助主管部门和公众了解威胁。

二、漏洞介绍

针对英特尔处理器涉及到两种攻击方法,分别为Meltdown和Spectre,Meltdown涉及CVE编号CVE-2017-5753和CVE-2017-5715,而Spectre涉及CVE编号CVE-2017-5754。

Meltdown破坏了位于用户和操作系统之间的基本隔离,此攻击允许程序访问内存,因此其他程序以及操作系统的敏感信息会被窃取。这个漏洞“熔化”了由硬件来实现的安全边界。允许低权限用户级别的应用程序“越界”访问系统级的内存,从而造成数据泄露。

Spectre则是破坏了不同应用程序之间的隔离。问题的根源在于推测执行(speculative execution),这是一种优化技术,处理器会推测在未来有用的数据并执行计算。这种技术的目的在于提前准备好计算结果,当这些数据被需要时可立即使用。在此过程中,英特尔没有很好地将低权限的应用程序与访问内核内存分开,这意味着攻击者可以使用恶意应用程序来获取应该被隔离的私有数据。

三、影响范围

本次安全事件影响到的范围很广,包括:
处理器芯片:英特尔为主、ARM、AMD,对其他处理器同样可能存在相关风险。
操作系统:Windows、Linux、macOS、Android
云服务提供商:亚马逊、微软、谷歌、腾讯云、阿里云等
各种私有云基础设施。
桌面用户可能遭遇到结合该机理组合攻击。

四、检测方法

Windows客户,通过使用微软公司发布的检测PowerShell脚本,能够判断Windows系统是否受漏洞影响。

首先,需要安装相应的PowerShell模块,对应命令:PS> Install-Module SpeculationControl[5]

其次,需要调用相应脚本,对应命令:PS> Get-SpeculationControlSettings[5]

其中,开启的保护会显示为True,未开启的保护则会显示为False,如下图所示:

微软漏洞检测工具运行情况

五、应对建议

目前Linux内核开发人员已经发布了针对Meltdown攻击方式的补丁,详情见:

https://lwn.net/Articles/738975/

Google部分产品已经针对这些攻击方式做出了修补,但是在部分情况下还需要用户采取额外的步骤确保产品受保护,针对安卓也将在1月5日推出补丁更新以限制对ARM处理器的所有已知变种攻击。详情见:

https://support.google.com/faqs/answer/7622138

微软发布了几个更新来缓解这些漏洞,建议用户在安装操作系统或固件更新之前,请确认防病毒应用程序对其兼容,并且建议用户应用所有可用的Windows操作系统更新,包括2018年1月的Windows安全更新。详情见:

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

其他厂商也将要或已部分推出针对这些攻击方式的补丁,英特尔也提出正在与包括AMD、ARM以及各大操作系统厂商进行合作,以制定行业规范方法,及时、建设性的解决这个安全问题。

目前部分厂商已针对此漏洞做出反馈:

VMware:

https://www.vmware.com/us/security/advisories/VMSA-2018-0002.html

AMD:

https://www.amd.com/en/corporate/speculative-execution

Red Hat:

https://access.redhat.com/security/vulnerabilities/speculativeexecution

Nvidia:

https://forums.geforce.com/default/topic/1033210/nvidias-response-to-speculative-side-channels-cve-2017-5753-cve-2017-5715-and-cve-2017-5754/

Xen:

https://xenbits.xen.org/xsa/advisory-254.html

ARM:

https://developer.arm.com/support/security-update

Amazon:

https://aws.amazon.com/de/security/security-bulletins/AWS-2018-013/

Mozilla

https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/

广大用户应密切关注补丁发布动态,及时对系统进行更新并应用设备制造商提供的适用固件更新才能有效防止自己的设备受到此类攻击。

附录一:参考资料

[1]《Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign》

https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/

[2]《Google: Almost All CPUs Since 1995 Vulnerable To "Meltdown" And "Spectre" Flaws》

https://www.bleepingcomputer.com/news/security/google-almost-all-cpus-since-1995-vulnerable-to-meltdown-and-spectre-flaws/

[3]《Meltdown and Spectre》

https://spectreattack.com/

[4]GitHub上用户ID为turbo提供的PoC代码下载地址

https://github.com/turbo/KPTI-PoC-Collection

[5]微软提供的检测方法

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe