我们一直看到,涉及Android智能手机的各种攻击方式都vector绕人头。我们已经看过Shattered Trust,Cloak和Dagger以及Rowhammer,仅举几例。RAMpage是目前最新的一种,虽然它是一个硬件漏洞,但不一定需要物理访问您的设备即可利用。它的工作方式相对简单。
当CPU读取或写入设备上存在的RAM模块中的一行位时,相邻的行会因微小的放电而受到轻微影响。通常这不是问题,因为我们知道RAM可以做到这一点,这就是为什么要定期刷新以确保没有问题的原因。但是,如果我们开始“锤击”相同的“行”怎么办?如果我们连续读或写同一行以破坏相邻行怎么办?这可能导致我们不应该拥有或根本不能访问的内存行发生位翻转。那就是Rowhammer的意思,它被用作一个更大的漏洞,称为RAMpage。CVE为 CVE-2018-9442 ,它会影响LPDDR2,LPDDR3或LPDDR4 RAM随附的设备。我们已经在这里更深入地介绍了Rowhammer 。
RAMpage背后的团队
Victor Van der Veen硕士
阿姆斯特丹自由大学
Martina Lindorfer博士
维也纳
Yanick Fratantonio博士
EURECOM
Harikrishnan Padmanabha Pillai,理学硕士。
IBM公司
Giovanni Vigna教授
加州大学圣塔芭芭拉分校
加州大学圣塔芭芭拉分校教授Christopher Kruegel教授
阿姆斯特丹大学赫伯特·博斯·
弗里耶大学教授
阿姆斯特丹大学Kaveh Razavi
Vrije 博士
什么是RAMpage?
可以这么说,RAMpage并不是完全新的。RAMpage是一种硬件漏洞,可实现Rowhammer和其他较小的漏洞。RAMpage可用于获得设备的root用户访问权限,但研究人员设法使它也可以做更多的事情。它可以用来绕过JavaScript沙箱,甚至可以执行x86设备上同一台计算机上另一台虚拟机上运行的攻击。基于ARM的设备也容易受到攻击,这就是我们的Android手机出现的地方。DRAMMER表示“对移动设备的确定性Rowhammer攻击”,过去它可以用于许多Android手机上以获得根访问权限。
RAMpage如何工作?
RAMpage主要是通过滥用Android的内存管理系统-Android ION内存分配器来工作的。ION于2011年底与Android 4.0一起引入,仅为应用程序提供运行所需的内存。但是,打破这一点意味着您可以从任何应用程序中访问设备上的所有内存,这是非常危险的情况。曾经被保护过的内存不再是一旦ION崩溃了,寻找数据泄漏的任何恶意应用程序都可以通过此内存进行筛选。尽管由于这是一个硬件漏洞,所以很难防范DRAMMER(偶然是Rowhammer),但围绕Android ION建立防护措施将减轻大多数可能造成的损害。研究人员将其称为GuardION,并已在GitHub上开源。
什么是GuardION?
GuardION是发现RAMpage的人员提出的缓解措施。它只是围绕RAM中潜在可利用的软件(例如Android ION)设置缓冲区行。这是一种简单的方法,但出于以下几个原因会更好。首先,您显然无法在所有发布的Android设备中更换RAM模块。第二个原因是,即使在较新的设备中,电池修复也将更加困难,因为它们将不断刷新内存。因此,使用软件保护内存更加容易。研究人员表明,GuardION的内存开销微不足道,比Google阻止这种利用并阻止所有已知的DMA(直接内存访问)攻击的尝试要好。但是,当研究人员与Google联系时,该公司已确定GuardION的性能开销太大,无法将其合并到AOSP中。GuardION不能修复硬件漏洞,而只是解决它并减少它可以造成的损害。
我是否容易受到RAMpage的攻击?
如果您可能拥有自2012年以来发布的Android手机,那么您很容易受到攻击,但您仍然可以从下面的官方网站安装DRAMMER测试应用程序,亲自看看。尽管所有这些看起来都很可怕, 但尚无公开利用。尽管您仍然应该小心一点,但是由于该漏洞不在公共领域,因此目前没有理由担心。研究人员也不打算在这个时候发布它。您可以在下面查看原始研究论文。