英特尔漏洞影响多大?阿里云专家:史无前例技术危机

来源:新浪科技佚名" class="writer" target="_blank">佚名·01-06 11:18
两天前,Intel处理器爆出了严重的侧信道攻击漏洞,漏洞会导致跨特权的信息泄露。

  该事件持续发酵。次日,英特尔针对CPU安全漏洞一事发表声明称,正与AMD、ARM和软件厂商合作解决该问题。同时,英特尔表示,其他公司的芯片也存在同样问题。谷歌、微软、亚马逊等科技巨头针对该事件也纷纷采取应对措施。

  英特尔在声明中说:“最近的报道称该安全问题是由一种‘漏洞’引起的,而且只有英特尔芯片存在问题的说法不正确。基于目前分析,使用不同厂商处理器和操作系统的多种计算设备,都容易受到这类漏洞的攻击。
 
timg?image&quality=80&size=b9999_10000&sec=1515218859124&di=be62a3c8d2027b8cf6c065645669c7ee&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20171207%2F3b9f96add1f040738d4a029aee3ec225.jpeg

  那么,这种漏洞的影响力到底有多大?阿里云技术专家就此进行了解读。

  1、涉事处理器有何背景?

  此次漏洞主要有两种攻击形式,官方命名为Spectre(幽灵)和Meltdown(熔断)。其中Spectre出现了2种类攻击变体,而Meltdown有一种,综合起来就是:

  变体1: 绕过边界检查(CVE-2017-5753)

  变体2: 分支注入 (CVE-2017-5715)

  变体3: 越权数据缓存加载(CVE-2017-5754)

  在正式开讲前,先简单介绍处理器背景知识。

  现代处理器是通过在流水线各个阶段同时执行不同的任务来提高处理能力的。为了让这个流水线机制更加高效,现代处理器又引入了分支预测和乱序执行机制,从而更高效的进行运算。

  其中,分支预测主要用于解决在跳转分支完全确定前,通过预测执行目标地址的代码来提高执行效率。如果预测失败,流水线会把预测错误的代码放弃并回滚状态。

  而乱序执行则通过将代码的执行顺序打乱来提高平行执行能力。

  这些处理器优化技术对于现代处理器的性能提升有很大的帮助。但是近期安全研究者发现,现代处理器架构的这些功能可能会导致安全风险,可以被攻击者利用在特定情况下进行攻击。产生这些的根本原因是流水线对无效执行状态的恢复不完整,以及乱序执行时对权限检查不完整。这里也充分体现了安全设计和性能设计的冲突。

  此次Intel处理器爆出的侧信道攻击并不是一个新话题。安全研究者在这个方面进行了大量的研究,并发布了很多研究成果。但是这次爆出的问题更容易被利用,并且具有实际的攻击效果,影响面更大。

  侧信道攻击的基本实现方法是通过对共享资源的使用状态来反推出一些敏感信息。

  现代处理器中的缓存机制是用于减少处理器访问内存所需平均时间的重要设计。通过缓存机制,处理器会大大节省数据计算时对内存访问时间。而缓存机制的性能特点同时也被安全研究者用来发起侧信道攻击,通过观测数据访问性能来确定数据是否在缓存中,从而反推出一些敏感信息。

  除此之外还包括了其他处理器共享单元,比如跳转目标缓存也都可以被用于侧信道攻击。

  2、漏洞到底有何影响?

  Spectre漏洞CVE-2017-5753

  该漏洞主要是通过低特权级别的代码,调用高特权级别的代码来实现攻击。

  由于为了性能加速,现代处理器会提前做分支预测,其后在流水线上误判的预先执行最终并不会实际执行。但,也是由于性能的原因,流水线执行结束后并没有对所有预判执行的现场做完全修复,从而导致在缓存中会留下执行的痕迹,进一步会导致低特权恶意软件可能通过分支预测在缓存中留下的痕迹,在特定代码情况下猜测出高特权的数据。

  这个漏洞需要特定的代码模式才能够触发,所以攻击者必须要在高特权级别的代码,比如操作系统内核,虚拟化底层中找到特定模式的代码用于利用,相对CVE-2017-5715而言,利用难度小。

  Spectre漏洞CVE-2017-5715

  对于漏洞CVE-2017-5753,攻击者需要找到已经存在的特定代码模式来展开攻击。如果没有现成的攻击者用于展开攻击的代码模式,攻击者需要考虑如何制造出这些便于攻击的代码模式。漏洞CVE-2017-5715就是针对这个思路展开的。

  这里的攻击目标是分支目标缓存。这是一个处理器内部用于加速分支跳转的内部数据结构,有特定的目标预测算法。通过对这个算法的操纵可以让攻击者预填入恶意的跳转地址,在流水线上,当处理器到正确地址之前,让处理器执行特定的目标代码。当然,随着流水线的最后确认,这些执行也都会被废弃,但是对于缓存的影响依然保留。

  Google在攻击细节中给出了反推出KVM的模块地址思路,但是这个攻击对处理器的架构以及内部间接分支预测的算法有很强的依赖。相对而言,这个漏洞是最难利用的,需要一定的先决条件以及很多处理器内部信息。

  Meltdown漏洞CVE-2017-5754

  应该说这三个漏洞中,Meltdown是最容易利用也是影响最大的。

  本质上这个漏洞是因为处理器在乱序执行时,没有对跨特权的数据访问进行限制。比如当一个用户态的程序访问内核数据时,最终处理器是会触发页访问异常的,但是问题出在,当流水线上执行时,对于触发的页异常进行了抑制,在处理器真正触发页异常前,相应的代码还是会执行,导致缓存依旧会发生变化。


  由于此隐患涉及过去10年间Intel的绝大部分CPU型号,所以此次安全漏洞引发的是一次史无前例的技术危机。为了安全起见,市面上所有的服务器、个人电脑、手机等都需要升级应对。但同时也要看到这个漏洞有一定的门槛,同时考虑到升级了cpu和操作系统之后伴随的性能下降。不同用户可以评估自己的情况来做出决定。

  值得一提的是,在这个过程中,所有的云厂商没有例外地属于响应最迅速的群体。一方面是要为平台上的客户安全负责,另一方面这些平台聚集了大量的专业安全工程师。因此可以预见的是,云平台应该也是全行业中第一批能修复这个问题的群体。

  据悉,阿里云在去年年底与Intel同步关键安全信息,基于内核领域的多年深耕,双方持续就修复方案进行联合验证。截至此文发布,阿里云暂未受到确定的影响,也没有任何信息表明已有客户因此受到攻击。

  考虑到此次事件的影响面很大,还伴随着潜在的性能影响,团队已经启动了修复工作,正在慎重部署热升级方案中,正常情况下该方案不会对客户业务带来影响。已知有部分场景下不支持热升级方案。与之相关的客户我们也会另行提前通知。

猜你喜欢

Copyright © 2000-2016 DIANKEJI.COM 京公网安备11010802016168 All Rights Reserved . 北京鼎衡丰汇文化传播有限公司 版权所有 京ICP备12009809号-4
微信关注

w88优德

百度360搜索搜狗搜索