支持Rowhammer研究以保护DRAM生态系统
2025年9月15日
作者:Daniel Moghimi
Rowhammer是行业内一类复杂的漏洞。这是DRAM中的硬件漏洞,通过重复访问内存行会导致相邻行发生位翻转,从而引发数据损坏。攻击者可利用此漏洞获取未授权数据、提升权限或造成拒绝服务。硬件厂商已部署多种缓解措施,如ECC(错误校正码)和DDR5内存的目标行刷新(TRR),以减轻Rowhammer影响并提升DRAM可靠性。然而,这些缓解措施在面对复杂攻击时的有效性仍是未解之谜。
为填补这一空白并帮助生态系统部署更强防御,谷歌支持学术研究并开发测试平台分析DDR5内存。我们的努力促成了新攻击方法的发现,并深化了对当前DRAM模块上Rowhammer的理解,为开发更强大的缓解措施铺平道路。
什么是Rowhammer?
Rowhammer利用DRAM的漏洞。DRAM单元以电荷形式存储数据,但这些电荷会随时间泄漏导致数据损坏。为防止数据丢失,内存控制器会定期刷新单元。然而,若单元在刷新周期前放电,其存储的位可能损坏。最初这被视为可靠性问题,后被安全研究人员用于演示权限提升攻击。通过重复访问内存行,攻击者可导致相邻行发生位翻转。攻击者可通过以下方式利用Rowhammer:
- 通过重复访问相邻DRAM行可靠引发位翻转
- 迫使其他应用或操作系统使用这些易受攻击的内存页
- 针对安全敏感代码或数据实现权限提升
- 或直接破坏系统内存导致拒绝服务
先前研究多次证明了从软件发起此类攻击的可能性(如《Revisiting rowhammer》《Are we susceptible to rowhammer?》《Drammer》《Flip feng shui》《Jolt》)。因此,在云等多租户环境中防御Rowhammer是实现安全隔离的必要条件。
Rowhammer缓解措施
缓解Rowhammer的主要方法是检测哪些内存行被频繁访问,并在位翻转发生前刷新附近行。TRR是常见方案,它使用多个计数器跟踪潜在受害行相邻行的访问情况。若这些攻击行的访问计数达到阈值,系统会对受害行发起刷新。TRR可集成在DRAM内部或主机CPU中。
然而这种缓解并非万无一失。例如TRRespass攻击表明,通过同时锤击多个非相邻行可绕过TRR。过去几年出现了更复杂的攻击(如Half-Double、Blacksmith),引入了更高效的攻击模式。
作为回应,我们与JEDEC、外部研究人员和专家合作定义了PRAC作为新缓解措施,通过跟踪所有内存行来确定性检测Rowhammer。
但当前配备DDR5的系统缺乏对PRAC或其他强健缓解措施的支持,因此依赖ECC和增强型TRR等概率性方法降低风险。虽然这些措施缓解了旧攻击,但其对新技术的整体有效性直到我们近期研究才被充分理解。
Rowhammer评估挑战
缓解Rowhammer攻击需增加攻击者从软件可靠引发位翻转的难度。因此,有效缓解需理解坚定攻击者如何引入能绕过现有防护的内存访问。三个关键信息组件有助于此类分析:
- 改进型TRR和DRAM内ECC的工作原理
- 软件层内存访问如何转换为底层DDR命令
- (可选)主机处理器中任何缓解措施(如ECC或TRR)的工作方式
第一步尤其困难,涉及逆向工程专有的DRAM内TRR机制,该机制在不同厂商和设备型号间差异显著。此过程需要能向DRAM发送精确DDR命令并分析其响应,这在商用系统上难以实现。因此专用测试平台至关重要。
第二、三步涉及分析主机处理器与DRAM间的DDR流量。这可通过商用插槽工具实现,该工具位于处理器与DRAM之间。分析的关键在于理解实时系统如何将软件级内存访问转换为DDR协议。
第三步涉及分析主机端缓解措施,有时是可选的。例如主机端ECC在服务器上默认启用,而主机端TRR仅在某些CPU中实现。
Rowhammer测试平台
针对首个挑战,我们与Antmicro合作开发了两个专用开源FPGA Rowhammer测试平台:
- DDR5 RDIMM平台:满足服务器常用寄存式双列直插内存模块(RDIMM)硬件要求的新DDR5测试板
- SO-DIMM平台:支持标准SO-DIMM引脚布局的版本,兼容工作站和终端设备常用的商用DDR5 SO-DIMM内存条
Antmicro设计制造了这些开源平台,我们与其及苏黎世联邦理工学院研究人员密切合作,测试这些平台在分析RDIMM和SO-DIMM形态商用内存模块时的适用性。
DDR5凤凰攻击
与苏黎世联邦理工学院研究人员合作,我们应用新Rowhammer测试平台评估当前DDR5 DRAM内缓解措施的有效性。近期合著的《凤凰》研究论文详细说明,我们成功开发出能绕过DDR5内存增强型TRR防御的自定义攻击模式。我们创建了新型自校正刷新同步攻击技术,首次在配备DDR5内存的标准生产级桌面系统上实现了Rowhammer权限提升利用。虽然实验在配备最新AMD Zen处理器和SK海力士DDR5内存的商用工作站进行,我们仍在研究该发现对其他硬件配置的适用性。
经验教训
我们证明当前Rowhammer缓解措施不足,该问题仍是行业普遍难题。这些措施确实增加了攻击难度"但非不可能",因为攻击者需要深入了解目标内存子系统架构。
当前基于TRR和ECC的缓解措施依赖熵值不足的概率性对策。一旦分析人员理解TRR运作方式,就能构造特定内存访问模式绕过它。此外当前ECC方案并非作为安全措施设计,因此无法可靠检测错误。
内存加密是Rowhammer的替代对策。但我们当前评估认为,若无加密完整性,它无法提供有效防御。需要更多研究开发可行实用的加密与完整性解决方案。
前进道路
谷歌一直是JEDEC标准化工作的领导者,例如PRAC已成为获完全批准的标准,将在后续DDR5/LPDDR6版本中支持。它通过精确计数DRAM字线激活次数工作,在检测到过度激活时向系统告警。这种DRAM与系统间的紧密协作为PRAC提供了解决Rowhammer的可靠方法。
同时,我们持续评估改进其他对策,确保工作负载能抵御Rowhammer。我们与学术和行业伙伴合作改进分析技术和测试平台,并向更广泛生态系统分享发现。
延伸阅读
《凤凰:基于自校正同步的DDR5 Rowhammer攻击》将于2026年5月18-21日在旧金山举行的IEEE安全与隐私会议上展示。