CPU芯片级漏洞MeltDown(CVE-2017-5754)和 Spectre(CVE-2017-5715/5753)

2018-01-04 09:53:15
2018年1月4日,Google Project Zero、宾夕法尼亚大学、马里兰大学等多家院校、公司的研究者们披露了两组CPU级别的漏洞:Spectre(CVE-2017-5715/CVE-2017-5753);Meltdown(CVE-2017-5754)
漏洞曝光时间:2018-01-04
漏洞风险程度:高危
漏洞曝光程度:已经公开
受漏洞影响操作系统以及版本:

漏洞影响非常广泛,CPU的这些特性从1995年开始应用,已有20多年时间,Intel、AMD等PC处理器、高通等ARM处理器都受到漏洞影响,基于现代CPU之上运行的Linux、Mac OS、Windows等操作系统均受漏洞影响。

缓解或修复方案:
相关安全公告
Intel
https://newsroom.intel.com/news/intel-responds-to-security-research-findings/
https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr
Microsoft
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
Amazon
https://aws.amazon.com/de/security/security-bulletins/AWS-2018-013/
ARM
https://developer.arm.com/support/security-update
Google
https://googleprojectzero.blogspot.co.at/2018/01/reading-privileged-memory-with-side.html
https://www.chromium.org/Home/chromium-security/ssca
MITRE
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5715
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5753
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5754
Red Hat
https://access.redhat.com/security/vulnerabilities/speculativeexecution
Xen
http://xenbits.xen.org/xsa/advisory-254.html
Mozilla
https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
VMware
https://www.vmware.com/us/security/advisories/VMSA-2018-0002.html
AMD
https://www.amd.com/en/corporate/speculative-execution

由于“Meltdown”和”Spectre”两组漏洞涉及到底层CPU架构,因此在操作系统层面修复起来非常复杂,可能会有部分软件不兼容、性能下降等等问题,建议相关企业、用户参考相关厂商的安全公告,作好评估和修复工作。
漏洞描述:

2018年14日,Google Project Zero、宾夕法尼亚大学、马里兰大学等多家院校、公司的研究者们披露了两组CPU级别的漏洞:

Spectre(CVE-2017-5715/CVE-2017-5753)

Meltdown(CVE-2017-5754)

在现代处理器(CPU)中,为了充分利用处理器资源,加速指令执行,CPU中引入了多种机制,例如乱序执行(out-of-order Execution)、预测执行(Speculative Execution)、间接分支预测(Indirect Branch Prediction)等等。这些机制使得指令不是按照顺序依次执行,而是并行执行,在当前指令或分支还没有执行完,后面的指令或分支就会并行地处理。如果当前指令发生异常,或者分支判断出错,CPU会取消操作并且恢复到原来的现场,恢复寄存器、内存中的值,这使得后面的指令或分支虽然被执行了,但是并不影响寄存器、内存的值。在很大概率下,CPU的预测都是正确的,后面的指令、分支的执行也是正确的,这些技术也大大加速了CPU的执行速度。

这两组漏洞出现CPU在恢复现场时,仍然存在一些没有恢复的信息,例如TLB、缓存状态等等,攻击者可以通过这些状态信息,间接推测出内存、缓存的内容,获取到高权限场景下的敏感数据。

利用这两组漏洞,攻击者可以在低权限场景下,越权读取到高权限下的内存内容,例如,在用户态下读取操作系统内核中的内容,或者在浏览器中通过JavaScript脚本读取浏览器进程中的信息。

在实际的攻击场景中,攻击者可以实现:

1)获取操作系统内核运行有关信息,从而绕过内核、虚拟机管理器的隔离防护;

2)在浏览器中获取用户的帐号、密码、cookie等隐私信息;

3)在云服务中,获取到服务器上其他用户的信息。


最新资讯