安全研究人员最近发现了名为“Meltdown”(熔断)和“Spectre”(幽灵)的安全问题。这些问题触及所有现代处理器,并且会影响几乎所有计算设备和操作系统。所有 Mac 系统和 iOS 设备都会受到影响,但目前还没有影响客户的已知漏洞利用。由于要利用很多这些问题都必须在您的 Mac 或 iOS 设备上加载恶意应用,因此我们建议您仅从可信来源(如 App Store)下载软件。
Apple 已经在 iOS 11.2、macOS 10.13.2 和 tvOS 11.2 中发布了缓解措施,帮助防范“Meltdown”(熔断)。为了帮助防范“Spectre”(幽灵),Apple 已经在 iOS 11.2.2、macOS High Sierra 10.13.2 补充更新、macOS Sierra 和 OS X El Capitan 上的 Safari 11.0.2 发布了缓解措施。Apple Watch 不受“Meltdown”(熔断)或“Spectre”(幽灵)的影响。我们将继续开发和测试针对这些问题的进一步缓解措施,并在即将推出的 iOS、macOS 和 tvOS 更新中发布。
背景
“Meltdown”(熔断)和“Spectre”(幽灵)问题利用现代 CPU 中一项名为预测执行的性能特性。预测执行通过同时执行多个指令来提高速度,执行的顺序可能与指令进入 CPU 时的顺序不同。为了提高性能,CPU 会预测分支的哪个路径最有可能被采用,甚至会在分支完成之前继续预测性地执行该路径。如果预测错误,这种预测执行将会回滚,而这个过程软件是看不到的。
“Meltdown”(熔断)和“Spectre”(幽灵)的漏洞利用技巧会滥用预测执行,以从权限较低的用户进程(例如设备上运行的恶意应用)访问高权限的内存(包括内核内存)。
“Meltdown”(熔断)
“Meltdown”(熔断)是 CVE-2017-5754 或“rogue data cache load”(恶意数据缓存读取)漏洞利用技巧的名称。“Meltdown”(熔断)技巧使用户进程可以读取内核内存。我们的分析表明它最有可能被利用。Apple 已经在 iOS 11.2、macOS 10.13.2 和 tvOS 11.2 中发布了针对“Meltdown”(熔断)的缓解措施。watchOS 不需要采取缓解措施。我们使用公共基准进行的测试显示,2017 年 12 月更新中的更改没有导致 macOS 和 iOS 出现可测量的性能降低(基于 GeekBench 4 基准测试或者常见的 Web 浏览基准测试,如 Speedometer、JetStream 和 ARES-6)。
“Spectre”(幽灵)
“Spectre”(幽灵)这个名称包含两种不同漏洞利用技巧,分别是 CVE-2017-5753“bounds check bypass”(绕过边界检查)和 CVE-2017-5715“branch target injection”(分支目标注入)。这些技巧可能会利用 CPU 检查内存访问调用有效性的时间延迟,使用户进程能够访问内核内存中的项目。
对这些技巧的分析表明,即使通过在 Mac 或 iOS 设备本地运行应用,这些技巧也很难被利用,但是它们可能会在网页浏览器中运行的 JavaScript 中被利用。在 1 月 8 日,Apple 发布了针对 macOS 和 iOS 上的 Safari 的更新,作为这些漏洞利用技巧的缓解措施。我们目前的测试表明,Safari 的缓解措施在 Speedometer 和 ARES-6 测试中没有可测量的影响,在 JetStream 基准测试中的影响低于 2.5%。我们将继续在操作系统中开发和测试针对“Spectre”(幽灵)技巧的进一步缓解措施,并在即将推出的 iOS、macOS 和 tvOS 更新中发布。watchOS 不受“Spectre”(幽灵)的影响。