写点什么

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:002020

评论

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

区块链如何应用到食品?区块链食品安全溯源

13530558032

压抑了五个月的我终于可以放声呐喊了!阿里是真的难进,Java四面面经+面试题

Java架构追梦

Java 阿里巴巴 架构 面试 金三银四

智慧党建平台建设--开拓新时期党建系统

13530558032

阿里P7大牛整理!对Android开发的现状和未来发展的思考,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

HPE的通信技术集团将如何加速电信5G的普及和应用?

VoltDB

数据库 5G VoltDB 电信

Activiti工作流自动生成28张数据库表的底层原理分析

朱季谦

Activity 工作流引擎

区块链农产品溯源平台搭建,一物一码追溯系统

近万字原创长文,以追忆2020年:《请回答,2020》

朱季谦

随笔杂谈

visualvm工具远程对linux服务器上的JVM虚拟机进行监控与调优

朱季谦

JVM GC 调优

Kylin安装部署

五分钟学大数据

kylin 3月日更

微信扫码登录技术实现的简单思考

朱季谦

redis

新思科技解析导致汽车无钥匙进入系统易受攻击的漏洞及缺陷

InfoQ_434670063458

深入理解Spring Security授权机制原理

朱季谦

security

嵌入式软件架构设计之分层设计

cdhqyj

架构 软件 嵌入式 分层

程序员自我提升不得不知道的一些宝藏网址,收藏起来吧

北游学Java

Java 后端 资源分享

基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇5:手机应用开发)

不脱发的程序猿

物联网 28天写作 3月日更 NB-IoT智慧路灯 手机应用开发

spark性能调优之JVN调优

大数据技术指南

spark 3月日更

web前端面试题详细解析

yumibgt

面试

Knativa 基于流量的灰度发布和自动弹性实践

Serverless Devs

Serverless Kubernetes 运维 云原生 Knative

策略枚举:消除在项目里大批量使用if-else的正确姿势

朱季谦

枚举 策略模式

模仿Activiti工作流自动建表机制,实现Springboot项目启动后自动创建多表关联的数据库与表的方案

朱季谦

建表

android开发经典实战!我的移动开发春季历程,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

从开源的历史与今天,聊聊为什么要期待HDC.Cloud 2021

脑极体

爱奇艺大数据生态的实时化建设

爱奇艺技术产品团队

大数据 实时数仓 数据流

Instagram视频下载器: 4K Video Downloader

科技猫

软件 音视频 经验分享 资源分享 工具分享

Rust从0到1-基础概念-函数

rust 函数

vue项目中使用tinymce富文本编辑器实现图片上传/粘贴格式

yumibgt

tinymce

区块链数字版权保护--为数字版权保护赋能

13530558032

统一日志管理方案:Spring项目logback日志与logstash和Elasticsearch整合

朱季谦

ELK

2021最新分享Java面试全套合集!

比伯

Java 编程 架构 面试 计算机

什么?都1202年了还不懂k8s和容器的关系?!这份k8s指南快拿走不谢!

观测云

云计算 k8s 云服务 知识星球

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