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

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

该漏洞存在于英特尔的 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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谦尊升室内定位SDK助力智慧医院APP,实现室内定位导航

    目前上海谦尊升推出的方案就是基于惯性导航的室内定位方案,利用智能手机上的惯性元件进行定位,这是一种自主定位导航的方式,不依赖外界信号也不受其他信号干扰。所以在部...

    BestSDK
  • 今日头条公布算法:解密“垃圾信息”是如何诞生的

    “算法分发并非是把所有决策都交给机器,我们会不断纠偏,设计、监督并管理算法模型。”曹欢欢希望这次分享能让更多的人理解算法,并共同参与到算法模型的制定中来。此外,...

    BestSDK
  • 声网SDK开发者数量超10万,发起全球首个RTC生态圈Agora Plus

    全栈实时通信云服务商声网Agora.io(以下简称声网)在RTC 2017实时互联网大会上宣布,声网SDK服务全球超过10万+开发者,触达终端数10亿+,日通话...

    BestSDK
  • 重学css3(概览)

    浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。

    IT人一直在路上
  • K8S内核故障[内核BUG]

    开启7个异常会触发OOM的节点,在一个NODE上,经过测试发现,3.10内核,是并行创建了7个任务,同时触发oom,导致内核锁耗死。测试 2-3分钟内,服务器会...

    院长技术
  • centos yum update只升级软件不升级内核

    CentOS升级软件时不升级内核的命令如下 CentOS7.5/7.6 yum update --exclude "kmod-kvdo*,kernel*,cen...

    我爱你的一诺
  • Linux内核管理

    (1)Linux系统的组成部分是内核+根文件系统。内核负责进程管理、内存管理、网络协议栈、文件系统、驱动程序和安全功能。 运行中的系统环境可分为两层:内核空间...

    魏晓蕾
  • Linux内核配置编译及启动过程分析

    Linux内核并不能被用户直接使用,发行版才可以。Linux主要的工作是内存管理,进程调度等等,发行版加上了桌面和各种可用的工具,才能被用户使用。

    用户5426759
  • 新型芯片可极大提高移动、小型设备的智能水平

    据美国麻省理工学院网站2016年2月3日报道,该校与英伟达公司的科研人员在美国国防部高级研究计划局的支持下研制出了一种新型芯片,可极大提高移动、小型设备的智能水...

    人工智能快报
  • 深入理解浏览器内核 - 浏览器内核依赖关系

    前面为大家介绍了目前主流的浏览器内核以及各自诞生的时间轴,接下来将为大家进一步介绍这些内核的相关知识。

    算法与编程之美

扫码关注云+社区

领取腾讯云代金券