首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

转自:看雪学院

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 代码还可实现浏览器沙箱逃逸:

需要注意的是,用于防护 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 攻击的修复措施。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110B05P4M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券