目前针对Rowhammer攻击的防护措施依旧不足。
当前的解决方案对于已知的Rowhammer变种是有效的,但是攻击的可能性是无穷无尽的,仍然有可能被利用。新发现表明,内存位翻转在很多设备上都有效,包括Google、三星和OnePlus的流行智能手机。
Rowhammer风险持续存在
攻击通过利用动态随机存取存储器(DRAM)中可用存储单元的紧密接近来发挥作用。
通过对一行进行足够的读写操作,相邻数据位的值可以从1变为0,反之亦然(位翻转)。当前攻击的变种最多访问两个内存行(称为攻击者)。
这个改变可能导致拒绝服务情况、增加计算机特权,甚至允许劫持系统。而随着时间的推移,Rowhammer攻击被证明是通过破坏Linux内核,打破云隔离、根移动设备、控制Web浏览器,通过网络定位服务器应用程序或提取存储在RAM中的敏感信息。
迄今为止,最好的防御方法称为“目标行刷新”(TRR),它可以消除Rowhammer攻击的风险。但由于技术保护,关于TRR是如何工作的,以及每个供应商/制造商是如何部署TRR的信息很少。
VUSec(VU Amsterdam的系统和网络安全组织)的研究人员说,与普遍的看法相反,TRR并不是单一的缓解机制。这是一个笼统的术语,它定义了不同级别的硬件堆栈上的多个解决方案,也就是说制造商采用了不同的途径来获得相同的结果。
目前,VUSec对所有已知的Rowhammer变种进行了测试,对一批启用TRR的42个DDR4模块进行了测试,结果没有发生位翻转,表明防御措施对已知攻击有效。而不同供应商的DRAM芯片中有多种TRR实现方法,而且每个芯片的易受攻击单元的分布方式不同。
TRRespass-Rowfuzzer
在提供SoftMC(基于FPGA的基础架构)的苏黎世ETH研究人员的帮助下,VUSec试验了DRAM芯片并了解其内部操作。
实验表明了,在熟悉缓解措施后很容易发生翻转位。此外,他们还注意到,由于允许的行激活次数不同,DDR4芯片上的漏洞比DDR3上的漏洞更严重(后者的漏洞激活数更高)。
他们发现,当前的TRR跟踪攻击者敲击的有攻击行数有限,其中两个是当前演示的攻击中使用最多的。
缓解措施显然不能同时保留所有访问行的信息,因为这将需要大量的额外内存,也无法刷新所有受害者
因此,他们继续试验。通过对SoftMC的最新研究,VUSec创建了一个名为TRResspass的模糊工具,在现代系统上识别TRR感知的RowHammer访问模式。
虽然模糊测试是软件测试中的常用技术,但我们实现了第一个用来触发DRAM中的Rowhammer变种的模糊测试器
TRResspass是开源的,通过在DRAM中的各个位置重复选择随机行来工作。研究人员开发了更广泛的类别,他们称之为“多面Rowhammer”。
据了解,TRResspass在启用TRR保护的情况下,为42个内存模块中的13个恢复了有效的访问模式。
他们强调,TRResspass引起位翻转的所有模块都容易受到至少两种锤击模式的影响。同样,模式从一个模块到另一个模块也有所不同。
让模糊测试器在13款智能手机中的低功耗DDR4模块上工作,使它成功地在5种型号中找到导致位翻转的Rowhammer模式:Google Pixel、Google Pixel 3、LG G7 ThinQ、OnePlus 7和Samsung Galaxy S10e(G970F/DS)。
尽管没有通过调整攻击来提高效率,但使用更复杂的模式利用该漏洞却产生了令人印象深刻的结果:
获得内核权限所需的最长时间是3小时15分钟,而最短时间是2.3秒。他们能够在39分钟内从受信任的RSA-2048密钥伪造签名(在其他芯片上,可能需要一分钟以上的时间)。
只需要用一个内存模块就可以绕过sudo权限检查,并且花费了54分钟。
2019年11月,VUSec披露了新型的Rowhammer攻击,但新的缓解措施实施起来并不容易,并且需要花费一些时间来部署。
最后,VUSec表示,还没有完全可靠的解决方案可以应对Rowhammer,诸如ECC或使用大于1倍的内存刷新率等权宜之计已经没有效果了。DDR4内存仍在Rowhammer的阴影之下。