支持Rowhammer研究以保护DRAM生态系统
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模块进行深入测试。
- DDR5 RDIMM平台:新的DDR5测试板,满足服务器计算机中常见的注册DIMM(RDIMM)内存的硬件要求
- SO-DIMM平台:支持标准SO-DIMM引脚排列的版本,兼容现成的DDR5 SO-DIMM内存条,常见于工作站和终端用户设备
Antmicro设计并制造了这些开源平台,我们与他们以及ETH Zurich的研究人员密切合作,测试这些平台在分析RDIMM和SO-DIMM形式的现成内存模块方面的适用性。
DDR5上的凤凰攻击
与ETH研究人员合作,我们应用新的Rowhammer测试平台评估当前DRAM内DDR5缓解措施的有效性。我们最近合著的"凤凰"研究论文中详细介绍了发现,揭示我们成功开发了能够绕过DDR5内存上增强型TRR防御的自定义攻击模式。我们能够创建新颖的自校正刷新同步攻击技术,使我们在配备DDR5内存的标准生产级桌面系统上首次实现了Rowhammer权限提升攻击。虽然此实验是在配备最新AMD Zen处理器和SK海力士DDR5内存的现成工作站上进行的,但我们继续研究我们的发现对其他硬件配置的适用性。
经验教训
我们证明了当前对Rowhammer攻击的缓解措施不足,该问题仍是整个行业普遍存在的问题。它们确实使攻击"更困难但非不可能",因为攻击者需要深入了解他们希望攻击的特定内存子系统架构。
当前基于TRR和ECC的缓解措施依赖熵不足的概率性对策。一旦分析人员了解TRR的运作方式,他们就可以制作特定的内存访问模式来绕过它。此外,当前的ECC方案并非作为安全措施设计,因此无法可靠检测错误。
内存加密是Rowhammer的替代对策。然而,我们当前的评估是,没有加密完整性,它对Rowhammer无法提供有价值的防御。需要更多研究来开发可行、实用的加密和完整性解决方案。
前进道路
谷歌一直是JEDEC标准化工作的领导者,例如PRAC,这是一个将在即将推出的DDR5/LPDDR6版本中支持的完全批准标准。它通过准确计数DRAM字线激活次数来工作,并在检测到过多激活时提醒系统。DRAM与系统之间的这种紧密协调使PRAC具有解决Rowhammer的可靠方法。
同时,我们继续评估和改进其他对策,以确保我们的工作负载对Rowhammer具有弹性。我们与学术和行业合作伙伴合作,改进分析技术和测试平台,并与更广泛的生态系统分享我们的发现。
了解更多?
“凤凰:对DDR5的自校正同步Rowhammer攻击"将在2026年5月18-21日于加州旧金山举行的IEEE安全与隐私会议上展示。