聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
本周,奥地利格拉茨技术大学和法国雷恩大学的六名研究人员表示,2011年至2019年制造的 AMD 处理器易受两种新型攻击的影响。它们影响CPU内部处理数据的安全并可导致敏感信息被盗或安全性能下降。
该研究团队表示,已经在2019年8月将这两个问题告知 AMD,然而AMD 公司并未发布微码(CPU 固件)更新,而是声称“并非新的推断攻击”,但研究团队不同意这一说法。
L1D 缓存方式预测器
这两种攻击针对的是名为“L1D缓存方式预测器”的 AMD CPU 特征。该特征通过 Bulldozer 微架构引入 AMD 处理器,是一种以性能为中心的特征,可通过改进内存中 CPU 处理缓存数据的方式降低功耗。更高级别的解释是,“预测器使用虚拟地址上未记录的哈希函数计算μTag。该μTag 用于在预测表中查找 L1D 缓存方式。因此,CPU必须以一种方式而非所有可能的方式比较缓存标签,从而降低功耗。”研究团队逆向了 AMD 处理器用于处理 L1D 缓存方式预测器机制μTag 条目的“未经记录的哈希函数”后发现了这两种新型攻击。
研究团队保释,“对这些函数的了解是攻击技术的基础。”通过这些函数,研究人员重新创建了 L1D 缓存方式预测器的映射并探查该机制是否泄漏数据或者泄漏关于数据情况的线索。
COLLIDE+PROBE 和 LOAD_RELOAD
研究人员据此发现了两种新型攻击:Collide+Probe(碰撞+探查)攻击与 Load+Reload(加载+重新加载)攻击。
这两种攻击在某种程度上类似于一般的 Flush+Reload 和 Prime+Probe 攻击,后者之前常被研究人员用于泄漏 Intel CPU(而非 AMD CPU)数据,主要原因在于 AMD CPU 处理缓存数据的方式异于 Intel 处理器。更高级别的解释是,“在第一种攻击技术中,我们利用虚拟机的μTag碰撞来监控在时间上共享同一逻辑核心的受害者内存访问。在第二种攻击技术中,我们利用物理内存至的属性仅能够在 L1D 缓存中驻留一次。因此通过不同的虚拟地址访问同样的位置将该位置从 L1D 缓存中逐出。这就导致攻击者监控受害者的内存访问,即使受害者在同级逻辑内核上运行也不例外。”简言之,这两种攻击可用于监控处理器和 AMD 缓存的交互方式,之后从其它应用中泄露少量数据。
测试表明攻击是危险的
但多年来针对 CPU及其缓存的攻击已被详细说明,而其真正危险的地方在于它能够被在野利用。在少数情况下,CPU漏洞会对用户带来危险。例如,本周早些时候披露的去年已被修复的 Intel bug 要比原先想象得严重。然而,即使该 bug 影响更多的产品并能够泄露更多的数据,但利用它要求跳过一系列限制其在真实世界中应用性的 hoop。
研究人员表示这两种bug 并非上述此类攻击。它们可在真实世界中利用,而且无需物理访问权限、专用设备或拆开计算机机箱连接到隐藏端口,就像过去很多CPU攻击要求的那样。
该研究团队表示设法通过 JavaScript 并在云计算环境中利用这两种 AMD 漏洞,使得它们为真实世界中的 AMD 处理器部署带来巨大危险。
破坏 ASLR
在第一个实验中,研究人员表示设法在 AMD CPU 上运行恶意进程,使用隐秘的数据渗透信道从运行在处理器上的另外一个进程窃取数据。数据渗透速度锁定在 588.9kB/s。
在第二个实验中,研究人员表示他们使用 Collide+Probe 攻击减少了不同 ASLR (地址空间布局随机化)实现的熵(产生随机数字的能力)。如果攻击者破坏了 ASRL,则可以预测代码的执行位置并计划执行其它攻击。
研究人员表示,他们不仅破坏了Linux系统的完整更新版上的内核 ASLR,还破坏了操作系统和在虚拟机管理程序(云/虚拟化环境)中运行的应用程序的 ASLR。
这些攻击要求在同样的机器上植入恶意代码,然而,攻击还可通过浏览器中加载的恶意 JavaScript 移植到 web 中。研究团队表示,“我们在 Chrome 76.0.3809 和 Firefox 68.0.2 web 浏览器均测试了 PoC。在火狐浏览器中,我们能够将熵降低15位,成功率达到98%,平均运行时间为2.33秒。在 Chrome 中,我们能够正确地降低这些位,成功率为86.1%,其平均运行时间为2.90秒。”
AMD 的响应惹争议
好在这种攻击向量可被修复。研究人员在论文中提供了多种缓解措施和应对措施,表示,“我们的攻击证实 AMD 的设计易受侧信道攻击。”然而,在安全门户网站上,AMD 不认为这两种新型攻击惹人担忧,因为这两种攻击“并非新型的基于推断性攻击”,他们应该通过此前为推断性执行侧信道漏洞的补丁进行缓解。
但在后续邮件中,研究人员表示 AMD 的响应“非常具有误导性”,AMD 在去年8月发布第一份报告后从未参与该研究团队,而迄今为止这些攻击仍然应用于完全修复的操作系统、固件和软件。
有研究人员表示这两种攻击并不像 Meltdown 和 Zombieload 那样对 Intel CPU 产生重大影响,即从 CPU 内存中更快更大规模地泄露数据。
研究论文见:https://mlq.me/download/takeaway.pdf。
推荐阅读
原文链接
https://www.zdnet.com/article/amd-processors-from-2011-to-2019-vulnerable-to-two-new-attacks/
题图:Pixabay License
转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
点个“在看”,bounty 不停~