AMD处理器侧信道攻击
2020-03-10 12:00:00 Author: www.4hou.com(查看原文) 阅读量:274 收藏

最新研究表明,2011年到2019年发布的AMD处理器存在一些未公开的安全漏洞,会受到2个新的侧信道攻击的影响。攻击的名称为Take A Way,这种新的攻击向量使用AMD Bulldozer微架构的 L1 data(L1D)cache way predictor(缓存方式预测器)来从处理器中泄露敏感数据,可以通过恢复用于加密的密钥来破坏系统的安全性。

奥地利Graz技术大学和IRISA的研究人员在2019年8月将该漏洞报告给了AMD。AMD在官方公告中称,恶意攻击者可以操作一个缓存相关的特征来以非故意的方式来传输用户数据。但AMD研究人员认为这不是一种新的推测攻击。

Intel受到Meltdown、Spectre、 ZombieLoad和最近的CSME固件漏洞的影响,该研究的另一个意义是提醒没有一个处理器架构是完全安全的。此外,白皮书的合作人员就包括Meltdown、Spectre、 ZombieLoad的发现者。

Collide+Probe和Load+Reload攻击

与Intel Spectre攻击类似,Collide+Probe和Load+Reload攻击可以操作前述的L1D cache way predictor来访问不应安全和不可访问的数据。

通过Collide+Probe攻击,攻击者可以在无需知道受害者物理地址的或在共享内存的情况下监控受害者的内存访问。通过Load+Reload攻击,研究人员利用了预测器获取相同物理核心上的受害者的高度准确的内存访问路径的方式。L1D cache way predictor是一种优化机制,目的是为了减少与访问内存中缓存数据相关的能源消耗。Predictor可以使用虚拟地址上的一个哈希函数来计算μTag。μTag可以用来查询预测表中的L1D cache way。因此,CPU必须以一种方式来比较cache tag,达到减少能源消耗的目的。

这种新的缓存攻击逆向了前面提到的哈希函数来追踪L1D cache中的内存访问。Collide+Probe利用的是AMD L1D cache way predictor的μTag碰撞,而Load+Reload利用的是predictor处理内存中别名地址的方式。

换句话说,这两种攻击技术可以被用来从其他进程中窃取敏感数据,与运行在CPU中不同核心的攻击者或进程共享相同的内存。

为了证明该侧信道攻击的影响,研究人员建立了一个基于缓存的隐信道来从运行在AMD CPU上的一个进程来窃取数据,在AMD Ryzen Threadripper 1920X处理器中同时用80个信道实现了超过588.9kB/s的传输速率。

由于AMD的EPYC处理器被广泛应用于云平台,如Amazon, Google, Microsoft。因此研究人员认为该攻击也会给云服务器带来潜在的影响。

此外,研究人员还在一些常见的浏览器中实现了Collide+Probe攻击,绕过了浏览器的地址空间布局随机化(ASLR)、减少熵和提取地址信息。在Firefox中, 研究人员将熵减少了15比特,成功率是98%,平均运行时间为2.33秒。在Chrome中, 研究人员将熵减少的成功率是86.1%,平均运行时间为2.90秒。

随后,研究人员用Collide+Probe攻击窃取了内核内存数据,并恢复出了加密密钥。

应对方式

针对这两种攻击,研究人员可以通过硬件、硬件和软件结合、软件方式来进行修复,具体是设计处理器允许动态禁用the way predictor,并在kernel和用户模式切换时清除the way predictor的状态。

这并非AMD处理器中第一次出现利用CPU漏洞进行的攻击,但AMD是否会发布补丁修复该漏洞还未可知。

更多技术细节参见白皮书:https://mlq.me/download/takeaway.pdf

本文翻译自:https://thehackernews.com/2020/03/amd-processors-vulnerability.html如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/v9E0
如有侵权请联系:admin#unsafe.sh