写点什么

Meltdown 和 Spectre 是什么以及如何应对

  • 2018-01-14
  • 本文字数:1823 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

本文讨论最新的 CPU 漏洞,Meltdown 和 Spectre,以及当下的解决方案。

Google Project Zero 以及一些研究人员发现了两个硬件漏洞并提供了详细信息,这两个漏洞会对大部分的桌面和移动设备造成安全影响。这两个漏洞被称为 Meltdown Spectre ,它们会利用 CPU 的“预测执行(speculative execution)”使得非相关进程也能访问虚拟内存,从而导致数据可能被并无访问权限的进程读取。这是一个影响Intel、AMD 和ARM 众多CPU 型号的底层硬件问题。Google 于去年6 月向各处理器制造商报告了这个问题。

Meltdown 使得一个进程可以访问操作系统的部分内核内存,从而暴露敏感数据。Spectre 使得一个进程能够访问另一个进程的内存空间,造成数据泄露。Meltdown 会影响支持乱序执行(out-of-order execution)的 Intel 处理器,这可能包括自 1995 年以来的各种 CPU 型号。研究人员在 2011 年以来的几种 Intel 处理器上运行了测试。ARM 的一些处理器会受到这种漏洞的变体的影响,使得一些 CPU 注册表能被其他非相关进程访问。AMD 处理器似乎并不受 Meltdown 影响。但是 Spectre 影响所有的主流 CPU,包括 AMD、ARM 和 Intel。如果想了解更多关于这些漏洞的详细信息以及如何利用这些漏洞,我们建议你去阅读 Google Project Zero 的这篇文章,以及Meltdown( PDF )和 Spectre( PDF )研究论文。

这些漏洞相当严重。大多数市面上的操作系统都受到了影响,包括 Linux、MacOS 和 Windows。Android 以及 Apple 的 iOS 系统和 tvOS(但是没有 watchOS)也受到了影响。 CERT 提到,真正的解决方案是将系统的 CPU 替换为没有漏洞的 CPU。鉴于这个方案不具备实际可操作性,软件解决方案已经就位甚至已经生效。不过问题是,这种修复似乎有性能问题,有的造成的性能下降甚至高达30% 。Intel 声称性能下降“取决于工作负载”,“对于普通的电脑用户,应该没有什么大影响并且会随着时间改善。”

Intel 还提到,它已经向操作系统制造商提供了软件和固件修复。AMD 则发布了安全公告,概述了这些漏洞,哪些漏洞会对使用它们处理器的系统造成什么样的影响,会向操作系统供应商提供哪些修复,以及性能会受到一些影响。ARM 也发布了自己的公告,介绍了哪些处理器会被影响以及如何处理。

Microsoft 将在下周通过标准更新机制发布更新。Linux 已经发布了可用的内核补丁(32-bit),针对 64-bit/ARM 的补丁仍在开发中。Apple 则在声明中表示,已经为 iOS 11.2、macOS 10.13.2 以及 tvOS 11.2 发布了针对 Meltdown 的更新,以及:

我们做了一些公开的基准测试,不管是 GeekBench 4 的基准测试还是像 Speedometer、JetStream 和 ARES-6 一类通用的 Web 浏览器基准测试都表明,2017 年 12 月的更新并没有给 macOS 和 iOS 带来多少性能损失。

至于 Spectre,Apple 则表示:

关于这些技术的分析表明,即使是在 Mac 或 iOS 设备上本地运行的应用程序,这些漏洞也极难被利用,但是却可能通过运行在 Web 浏览器上的 JavaScript 利用这些漏洞。Apple 将在未来几天发布针对 macOS 和 iOS 上 Safari 浏览器的更新,以应对这些漏洞利用技术。我们对即将发布的 Safari 优化做了一些测试,Speedometer 和 ARES-6 测试结果显示并没有多少性能影响,而 JetStream 基准测试则显示有 2.5% 的性能降低。我们将继续在操作系统中针对 Spectre 技术开发和测试更多的优化,并在之后的 iOS、macOS、tvOS 和 watchOS 更新中发布。

再来说云供应商。 Amazon 宣称运行在他们系统里的大多数实例都得到了保护,另一些则会很快得到处理。Microsoft 也声称 Azure 上的大多数客户都受到了保护,其中有一些还收到了通知,他们的实例会在 1 月 10 号重启。 Google 则表示,他们已经对他们的云系统打了补丁,只有那些使用自己的镜像的客户才需要更新。Xen 为它们的系统管理程序发布了补丁。在应用程序层面上,Google 建议用户使用 Chrome 里的网站隔离功能 Firefox 也有这个功能。Microsoft 则发布了一个补丁( KB4056890 ),帮助在 Edge 和 IE 11 上避开漏洞。 2018 年 1 月的 Android 安全公告则提供了 Google 准备如何在它们的移动操作系统上处理这个问题的细节。他们声称合作方已经在一个月之前就得到了通知,AOSP 将会在近期打补丁。

Google 还提到,他们还没有发现任何相关的漏洞利用存在,但是未经验证的代码可能会利用这些漏洞。

查看英文原文: Meltdown and Spectre: What They Are and How to Deal with Them

2018-01-14 18:002139

评论

发布
暂无评论
发现更多内容

springboot druid 数据库连接池连接失败后一直重连

Jeremy Lai

渗透利器 | 常见的WebShell管理工具

喀拉峻

网络安全

华为云IoT体验:基于IoT平台构建智慧路灯应用

乌龟哥哥

2月月更

微信朋友圈高性能复杂度分析

「架构实战营」

跨平台移动APP开发进阶(二):HTML5+、mui开发移动app教程

No Silver Bullet

跨平台 2月月更 mui

欢迎客户支持自动化领域的新兴领导者 Percept.AI 加入 Atlassian 大家庭!

Atlassian

敏捷 Atlassian Jira JiraServiceManagement 客户服务

架构实战营模块二作业-微信朋友圈复杂度分析

炎彬

「架构实战营」

[架构实战营] 模块九作业

Geek_0ed632

「架构实战营」

简析Web3 架构:前端、后端和数据

devpoint

区块链 dapp Solidity Web3.0 2月月更

《人月神话》第十九章阅读笔记:20年后的《人月神话》

panda

人月神话 概念完整性 阅读笔记

基于 SAP BTP 平台的 AI 项目经验分享 | 社区征文

汪子熙

人工智能 机器学习 AI 新春征文 2月月更

微信朋友圈业务架构分析

Geek_1b4338

#架构实战营 「架构实战营」

程序员,如何避免无效会议?

蜜糖的代码注释

2月月更

DevOps进阶(二):DevOps 发展史

No Silver Bullet

DevOps 2月月更

跨平台应用开发进阶(三): uni-app 实现资源在线升级/热更新

No Silver Bullet

uni-app 更新 版本升级 2月月更

模块二作业

blazar

「架构实战营」

模块 7 作业

miliving

《人月神话》第十六章阅读笔记:没有银弹

panda

人月神话 阅读笔记 没有银弹

蜜罐中利用jsonp跨域漏洞和xss漏洞的分析

H

网络安全 安全漏洞

给 zsh 自定义命令添加参数自动补全

mzlogin

Shell zsh

[JAVA冷知识]JAVA居然可以多继承吗?让我们用内部类去实现吧!

山河已无恙

Java 2月月更

跨平台移动APP开发进阶(一):mui开发注意事项

No Silver Bullet

App 跨平台 2月月更 mui

iOS开发备战金三银四·突击大厂的算法与底层原理复习方向

iOSer

ios iOS面试 iOS底层 金三银四跳槽 算法面试

如何快速开发 Serverless Devs Package ?

Serverless Devs

Serverless

自省与反思(一)

懒时小窝

反思 反思总结

深入浅出 ESM 模块 和 CommonJS 模块

局外人

JavaScript node.js 前端 前端开发 模块化

每天都扫的二维码,你知道它的技术原理吗?

慕枫技术笔记

后端 2月月更

Web Components 系列(五)—— 详解 Slots

编程三昧

前端 组件化 2月月更 WebComponent

无人管的 InfoQ 每周精选

scruel

InfoQ

Go 语言入门很简单:String

宇宙之一粟

Go 语言 2月月更

开杠面试官-微信朋友圈高性能架构

晨亮

「架构实战营」

Meltdown和Spectre是什么以及如何应对_安全_Abel Avram_InfoQ精选文章