如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题
最近,加州大学戴维斯分校的一组研究人员分析了使用 Rowhammer (DRAM 位损坏方法)生成独特指纹的可能性。
在分析过程中,他们注意到由Rowhammer攻击造成的失真特性因DRAM芯片而异,且不会随时间改变。因此,他们开发了Centauri技术,该技术能够以平均99,91%的准确率识别系统。
要在 Centauri 中生成标识符,只需运行代码几秒钟或几分钟即可。虽然准确率会略微下降(降至 0,64),但识别时间可以缩短 95%,约为 9.92 秒。验证运行约三分钟可获得最高准确率。
识别过程分三个阶段进行:
- 使用 Blacksmith 方法(RowHammer 变体)确定芯片中使用的防止存储单元变形的保护策略 (TRR)
- 代码执行导致扭曲
- 确定改变电荷值的电容器的相对位置和数量。
该标识符是在构建 2 兆字节存储器块中电容器电荷变化概率的经验分布的基础上形成的。
对于那些不了解 RowHammer 类攻击的人,您应该知道它们允许您通过循环读取相邻内存单元的数据来扭曲各个内存位的内容。
“Centauri 是第一个展示使用 Rowhammer 大规模提取独特且稳定指纹的技术,同时克服了操作系统和 TRR 等 Rowhammer 缓解措施所施加的实际限制”
由于DRAM是二维单元阵列,每个单元由一个电容器和一个晶体管组成,连续读取存储器的同一区域会导致电压波动和异常,从而导致相邻单元中的轻微电荷损失。 如果读取强度很高,则相邻单元可能会失去足够多的电荷,并且下一个再生周期将没有时间恢复其原始状态,这将导致单元中存储的数据值发生变化。 。
芯片制造工艺具有异质性,因此由于公差的存在,每个存储芯片的物理结构都是独一无二的。这些差异意味着,由Rowhammer攻击引起的比特失真概率分布对于每个制造的存储模块也是独一无二的,而这正是Centauri方法的创建者所利用的。
内存制造商使用的TRR (目标行刷新)机制,通过阻止相邻行单元的扭曲来防止 Rowhammer 攻击,不会影响 Centauri 方法的识别准确性。
实际上,该方法可用于检测设备更换情况,或识别单台计算机伪装成多台不同设备的系统。然而,由于其使用会导致内存芯片磨损加剧,并可能因存储单元内容失真而导致软件故障,因此不太可能推广到学术研究以外的领域。
不排除可以采用预先准备好的 JavaScript Rowhammer 实现作为基础,对该方法进行调整,使其能够在浏览器中识别网站访问者。
该方法已在约 98 个 DRAM 模块(来自两个制造商的 6 个相同芯片组)上进行了测试。 10天内进行的重复实验并未发现识别准确度下降。