关于 CPU 推测执行漏洞,您需要知道这些

推测执行 (speculative execution) 是当今主流处理器(包括 AMD、ARM 和 Intel)中广泛采用的一项优化技术。其基本思路是利用处理器的空闲时间提前执行一些将来 “可能用得上,但也可能被放弃” 的计算(包括分支预测、预读内存和文件数据),从而极大提升系统的整体运行速度。然而我们发现这项优化技术可能存在漏洞,进而威胁用户数据安全。本文将为大家介绍事件脉络,并阐述我们至今为保护大家的数据安全所做的努力和成果。

背景

去年,我们的 Project Zero 团队发现了由 “推测执行” 引起的严重安全漏洞,这是大多数现代处理器 (CPU) 用来优化性能的技术。

Project Zero 的研究人员 Jann Horn 展示了一些可能的进攻场景:恶意行为者可以利用推测执行来读取本应无法被访问的系统内存。例如,未经授权方可能会读取系统内存中的敏感信息,如密码、加密密钥或是在应用中打开的敏感信息。测试还表明,在虚拟机上运行的攻击能够访问主机的物理内存,并通过这种方式获得同一物理主机上其他虚拟机的内存读取权限。

这些漏洞会影响许多 CPU,包括来自 AMD、ARM 和 Intel 的 CPU,以及运行在其上的设备和操作系统。

在得知了这个新的攻击类型后,我们的安全和产品开发团队便立即行动起来,捍卫 Google 的系统安全和用户数据。我们已经更新了受影响的系统和产品,以阻止这种新型的攻击。我们还与整个行业内的硬件和软件制造商合作,帮助保护用户和更广义的网络安全。这些努力包括协作分析和开发全新的应对方法。

由于现有的公开报道以及新闻和安全研究领域对这个问题的猜测越来越多,这可能会导致这种新型的攻击方法被更多人恶意利用,因此我们没有在原定计划的 2018 年 1 月 9 日,而是提前了一些时间进行发布(本文原文在 2018 年 1 月 3 日发表于 Google Security Blog,本文结尾处有完整链接)。

Google 产品的应对状态

下面我们列出了受影响的 Google 产品列表及其对此攻击的应对状态。由于这是一种新的攻击类型,我们的补丁状态指的是我们为防范目前已知的缺陷和进攻方式所采取的措施。这些措施已经在很多产品中起到了显著效果(甚至某些产品中从一开始就不存在推测执行漏洞)。在某些情况下,用户和客户可能需要采取额外的操作步骤来确保他们使用的是安全的产品版本。这个列表和其中的产品状态可能会随着新的进展而变化。届时我们也会更新这个列表,并告知大家。

以下未明确列出的 所有Google 产品都不需要用户或客户进行操作。

Android:

  • 拥有最新安全更新的设备已受保护。虽然这个漏洞可能造成基于 ARM 的 Android 设备信息泄露,但在我们的更新后未发现这个漏洞再次出现。
  • 安装了最新安全更新的受支持的 Nexus 和 Pixel 设备已受保护。
  • 更多信息请见

Google Apps / G Suite ( Gmail, Calendar, Drive, Site 等 ) :

  • 无需额外的用户或客户操作。

Google Chrome:

Google Chrome OS ( 如 Chromebook ) :

Google Cloud Platform:

Google Home / Chromecast:

  • 无需额外的用户操作。

Google Wifi / OnHub:

  • 无需额外的用户操作。

漏洞的攻击方法及对策

要利用此漏洞,攻击者首先必须能够在目标系统上运行恶意代码。

Project Zero 的研究人员发现了三种在不同条件下有效的攻击方法(即 “变种” )。所有这三种攻击方式都可以允许拥有普通用户权限的进程执行未经授权的内存数据读取,这些数据可能包含密码、密钥资料等敏感信息。

为了提高系统的运行性能,许多 CPU 可能会选择基于被认为可能成立的假设来推测性地提前执行指令。在推测执行期间,处理器也会验证这些假设:如果它们成立,则继续之前执行的操作;如果它们不成立,则回滚之前执行的操作,并根据实际情况转向正确的执行路径。这种运行机制可能存在分支解除时没有回滚 CPU 状态而产生副作用,并且导致信息泄露。

对于三个攻击变种没有单一的解决方案:每个变种都需要独立的保护措施。许多供应商都提供了补丁,可用于应对一种或多种的此类攻击。

我们将继续应对此漏洞,并会在发布进一步措施时更新我们的产品支持页面。同时,感谢所有合作伙伴和 Google 工程师,在过去几个月里不知疲倦地为我们的用户和客户提供了安全支持。

> 本文的英文原链接

> Project Zero 关于此漏洞的完整报告请使用如下链接查看

> Google 针对此漏洞的所有产品应对状态清单请使用如下链接查看

希望这篇文章可以帮助您了解到您在使用 Google 工具及服务面对漏洞时的状态及应对举措。如果您还有与此相关的疑惑及问题,欢迎在我们的公众平台留言,我们将收集有代表性的问题,请 Google 工程师做出解答,并会在下一期的 “Android 开发者 FAQ” 专题文章中统一回复大家。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

管理混合云和多云:代理或无代理?

导语 混合云在节省更多IT成本方面提供更多的潜力,并将这些成本节约转向改善业务成果,但却带来了一些独特的挑战。人工手动的流程在一个混合的世界变得难以管理,因为云...

366100
来自专栏JAVA高级架构

Java开发工程师理解的三种架构模型

常用的软件架构模型可以归类为三种架构模型:3/N层架构、“框架+插件”架构、地域分布式架构。 一.三种架构模型 1.3/N层架构 这是经典的多层架构模型,对于稍...

35370
来自专栏软件测试经验与教训

自动化测试实施方案

1.2K60
来自专栏码神联盟

云时代 | 云主机服务器概述、优势及如何选择

近年来,有关云计算的信息、产品和概念,正充斥着互联网的每个角落,在互联网+的背景之下,云技术的出现更是让许多企业的业务数据向云计算靠拢。 1什么是云主机服务器?...

1.6K80
来自专栏hadoop学习笔记

Hadoop基础入门之发行版本的选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬...

11310
来自专栏云计算D1net

针对云原生转型的6个关键数据策略

20240
来自专栏架构之美

以IM为例看58同城典型技术架构演变

24740
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙回顾|IOS测试利器—idb

IOS测试利器—idb 活动时间:2017年5月17日 QQ群视频交流 活动介绍:TMQ在线沙龙第二十一期分享 本次分享的主题是:IOS测试利器—idb 共有1...

31870
来自专栏云计算D1net

公有云提供商挑选准则

当涉及到选择一个公有云供应商时,成本常常是第一个考虑的因素。但其他的因素,例如虚拟机迁移,存储和自动扩展等,也都应该考虑在内。 在企业转移到公有云或混合云时,不...

41570
来自专栏Forrest随想录

有了CMDB,为什么还要应用配置管理

CMDB翻译过来,Configuration Management DataBase,其实也是配置管理的意思,但从实际情况看,CMDB的概念定义已经出现了很大的...

28530

扫码关注云+社区

领取腾讯云代金券