Rowhammer Attacks

最近看资料了解到的一种内存的攻击方式,效果是能够翻转被攻击的内存区域 Bits,如果这个 Bits 正好是用于检查权限之类的,用这种方法就能获得更高的权限。

原理:RAM的制造精度越来越高,部件在物理层面上越来越小。既能在一块芯片上集成更大的内存容量,又能让各个内存单元之间不发生电磁干扰是非常难以做到的。这一情况使得对内存的单个区域进行的读写有可能干扰到邻近的区域,导致电流流入或流出邻近的内存单元。如果反复进行大量读写,有可能改变邻近内存单元的内容,使得0变成1,或者1变成0。这种现象被称为比特翻转(bitflipping),可被利用获取更高的权限。【参考1】

快速读取上图中的黄色 Row ,可能会导致紫色的Row 出现 bits 反转。【参考2】

当然,从原理上来看触发Rowhammer漏洞非常简单,但成功地利用该漏洞有点难,因为内存中大多数的位是与攻击目标无关的,而这些无关位的翻转可能会导致内存破坏。想要成功地利用Rowhammer,攻击者必须能够诱使系统加载目标内存页到DRAM中与攻击者所有的物理内存行邻接的行中。【参考3】

在 MemTest86 的测试中,如果有遇到写入和读取有1Bit差别的failure,可以尝试在Setep 中打开 Enable RH Prevention 这个功能。

参考:

1.http://xilinx.eetrend.com/d6-xilinx/news/2016-10/10624.html 【DDR未解之谜】Row Hammer这么严重,知道如何解决吗?

2.https://www.zhihu.com/question/28666294 Row Hammer漏洞会有多大实质性影响?

3.https://blog.csdn.net/u013806583/article/details/53103714

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注