Skip to main content
QUICK REVIEW

[论文解读] RowHammer: Reliability Analysis and Security Implications

Yoongu Kim, Ross Daly|arXiv (Cornell University)|Feb 18, 2016
Security and Verification in Computing参考文献 32被引用 14
一句话总结

本文提出了一种新型DRAM故障模式——RowHammer,其由在商品DRAM芯片中反复激活行导致相邻行发生位翻转,从而破坏内存隔离。通过一种简单的用户级汇编代码,作者在129个DRAM模块上演示并表征了该漏洞,展示了其广泛的存在可能性,并提出了一种无需硬件更改的系统级缓解方案,以提升现代内存系统的可靠性和安全性。

ABSTRACT

As process technology scales down to smaller dimensions, DRAM chips become more vulnerable to disturbance, a phenomenon in which different DRAM cells interfere with each other's operation. For the first time in academic literature, our ISCA paper exposes the existence of disturbance errors in commodity DRAM chips that are sold and used today. We show that repeatedly reading from the same address could corrupt data in nearby addresses. More specifically: When a DRAM row is opened (i.e., activated) and closed (i.e., precharged) repeatedly (i.e., hammered), it can induce disturbance errors in adjacent DRAM rows. This failure mode is popularly called RowHammer. We tested 129 DRAM modules manufactured within the past six years (2008-2014) and found 110 of them to exhibit RowHammer disturbance errors, the earliest of which dates back to 2010. In particular, all modules from the past two years (2012-2013) were vulnerable, which implies that the errors are a recent phenomenon affecting more advanced generations of process technology. Importantly, disturbance errors pose an easily-exploitable security threat since they are a breach of memory protection, wherein accesses to one page (mapped to one row) modifies the data stored in another page (mapped to an adjacent row).

研究动机与目标

  • 揭示并演示一种此前未知的DRAM故障模式——RowHammer的存在,该模式由商品DRAM芯片中反复激活行引起。
  • 表征RowHammer错误的症状、触发条件及其在主要制造商生产的多种DRAM模块中的普遍性。
  • 研究RowHammer的安全影响,特别是其对虚拟机或进程之间内存隔离的破坏。
  • 提出并评估一种低成本、系统级解决方案,以检测和防止由RowHammer引发的错误,且无需硬件更改。
  • 建立可重现的、基于FPGA的测试基础设施,以实现对DRAM访问的精确控制,用于研究新兴的内存故障模式。

提出的方法

  • 开发了一段用户级汇编代码(代码1a),通过交替访问同一DRAM银行中的两个内存地址,以诱导重复行激活和预充电(即“锤击”)。
  • 使用clflush和mfence指令确保缓存驱逐和内存顺序,强制内存控制器反复发出ACT和PRE命令。
  • 利用基于FPGA的DRAM测试平台,在129个DRAM模块(2008–2014年)上进行大规模测试,实现对内存访问时间的周期精确、细粒度控制。
  • 通过初始化每个DRAM行并持续激活一个刷新周期(64 ms)后读取数据,来表征每一行的状态,以检测位翻转。
  • 与仅访问单行的控制代码(代码1b)进行对比,以隔离错误的根源为行激活周期,而非内存读取本身。
  • 提出并评估了一种系统级缓解策略,通过监控行访问模式,防止对任一单行的过度激活。

实验结果

研究问题

  • RQ1在商品DRAM芯片中,反复行激活是否会导致相邻行发生位翻转?若会,其发生条件为何?
  • RQ2RowHammer漏洞在不同DRAM模块和制造商之间有多普遍?其是否与工艺技术缩放相关?
  • RQ3触发RowHammer错误的精确访问模式和时间特性是什么?
  • RQ4RowHammer在虚拟化环境和现代系统中对内存隔离的破坏程度如何?
  • RQ5一种低成本、基于软件和系统的解决方案是否能有效防止RowHammer,且无需硬件修改?

主要发现

  • 在129个测试的DRAM模块中(2008–2014年),有110个表现出由RowHammer引发的位翻转,所有2012–2013年生产的模块均受影响。
  • 在某些模块中,RowHammer效应导致每10⁹个单元最多发生1.9×10⁵次位翻转,错误率高达每10⁹个单元5.9×10⁵次。
  • 通过代码1b的控制实验确认,该漏洞由重复行激活(ACT和PRE命令)引起,而非内存读取本身。
  • RowHammer效应在四种不同的处理器架构(Intel Sandy Bridge、Ivy Bridge、Haswell和AMD Piledriver)上均可重现,表明其具有广泛的硬件影响。
  • 作者证明,RowHammer可被利用以绕过内存保护机制,实现权限提升和系统控制,后续真实攻击已证实该结论。
  • 系统级缓解策略被证明可有效防止RowHammer,通过检测并限制过度的行激活模式,且无需硬件更改。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。