兰布莱德攻击,从计算机内存中窃取敏感数据
发布时间:2022-10-24 06:20:22 410
相关标签:

Rowhammer bug自2012年就被发现,是新一代DRAM芯片中发现的一个硬件可靠性问题。
事实证明,反复快速访问(敲打)一行内存可能会导致相邻行中的位翻转,即将它们的位值从0更改为1,反之亦然。
由密歇根大学、格拉茨理工大学和阿得雷德大学的一组研究人员发现,新的RAMSUBE也依赖于位翻转机制,但是,这种攻击不在相邻行中写入数据,而是允许攻击者读取属于其他程序和用户的受保护内存中的信息。
“更具体地说,我们展示了无特权攻击者如何利用Rowhammer引发的位翻转和附近行中的位之间的数据依赖性来推断这些位,包括属于其他进程和内核的值。“因此,这项工作的主要贡献是表明,Rowhammer不仅对诚信构成威胁,也对保密构成威胁”。
如图所示,如果攻击者想要读取“机密”存储单元中包含的机密数据,他必须:
研究人员称,即使是ECC(纠错码)记忆保护,它可以检测和纠正不必要的位翻转,还可以减轻许多基于行锤的攻击,不要阻止兰布莱德的攻击。
尽管DDR3和DDR4都容易受到RAMBleed攻击,但研究人员建议用户通过启用目标行刷新(TRR)将内存升级到DDR4来降低风险,因为它更难被利用。

- 在内存页中找到与秘密位相同偏移量的可翻转位(采样页)。
- 使用内存按摩技术操纵内存布局,小心地将受害者的机密数据放在攻击者内存行上方和下方的行中,排列如图所示,以便攻击者行中的位翻转取决于受害者机密数据的值。
- 锤击A0行和A2行,并在A1行(采样页)上引发位翻转,其初始值已设置为1,使用“秘密”单元格中受害者的数据影响其值。
研究人员在论文中说:“如果比特翻转,攻击者推断秘密比特的值为0。否则,攻击者推断值为1”。“使用页面中不同偏移量的可翻转位重复该过程,攻击者可以恢复受害者机密的所有位”。
为了演示读取端通道技术,研究人员提出了一种针对在Linux机器上运行的OpenSSH 7.9的攻击,并成功地从根级别的SSH守护进程中提取了RSA-2048密钥。研究人员称,即使是ECC(纠错码)记忆保护,它可以检测和纠正不必要的位翻转,还可以减轻许多基于行锤的攻击,不要阻止兰布莱德的攻击。
尽管DDR3和DDR4都容易受到RAMBleed攻击,但研究人员建议用户通过启用目标行刷新(TRR)将内存升级到DDR4来降低风险,因为它更难被利用。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报