来自荷兰阿姆斯特丹Vrije大学的学者近日发表了一篇研究论文,描述了Rowhammer攻击的一种新变种。对于不熟悉这个术语的读者来说,Rowhammer是利用现代存储芯片中的硬件设计缺陷而产生的一类安全漏洞的名称。默认情况下,存储芯片将临时数据存储在单元内,存储单元以网格的形式排列在多行的物理硅芯片上。
2014年,研究人员发现,通过一遍又一遍地重复读取存储在一行中的数据,他们可以创建一个电场,改变存储在附近存储器行上的数据,导致数据损坏或被恶意方式操纵。在今天发表的名为ECCploit的研究中,学者们用另一种变体扩展了之前的Rowhammer技术。他们说,这个绕过了ECC内存,这是硬件制造商所说的内存保护之一,可以检测并预防过去的Rowhammer攻击。
ECC代表纠错码,是一种内存存储,包含作为具有高端RAM的控制机制,通常部署在昂贵的或者关键任务型系统中。ECC内存的工作原理是防止位翻转,就像Rowhammer攻击造成的那样。令人惊讶的是,它并没有被开发用于处理Rowhammer攻击。它最初是在90年代开发的,以防止由α粒子,中子或其他宇宙射线引起的位翻转,但是当Rowhammer出现时,ECC内存也被证明可防止攻击。
ECC内存保护
但是,经过数月的逆向工程设计ECC内存,Vrije大学团队发现这种保护机制有其局限性。研究人员表示,他们发现ECC内存只能在它监视的内存段中进行一次性检测并纠正位翻转。当在同一内存段中发生两个位翻转时,ECC内存不堪重负,在这些不常见的情况下,ECC内存底层应用程序会崩溃以避免数据损坏或安全性受损。
然而,Vrije研究人员表示他们已经发现,如果一个Rowhammer攻击导致三个位翻转,ECC内存不会崩溃,而且根本不会做出反应,从而导致该攻击完全绕过ECC保护。好消息是,这不是令人担忧的事情。自从2014年曝光以来,Rowhammer攻击类似于Meltdown和Spectre CPU的缺陷。 它们是从未使用的理论攻击,但它揭示了硬件中的主要设计缺陷,这些缺陷是我们大多数现代技术的基础。
目前,研究人员认为公司不应该因为他们的研究而避免使用ECC内存。这是因为ECCploit攻击需要32分钟甚至一周才能执行,这意味着并没有那么危险。研究人员希望通过Rowhammer ECCploit攻击,影响供应商未来如何设计和发布硬件类型,而不是专家期望在未来的恶意软件中使用这种攻击。