新型 CPU 侧信道攻击 SpectreRSB 现身
翻译:360代码卫士团队
上周,加州大学河滨分校的研究人员公布了新型 Spectre 类攻击 SpectreRSB 的详情。
和所有Spectre类攻击一样,SpectreRSB 利用的也是推断性执行的进程。该功能存在于所有现代 CPU 中,通过提前计算操作之后摒弃不需要的数据而改进性能。
针对 CPU 的 RSB 发动攻击
SpectreRSB 和此前的 Spectre 类攻击之间的区别在于,SpectreRSB 通过攻击这个“推断性”例程即 RSB(ReturnStack Buffer,返回堆栈缓冲区)中涉及的不同 CPU 组件而恢复推断性执行进程中的数据。之前的 Spectre 攻击针对的是分支预测单元或部分 CPU 缓存。
在 CPU 的架构中,RSB 是推断性执行例程涉及的一个组件,它通过预测 CPU 尝试提前计算操作的返回地址运作,是“推断性”的一部分。
上周,研究人员发布研究论文表示,该攻击能够污染 RSB 代码控制返回地址并投毒 CPU 的推断性执行例程。
由于 RSB 在位于同一个虚拟进程器执行的硬件线程中共享,因此这种污染导致进程间甚至是虚拟机间的 RSB 污染。
通过 SpectreRSB 从 Intel SGX 中恢复数据
在研究论文中,UCR 研究人员说明了三种攻击,它们通过 SpectreRSB 攻击污染 RSB 并获得对本不应查看的数据的访问权限。
例如,两种攻击污染了 RSB,暴露并恢复在同一 CPU 上运行的其它应用中的数据。第三种攻击污染了 RSB以“引发错误推断,将数据暴露在 SGX 分区外”。最后一种攻击产生的问题让人担忧,因为 Intel SGX 是处理敏感数据的硬件隔离安全飞地,是 Intel CPU 向 app 开发人员提供的最高保护形式之一。
研究人员表示不仅将问题告知英特尔,还告知 AMD 和 ARM。研究人员表示虽然仅在英特尔 CPU 中测试了 SpectreRSB,但由于 AMD 和 ARM 处理器同时使用 RSB 预测返回地址,因此 AMD 和 ARM 处理器也很可能受影响。Red Hat 也正在调查此事。
攻击绕过此前的 Spectre 补丁
研究人员表示,很重要的一点是,已知的防御措施包括 Retpoline 和英特尔的微码补丁均无法阻止所有的 SpectreRSB 攻击。这意味着,如果受害者的计算机已接收补丁而威胁人员想从中恢复数据,那么就能更新原始 Spectre 代码攻击 RSB 以绕过设备所有人应用的任意防御措施。
但研究人员指出,英特尔已推出阻止针对某些 CPU 攻击的补丁,但并未向所有处理器推出。
研究人员在说明一个不相关 bug 的修复方案时指出,特别是在 Core-i7 Skylake 和更新的处理器上,补丁 RSB refilling 用于解决 RSB 底部填充时的漏洞。这种防御干扰了 SpectreRSB 发动切换到内核的攻击能力。研究人员建议在所有机器上使用该补丁以防止 SpectreRSB。
然而,英特尔发布声明称,SpectreRSB 可通过现有的缓解措施修复。声明指出,“SpectreRSB 和分支目标注入 (Branch Target Injection) (CVE-2017-5715) 之间存在关联,我们认为这篇论文中提到的利用也可通过同样方式得以缓解。我们已经在白皮书《推断性执行侧信道缓解》中公布了开发者指南。非常感谢研究社区持续做出的工作,帮助我们保护消费者的安全。”
每个月,Spectre 和 Meltdown 类攻击都在增长,而且越来越难以追踪。如下是关于所有最近研究和漏洞情况的一些信息。
除以上表格说明的攻击外,还存在其它基于这些攻击之上的攻击或规模更小的攻击变种,包括从 SMM、SgxSpectre、BranchScope、MeltdownPrime 和 SpectrePrime 以及 Lazy FP 中恢复数据的 Spectre 变种。
关联阅读
原文链接
https://www.bleepingcomputer.com/news/security/researchers-detail-new-cpu-side-channel-attack-named-spectrersb/
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。