新发现:Rowhammer攻击可绕过ECC内存保护

来源: OFweek电子工程网

点击:2499

A+ A-

所属频道:新闻中心

关键词:硬件设计缺陷 漏洞

    日前,来自阿姆斯特丹自由大学的学者发表了一篇名为ECCploit的研究论文,描述了一种可绕过ECC内存保护的Rowhammer攻击(利用现代存储卡硬件设计缺陷的一类漏洞)的新变种。

    在默认情况下,存储卡将临时数据储存在临时存储器元件中,以栅格的形式多行排列在物理硅片上。研究人员在2014年发现,通过反复读取一行存储数据可以创建一个电场来改变临近行中的存储数据,从而导致数据损坏或以恶意方式操纵数据。随后几年,研究人员扩展了Rowhammer攻击的方式和开发场景,并表示硬件制造商不可忽视这个漏洞。

    理论上,Rowhammer攻击的方式和形式有很多种:

    ◇ 改变存储在DDR3、DDR4以及类似的存储卡上的数据

    ◇ 通过JavaScript、网络(不一定要访问PC)和本地恶意软件进行攻击

    ◇ 通过Microsoft Edge浏览器控制Windows计算机

    ◇ 攻击并控制安装在云托管环境中基于Linux的虚拟机

    ◇ 攻击并获取Android智能手机的root权限

    ◇ 当第一次攻击被披露后Rowhammer会自动绕过已经到位的Rowhammer防卫

    ◇ 攻击者可利用本地GPU提高攻击效率

    ◇ 可通过网络数据包发起攻击

    ◇ 转化为ION攻击Android内存子系统,这打破了操作系统和本地应用之间的隔离,允许数据被盗和整个设备被控制

    ECC(Error-Correcting Code)是一种能够实现“错误检查和纠正”的技术,是高端RAM采用的一种典型的控制机制,硬件制造商在过去声称ECC内存保护能检测并防御Rowhammer攻击。

    ECC内存最初被用于防止由α粒子、中子和其他宇宙射线引发的比特翻转,后来,研究证明ECC内存对防御Rowhammer攻击也有效。但是,阿姆斯特丹自由大学的团队经过数月对ECC内存的逆向工程设计,发现这种保护机制也存在局限性。

    研究人员表示,ECC内存一次只能对监视的一个内存段中的一个比特翻转进行检测和纠正;当一内存段中同时发生两个比特翻转时,ECC内存会不堪重负,为了避免数据损坏或安全性受损而导致底层应用程序的崩溃;而当三个比特翻转同时发生时,ECC内存虽然不会崩溃,但也不会做出任何反应,这样,Rowhammer攻击就能完全绕过ECC保护。

    令人欣慰的是,目前似乎没有必要过度担忧,因为自2014年被曝光以来,Rowhammer攻击一直都只存在于专业学者的理论推断中。像Meltdown和Spectre的CPU漏洞那样,Rowhammer攻击只是理论上的攻击,从未在自然环境下发生过,但这些都揭示了支撑现代技术的硬件的主要设计缺陷。

    研究人员认为目前企业没有必要因为Rowhammer攻击而避免使用ECC内存,因为发动一次ECCploit攻击需要32分钟甚至一周的时间,这意味着它远不如听起来的那么危险,研究人员希望,对Rowhammer ECCploit攻击的研究能给硬件供应商带来关于硬件设计和销售方面的启发。


    (审核编辑: 智汇胡妮)