✨ 要点🔬 技术摘要
想象一下你电脑的内存(DRAM)是一栋宏伟的高层公寓大楼。每一间公寓就是一个数据的“行”。通常情况下,这些公寓是安静且稳定的。但建筑设计中存在一个奇怪的缺陷:如果你用力拍打其中一间公寓(“攻击者”)的墙壁,或者让那里的门长时间敞开,产生的震动会晃动隔壁公寓(“受害者”)里的家具,导致家具损坏或翻倒。这被称为读取干扰(read disturbance) 。
多年来,安全专家知道有两种造成这种晃动的方法:
RowHammer :快速地开关邻居公寓的门(拍打墙壁)。
RowPress :让邻居的门长时间敞开(持续震动墙壁)。
这篇论文介绍了一种更隐蔽、更狡猾的破坏方式,叫做 ScaleDisturb 。
新的技巧:“ScaleDisturb”
请观察受害者公寓两侧的两个邻居。
旧方法(双侧 RowPress) :你让两个邻居的门同时开启完全相同的时间。这就像两个人同时向受害者的墙壁施加相等的压力。
新方法(ScaleDisturb) :你让其中一个邻居的门开启很长时间,而另一个邻居的门只开启很短时间。你反复这样做,但这种时序是不对称的 。
类比: 想象一下尝试通过推挤旁边的一块积木来弄倒一叠叠起来的叠叠乐(Jenga)。
如果你从两边同时均匀地推,这叠积木可能会稳住。
但如果你一侧推得又重又久,另一侧推得又轻又短,就会产生一种奇特的“摇晃”或不平衡。研究人员发现,这种不平衡 (时间上的不对称性)会让受害者的积木倒下(比特翻转)的速度比两边同时均匀推要快得多,而且所需的力气也更小。
他们的发现
研究人员在 196 颗真实的内存芯片 (来自三星、SK 海力士和美光)甚至是一些用于先进计算机的高速 HBM2 芯片上进行了测试。结果如下:
破坏速度更快 :使用这种“不均匀时序”的技巧,他们可以用比以往任何方法都更少 的开门尝试次数来导致数据错误(比特翻转)。在某些情况下,他们所需的尝试次数减少了高达 63% 。
无处不在 :无论芯片制造商是谁,也不论芯片的新旧程度,这种技巧在他们测试的几乎所有芯片上都有效。
随时间恶化 :随着内存芯片变得越来越小、技术越来越先进(例如新款手机处理器),它们对这种特定技巧的脆弱性会更高 。
并非仅仅是“运气不好” :他们证明了这不仅仅是随机噪声(他们称之为“变量读取干扰”)。这种效应是稳定且可预测的。如果你使用这种不对称的时序,内存一定会 以特定的方式发生故障。
破坏的对象不同 :发生翻转的具体数据位与旧方法导致的翻转位是不同的。这意味着现有的安全守卫可能并没有盯着正确的窗口。
现实世界的测试
研究人员编写了一个简单的程序,普通用户可以在真实的计算机上运行。尽管计算机内置了旨在阻止旧有“RowHammer”攻击的安全特性,但这个 ScaleDistube 程序仍然成功破坏了内存。它在旧攻击无法触及的地方造成了错误,并且在能够触及的地方,它造成的错误比旧攻击更多。
为什么这很重要(安全问题)
目前的安全系统就像一个通过计数开门次数来工作的保安。如果计数过高,保安就会认为邻居很危险,并刷新受害者的公寓以保护它。
问题所在 :这个保安是针对“等时攻击”进行训练的。因为 ScaleDisturb 能以更少的尝试次数破坏内存,所以保安的计数器设置得太高了。在保安意识到问题之前,受害者就已经被破坏了。
解决方法 :论文提出了一种新的保安策略,叫做 TeACUp 。它不再仅仅是计数开门次数,而是观察时序 。如果一个邻居靠在墙上的时间比另一个长得多,保安会减慢那个“重型”邻居的计数器速度,这样既不会因为误判而触发虚假警报,又能抓住真正的危险。
核心结论
论文表明,通过仅仅改变我们访问内存的时序 (使其变得不对称),我们可以比想象中更容易地破坏现代计算机内存。这意味着当前的安全性措施可能比我们认为的要脆弱,我们需要新的保护方式,以应对这些“不对称”的攻击。
技术摘要:ScaleDisturb
问题陈述 现代 DRAM 芯片容易受到读干扰(read disturbance)现象的影响,特别是 RowHammer 和 RowPress。在这些现象中,重复访问或长时间开启“攻击者”(aggressor)行会导致物理相邻的“受害者”(victim)行发生位翻转(bitflips)。以往的工作通过特定的访问模式(例如对称双侧 RowHammer 或对称双侧 RowPress)来表征这些漏洞,但这些模式可能无法代表最坏情况。现有的缓解机制依赖于对诱发位翻转所需的最小攻击者激活次数(A C m i n AC_{min} A C min )进行准确剖析。如果真实的漏洞程度高于现有模式所表征的程度,这些保护措施可能会失效。本文认为,当前的访问模式未能充分利用 DRAM 行开启时间的动态特性,从而低估了现代 DRAM 对读干扰的敏感性。
方法论 作者引入了 ScaleDisturb ,这是一种利用**时间不对称性(temporal asymmetry)**的新型 DRAM 访问模式。与传统的双侧模式(即两个相邻攻击者行保持相等的开启时长)不同,ScaleDisturb 在保持每个访问循环的总“开启时间预算”(Open Time Budget, OTB)恒定的同时,不对称地延长两个攻击者行($RN-1和 和 和 RN+1$)的开启时间。
该研究采用了严谨的实验方法:
基础设施: 实验使用 DRAMBender(一种基于 FPGA 的基础设施)进行,以精确控制 DDR4 和 HBM2 命令。
范围: 作者表征了 196 种商用现货(COTS)DDR4 芯片 (涵盖来自 Samsung、SK Hynix 和 Micron 的 15 个 die 版本)以及 3 种 HBM2 芯片 。
控制变量: 为了隔离电路级效应,研究禁用了片上缓解机制(目标行刷新,Target Row Refresh)、ECC 以及由于保持失效(retention failures)导致的错误,并将实验控制在单个刷新周期内完成。
指标: 主要指标是 A C m i n AC_{min} A C min ,即在受害者行中诱发位翻转所需的最小攻击者激活次数。作者在各种 OTB 值(从 48 ns 到 7.8 µs)下,对开启时间分布(t A g g O N 1 t_{AggON1} t A g g O N 1 vs. t A g g O N 2 t_{AggON2} t A g g O N 2 )进行了遍历。
真实系统验证: 作者在一个运行 Linux 的真实 DDR4 系统(Intel i5-10400)上实现了一个概念验证攻击,利用用户级程序绕过内存控制器调度和 DRAM 内部的 TRR 机制。
核心贡献
发现 ScaleDisturb: 本文首次证明,不对称地延长两个攻击者行的开启时间,比对称模式能以更少的激活次数诱发位翻转。
广泛的表征: 作者对 199 种真实的 DRAM 芯片进行了全面分析,表明 ScaleDisturb 是一个普遍现象,影响着所有主要制造商。
与 VRD 的区别: 研究将 ScaleDisturb 与可变读干扰(Variable Read Disturbance, VRD)区分开来,表明 ScaleDisturb 导致的 A C m i n AC_{min} A C min 降低是稳定、可重复的,且在量级和位翻转位置上具有显著差异。
真实系统演示: 作者在具有活跃 RowHammer 缓解机制(TRR)的真实系统上成功诱发了位翻转,证明了用户级程序可以利用 ScaleDisturb 来绕过现有保护。
缓解分析与提议: 本文评估了现有解决方案(ECC、安全裕度、自适应计数器),并提出了 TeACUp (时间不对称感知计数更新),这是一种旨在处理不对称访问模式且具有低开销的新型缓解机制。
结果
放大的脆弱性: 与双侧 RowPress 相比,ScaleDistibut 在所有测试行中平均减少了 9.6% 的 A C m i n AC_{min} A C min ,在特定情况下减少幅度高达 63% 。在模块层面,最小 A C m i n AC_{min} A C min 平均减少了 16.1% (最高达 52.4%)。
制造商与技术趋势: 该效应在 Samsung、SK Hynix 和 Micron 芯片中均有观察到。此外,随着 DRAM 技术向更小节点(更新的 die 版本)缩放,这种脆弱性会进一步恶化。
模式多样性: 作者根据 A C m i n AC_{min} A C min 随不对称比例变化的规律,识别出三种减少模式(L 型、R 型和 Flat 型)。L 型和 R 型模式表现出显著的 A C m i n AC_{min} A C min 降低,平均占受害者行的约 37.5% 。
位翻转位置: ScaleDisturb 诱发的位翻转集合与双侧 RowPress 不同。随着 OTB 增加,首个翻转单元的重叠率显著下降,这表明存在不同的物理失效机制。
真实系统影响: 在具有 TRR 的真实系统中,使用 ScaleDisturb 的用户级程序在双侧 RowPress 失效的情况下成功诱发了位翻转。在两者均成功的情况下,ScaleDisturb 诱发的位翻转数量显著更多(例如,在一个测试配置中为 289 次对比 8 次)。
缓解开销: 为了应对 ScaleDisturb 而对现有缓解机制应用较大的安全裕度,会带来显著的性能(高达 28.6%)和能量(高达 58.8%)开销。简单的 ECC 是不足够的,因为 ScaleDisturb 诱发的位翻转数量可能远超 SECDED 或 ChipKill 的纠错能力。
TeACUp 有效性: 所提出的 TeACUp 机制通过动态缩放“较快”(开启时间更长)的攻击者行的计数器增量,有效地缓解了 ScaleDisturb。与基准 ImPress 机制相比,这减少了不必要的预防性刷新,使系统性能平均提升了 3.2% 。
意义与主张 本文声称,ScaleDisturb 从根本上改变了人们对 DRAM 读干扰的理解,揭示了时间不对称性 是决定脆弱性的关键因素。作者断言:
当前的缓解机制(依赖对称访问模式进行剖析)在面对 ScaleDisturb 时很可能是不安全的。
这种脆弱性并非异常现象,而是一个普遍特征,并随着技术缩放而加剧。
未来的研究必须超越对称模式,以理解驱动这一现象的物理机制(可能与电场干扰和电子迁移有关)。
稳健的系统安全需要能够显式考虑时间不对称性的缓解策略,例如 TeACup,而不是仅仅依赖静态安全裕度或现有的基于计数器的方法。
作者最后呼吁进行更多的器件级研究,以了解 ScaleDisturb 的内在机理,并为未来的 DRAM 代际开发更全面的缓解策略。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。