坏消息:所有Rowhammer防御措施都无效
作者: 日期:2017年10月10日 阅:22,275

新攻击能翻转用户空间程序中的比特位,愚弄用户易如反掌。

物理内存中一页的分布式布局

自从Rowhammer攻击形式出现,研究人员和防御者之间的军备竞赛就没停止过。最近,研究人员爆出最新成果:他们已攻破所有可用防御措施。

谷歌首先揭示强制比特位翻转可致内存错误并建立攻击途径之后,两年来,研究人员一方面努力打造硬件和软件缓解措施,一方面孜孜不倦地寻找新的攻击方法。

本周,奥地利、美国和澳大利亚三国研究人员的合作成果,爆出令人痛心的坏消息:所有当前防御措施都能被攻破,且他们的攻击可以远程进行,包括云端系统都不能幸免。

在他们的论文中,这8位研究人员展示了他们称之为“单一位置锤击(one-location hammering)”的攻击方法。

该方法提供了触发漏洞的新方式,他们写道:“我们不锤击多个DRAM行,只保持一行DRAM频繁开放。我们的新利用技术——操作码翻转以可预测的方式针对性地翻转用户空间程序中的比特位,绕过最近的隔离机制。

为确保攻击可预测,研究人员用自己称之为“内存伏击”的方法,取代了内存耗尽式显而易见的内存喷射。这种方式能使操作系统将目标内存页放到攻击者控制的物理内存位置上。

内存伏击

研究人员称,当前Rowhammer缓解措施在他们的攻击面前不堪一击。

通过在英特尔软件保护扩展(SGX)受保护区(enclave)中执行代码,攻破静态分析易如反掌;基于性能计数器的缓解技术同样能被打败。

单一位置锤击还能绕过第3种缓解措施——分析内存访问模式的软件。基于物理内存隔离的防御措施,也是他们“操作码翻转”的目标。

操作码翻转,利用了操作码中的比特位翻转可产生其他有效操作码的事实。

他们以sudo指令为例演示了该技术,可以利用sudo二进制代码中29个偏移量的任意一个来获取root权限。

为绕过通过内存踪迹分析来防护Rowhammer攻击的方法,研究人员采用了“内存伏击”。该方式使用仅页缓存页,来进行替换敏感的页缓存回收。因为可在任意时刻回收,所以这些页面在系统内存利用率中不可见,被认为是可用内存。因而,内存伏击不会导致系统内存耗尽。

研究人员宣称他们的攻击还能突破云端系统。因为真的拿下AWS或Azure云上的主机,会引发这些互联网巨头的怒火,他们在仿真云服务器配置上测试了攻击(基于Haswell和Skylake的服务器)。

完整论文:

https://arxiv.org/pdf/1710.00551.pdf

相关阅读

Rowhammer RAM 攻击已延伸至闪存
谷歌发现Rowhammer内存漏洞 可摧毁笔记本电脑安全

 

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章