美文网首页首页投稿(暂停使用,暂停投稿)
关于 CPU 推测执行漏洞,您需要知道这些

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

作者: 谷歌开发者 | 来源:发表于2018-01-30 16:09 被阅读84次
image

推测执行 (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 设备已受保护。

  • 更多信息请见:
    https://support.google.com/faqs/answer/7622138#android

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 工程师,在过去几个月里不知疲倦地为我们的用户和客户提供了安全支持。

本文的英文原链接:
https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html
Project Zero 关于此漏洞的完整报告请使用如下链接查看:
https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html
Google 针对此漏洞的所有产品应对状态清单请使用如下链接查看:https://support.google.com/faqs/answer/7622138

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

****推荐阅读:****

相关文章

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

    推测执行 (speculative execution) 是当今主流处理器(包括 AMD、ARM 和 Intel)...

  • 面试题总结2 Runloop

    第一关于runloop首先要理解cpu cpu是通电即执行 而runloop则是控制cpu执行的指令runloop...

  • Java内存模型和volatile、synchronized

    前言 先说说计算机缓存:计算机在执行程序的时候,都是通过CPU来执行指令,当然执行一串指令少不了需要某些数据,这些...

  • 随笔

    今天我第一次完完整整的做出一个计划。一个关于你的计划。这个计划肯定有很多我没发现的漏洞,但这些需要在执行计划的时候...

  • dvwa-XSS (Reflected)

    XSS攻击需要具备两个条件:需要向web页面注入恶意代码;这些恶意代码能够被浏览器成功的执行XSS反射型漏洞 反射...

  • 暂缓执行漏洞(Transient execution CPU v

    现代CPU为了优化速度,会在等待某些慢速操作(内存访问,分支判断,权限检查等)返回之前,提前执行后面的代码,如果执...

  • 多线程学习(上)

    为什么需要多线程? CPU/内存/IO巨大的性能差异; 多核CPU的发展; 多线程可以使得多个执行流,并发执行。 ...

  • 程序计数器

    说明 在程序运行中,会产生很多个线程,cpu会高速在这些线程中切换,并不是串行执行的,并发执行,多核cpu会产生并...

  • Ubuntu16.04离线更新OpenSSH至最新版本(open

    最近公司应对DX集团平台扫描的漏洞,很多是关于OpenSSH相关的漏洞。话说在线处理这些漏洞,那就是so...

  • 《计算机组成与体系结构》——8.2机器指令

    本节要点: 操作码 CPU的操作由它所执行的指令确定。这些指令称为机器指令或计算机指令。CPU能执行的各种不同指令...

网友评论

    本文标题:关于 CPU 推测执行漏洞,您需要知道这些

    本文链接:https://www.haomeiwen.com/subject/lwyczxtx.html