BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Abel Avram 关注 9 他的粉丝 ,译者 宋康婧 关注 0 他的粉丝 发布于 2018年1月15日. 估计阅读时间: 6 分钟 | BCCon2018全球区块链生态技术大会,将区块链技术的创新和早期落地案例带回您的企业

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

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

Google Project Zero以及一些研究人员发现了两个硬件漏洞并提供了详细信息,这两个漏洞会对大部分的桌面和移动设备造成安全影响。这两个漏洞被称为MeltdownSpectre,它们会利用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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT