98

解读计算机处理器之殇 - Meltdown 与 Spectre

 6 years ago
source link: http://mp.weixin.qq.com/s/ofI-UUw6y2wi9zo_6FXDUA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

解读计算机处理器之殇 - Meltdown 与 Spectre

BDomne 看雪学苑 2018-01-06 09:59 Posted on

Image

0x00 漏洞简评


虽然计算机经过了这么多年的发展,但至今仍构筑在最初的冯氏体系上。因而很自然的,CPU 就成了提升速度的关键瓶颈,除了依赖早期摩尔定律那样的集成电路技术外,性能优化也是其中重要的一环。

而谈及计算机性能优化就不得不提 Cache 机制,此次的 CPU 漏洞简言之就是没处理好 Cache(广义)未命中的情况,借助侧信道攻击可导致信息的泄露,从而使得原有内核态与用户态隔离、进程间隔离的保护机制能被轻易绕过。

随着 CPU 漏洞事件的不断发酵,更多技术细节也开始浮出水面,最新研究表明自 95 年后生产的现代 CPU 都可能存在这些问题。

对无打算更换 CPU 的普通用户来说应该及时更新补丁,性能上必然会受影响,但还不至于太显著。当然,这次事件也给出了一个漏洞挖掘的好思路,芯片安全应该引起我们更多的关注。

0x01 概述


Google Project Zero 公布的 Meltdown(CVE-2017-5754)与 Specter(CVE-2017-5753、CVE-2017-5715)两组漏洞几乎影响所有的主流 CPU,其中就包括了 AMD、ARM 和 Intel。

同时,云端设备、PC、笔记本、平板和智能手机都受到了波及,恶意者可利用这些漏洞来窃取计算机上的敏感数据。

两组漏洞都源于 “推演执行(speculative execution)” 的特性。为了提高性能,CPU 会基于假设推演来预先选择待执行的分支,之后在程序执行期间,如果推演是有效的,那么照此继续执行,如果无效则根据实际情况选择正确的路径执行。

对恶意者来说,可以借助侧信道攻击使 CPU 在推演无效时仍继续执行,从而导致信息的泄露。

0x02 Meltdown 攻击


Meltdown 漏洞利用到了无序执行指令(Out-of-Order)模式,可允许恶意者读取目标设备的整个物理内存空间,而不单是内核空间,从而泄露出操作系统及其上应用程序的所有信息。

利用程序中借助了处理器提权漏洞,使得指令可以绕过内存保护,从而由 “推演执行” 特性绕过用户层到内核层的限制,这就使得应用程序也能访问系统为内核分配的空间。

0x03 Spectre 攻击


要完全解决 Spectre 漏洞需改变处理器的架构,因此该漏洞不容易修补且会困扰人们很长一段时间。

它打破了不同进程间的隔离机制,攻击者会先让进程访问其内部的特定空间,而后通过侧信道方式读取相应数据,从而泄露出程序信息。

Spectre 攻击不仅可以用于内核层到用户层的信息泄露,还可用于虚拟化中 Hypervisor 层到 Client 层的信息泄漏。此外,借助 JS 代码还可实现浏览器沙箱逃逸:

Image

需要注意的是,用于防护 Meltdown 攻击的 KAISER 机制对其是不适用的。

0x04 漏洞的修复


  • Windows OS (7/8/10) 和 Microsoft Edge/IE

    微软已经发布了针对 Windows 10 的安全更新(KB4056892),用于解决 Meltdown 问题,并将于 1 月 9 日发布针对 Windows 7 和 Windows 8 的修复程序。

  • Linux OS

    Linux 也发布了内核补丁,版本包括 4.14.11、4.9.74、4.4.109、3.16.52、3.18.91 和 3.2.97,用户可以从 Kernel.org 上下载。

  • Apple macOS、iOS、tvOS 和 Safari Browser

    Apple 在公告中指出,所有 Mac 系统和 iOS 设备都受到了影响,但目前还没有已知的攻击事件发生。

    为了预防 Meltdown 攻击,Apple 已经在 iOS 11.2、macOS 10.13.2 和 tvOS 11.2 上释出了缓解措施,针对 Spectre 攻击的修复方案将在后续发布。

  • Android OS

    Google 表示,1 月 5 日发布的安全更新已经释出了最新版的 Android 操作系统。

  • Firefox Web Browser

    Mozilla 已经发布了 Firefox 57.0.4 版本,其中包含针对 Meltdown 和 Spectre 攻击的缓解措施,建议用户尽快更新。

  • Google Chrome Web Browser

    Google 计划在 1 月 23 日发布 Chrome 64 版本用于防御针对 Meltdown 和 Spectre 的攻击,在此期间,用户可启用 “Site Isolation” 功能。

  • VMware

    云计算厂商 VMware 也发布了受影响的产品清单以及针对 Meltdown 攻击的修复措施。

更多详情可参考看雪论坛专题帖:

详情戳左下角“阅读原文”

Image

本文由看雪翻译小组 BDomne 编译,来源hackernews

转载请注明来自看雪社区

点击阅读原文/read,

更多干货等着你~

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK