英特尔曝出重大安全漏洞:亚马逊、微软等众多云服务受影响

该漏洞存在于英特尔的 x86 硬件之中,无法通过微码升级来解决,必须在系统层面通过安装软件、或者购买没有设计缺陷的新处理器来解决——所以包括苹果 64 位 macOS 等在内的其他系统也需要进行类似的更新和调整。

目前,英特尔芯片漏洞的具体细节尚未披露,预计会在下周二的微软补丁发布日公布。虽然 Linux 内核的修补程序可供所有人查看,但源代码中的注释已被改动以混淆该问题。

漏洞可能造成的影响

该 bug 存在于过去十年中所生产的现代英特尔处理器中,它能在一定程度上允许普通的用户程序识别受保护区域的内核布局及内容——从数据库应用到网页浏览器中使用的 Java。

一般的解决方法是使用 KPTI隔离,将内核的内存与用户进程完全分开。如果需要执行写入文件或打开网络连接等操作,就必须暂时将处理器的控制权交给内核来执行。为了尽可能快速高效地从用户模式转换到内核模式并最终回到用户模式,内核需要放置于进程的虚拟内存地址空间中)。当需要内核时,程序进行系统调用,处理器切换到内核模式并进入内核。完成后,告知 CPU 切换回用户模式,并重新进入该过程。在用户模式下,内核的代码和数据不可见,但会在进程的页表中显示。

这些 KPTI 补丁将内核移到了一个完全独立的地址空间,所以它不仅对运行的进程不可见,甚至根本就不存在。实际上这应该是默认的规则,但英特尔芯片中存在的缺陷,导致内核访问保护以某种方式被绕过了。

但是这种分离也有不利之处,系统在两个单独的地址空间之间互相切换是相对昂贵且耗费时间的,而且这种切换还会带来延迟,强制处理器转储缓存数据并从内存中重新加载信息——这增加了内核的开销,并减慢了计算机的速度。

安全漏洞为何会被滥用?

安全漏洞的存在,会被恶意软件和黑客大肆利用,严重的还会被恶意程序和登录用户滥用来读取内核内存的内容。想象一下,在浏览器中运行的一段 Java,或者在共享的公共云服务器上运行的恶意软件,能够接触到敏感内核保护的数据,包括密码、登录密钥、从磁盘缓存的文件等等。

具体而言,对于 bug 操作系统使用的防御机制是将内核组件放置在随机位置的虚拟内存中,能够阻止在内核中滥用其他错误的尝试。如果将内核的代码随机放置在内存中,攻击者就无法找到他们所需的内部小工具来完全破坏系统。不过处理器漏洞需要用来定位内核中数据和代码的位置,会导致软件被修补得乱七八糟的。

但是,英特尔芯片漏洞的影响可能比这些还糟糕。AMD 发给 Linux 的电子邮件中表示:AMD 处理器不受内核页表隔离功能的攻击限制,但是 AMD 微架构不允许包括推测引用在内的内存引用方式,因为这在访问时会导致页面错误、以较低特权模式访问较高特权数据。

这里就有“投机”的存在。从 AMD 软件工程师 Tom Lendacky 在上面邮件中提到的内容可以看出,英特尔的 CPU 在没有执行安全检查的情况下会推测性地执行代码,通过被阻塞的指令开始执行软件,并且在特权级别检查发生之前完成该指令——这就意味着将允许 ring-3 级用户代码读取 ring-0 级内核数据,隐患更大。

受影响的大牌云计算厂商

据了解,这个 bug 将会影响包括亚马逊 EC2、微软 Azure 和谷歌 Compute Engine 在内的众多知名云计算环境。

微软的 Azure 云将在 1 月 10 日进行维护和重启。亚马逊网络服务公司将通过电子邮件警告客户,预计本周五将有重大安全更新登陆,但没有披露具体细节。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2018-01-04

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

再论分布式事务:从理论到实践

本文补充一种分布式事务解决方法:Best Effort. Best Effort   best effort即尽最大努力交付,主要用于在这样一种场景:不同的服...

2826
来自专栏

基于JMS的数据交换既数据互操作平台的解决方案

为解决应用系统间数据和信息的互通、互用,建立一个通用的、分布式的数据集成平台,用以解决异构数据平台数据交流和沟通的问题。

5644
来自专栏Java编程技术

分布式事务- TCC编程式模式

严格遵守ACID的分布式事务我们称为刚性事务,而遵循BASE理论(基本可用:在故障出现时保证核心功能可用,软状态:允许中间状态出现,最终一致性:不要求分布式事务...

1663

Apache CloudStack系统VM架构选择

最近我和一些人讨论了为什么现在有一个32位或64位系统虚拟机和CloudStack 4.3 (一个云计算平台)的选项。我提供了一个答案,并且回复了一些邮件列表...

2077
来自专栏BeJavaGod

RabbitMQ 一二事(4) - 路由模式介绍

路由模式其实和订阅模式差不多,只不过交换机的类型不同而已 ? 路由模式可以用下图来表示,比订阅模式多了一个key,举个栗子就是根据不同的人群来订阅公众号,来收取...

3415
来自专栏恒思考

个人项目前期准备

作为一个项目一般都需要写代码,写代码就需要管理代码。作为个人项目可以直接选免费的第三方代码托管平台。如果机密性比较强,可以自己搭gogs或者gitlab,如果没...

1525
来自专栏架构师之路

小小的IP,大大的耦合,你痛过吗?

什么是耦合? 耦合,是架构中,本来不相干的代码、模块、服务、系统因为某些原因联系在一起,各自独立性差,影响则相互影响,变动则相互变动的一种架构状态。 感官上,...

4656
来自专栏开源项目

实用的国产优秀开源中间件 | 码云周刊第 52 期

在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的,而且是一个专业化非常强的细分产业。中间件技术主要用来支撑分布式软件的开发,在大型分布式软件...

4828
来自专栏技术翻译

共享MongoDB主机的五大好处

共享主机是在云中部署MongoDB的最具成本效益且易于设置的选项之一,并被全球数千家公司用于托管其数据库。在这篇文章中,我们概述了使用共享MongoDB主机的五...

1880
来自专栏IT笔记

Lepus搭建企业级数据库全方位监控系统

Lepus(天兔)数据库企业监控系统是一套由专业DBA针对互联网企业开发的一款专业、强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种...

2155

扫码关注云+社区

领取腾讯云代金券