今天看了一篇 IT 之家关于 AMD 处理器受 RowHammer 内存攻击影响的报道,心血来潮了解了一下 RowHammer 攻击的原理,把了解到的知识记录下来。
RowHammer 攻击是一种相对较新的攻击方式,它利用了现代动态随机存取存储器(DRAM)的物理缺陷,这种攻击方式不同于传统的软件漏洞利用,它直接针对硬件的弱点。这种攻击利用了 DRAM 在运行过程中产生的意外电荷泄漏效应,可能导致存储器单元泄露电荷并造成比特翻转。这个问题主要是由于现在 DRAM 存储单元高密度排列造成的。通过在一定模式下的高频率反复内存访问,攻击者可以在其原本无权访问的内存区域引发存储值的变化。这种攻击可以导致权限提升、数据泄漏和拒绝服务等安全问题。
要理解 RowHammer 攻击,首先需要了解 DRAM 的工作原理。DRAM 通过存储电荷在电容中来保存信息,每个电容与一个访问晶体管相连,共同构成一个存储单元(Cell,如下图所示)。电容充满电,存储单元就是 1,电容放完电,存储单元就是 0,晶体管用来控制电容充放电。
这些存储单元被组织成多行多列,形成一个二维