Rowhammer变种RAMBleed允许攻击者窃取RAM的秘密

ram.jpg

研究人员设计了一种新的攻击方式,允许在计算机上运行的非特权代码窃取存储在应受保护的内存区域中的秘密,例如加密密钥。这种攻击是可能的,因为现代DRAM芯片的一个已知设计问题是过去被利用来修改受保护的数据。


被称为RAMBleed的新攻击是来自密歇根大学的研究人员Andrew Kwong和Daniel Genkin,来自格拉茨技术大学的Daniel Gruss和来自阿德莱德大学和Data61的Yuval Yarom的工作。使用这项新技术,研究人员能够使用运行了用户级权限的代码从OpenSSH服务器中提取RSA 2048位签名密钥。

在Linux的安全模型和大多数现代操作系统的安全模型下,这是不可能的,因为OpenSSH作为系统服务运行,其内存与内核的内存隔离并受到保护,不受用户空间应用程序的影响。任何未经授权的违反安全边界的行为都是一个严重漏洞,因为许多应用程序依赖内核来保护其秘密,例如加密密钥和密码。

RAMBleed:另一个硬件设计缺陷

RAMBleed是另一种名为Rowhammer的攻击的变种,该攻击多年来一直为人所知,它利用了DDR3和DDR4 SDRAM内存芯片中增加的单元密度。SDRAM芯片将信息作为电荷存储在按行排列的单元内。单元的充电或放电状态确定存储在内部的值是1还是0,表示位。

其他研究人员在过去已经确定,对同一物理行存储器单元的重复读取操作 - 称为锤击 - 可能导致其电荷泄漏到相邻行中,从而改变这些行中的单元的值。这是可能的,因为在现代SDRAM芯片中,单元非常小并且紧密地封装在一起。

如果以受控方式实现,则这种“划线”效果和由此产生的数据修改可能具有安全隐患。到目前为止所展示的Rowhammer攻击可用于实现权限升级,打破软件沙箱或崩溃系统。

虽然基于相同的行概念,RAMBleed是不同的,因为它不是修改数据,而是使用侧通道从其他行提取数据。换句话说,RAMBleed是第一个影响存储在存储单元中的数据的机密性而非其完整性的Rowhammer型攻击。

RAMBleed背后的研究团队证明,他们的攻击甚至可以对具有纠错码(ECC)功能的SDRAM芯片起作用。ECC内存通常用于服务器和高保证系统,直到现在才被认为是对Rowhammer攻击的防御。这是因为即使物理的Rowhammer效应仍然发生,校正位也不能可靠地用于安全漏洞,但这仅适用于数据修改。

“值得注意的是,RAMBleed可以打破ECC内存的内存机密性,即使ECC机制成功纠正了所有位翻转,”研究人员在他们的论文中写道。“在分析了目标的内存之后,我们展示了RAMBleed如何泄漏存储在目标物理内存中的秘密,实现每秒大约三到四位的读取速度。

Kwong告诉CSO他们的攻击目前仅在DDR3 SDRAM上进行了测试和确认,但正在计划对DDR4进行测试。该团队已向英特尔,AMD,OpenSSH,微软,苹果和红帽通报了他们的调查结果,并为该问题分配了CVE-2019-0174漏洞标识符。

过去的Rowhammer攻击具有通过浏览器或网络数据包远程工作的变体,但RAMBleed攻击,至少在它的概念验证版本中,依赖于在本地机器上运行的代码。然而,这不是一个很大的限制,因为本地代码执行可以通过恶意软件感染或通过某些其他应用程序中的漏洞来实现,并且攻击无需提升特权。

RAMBleed缓解

根据Kwong的说法,现有的操作系统级漏洞利用缓解措施(如内核地址空间布局随机化(KASLR))无法阻止攻击。但是,OpenSSH等个别软件应用程序可以使用某些技术来保护内存中的秘密并使其更难窃取,例如在其周围添加缓冲区以使其更大。

“RAMBleed可以绕过可能应用于目标的基于软件的完整性检查,例如使用消息认证码(MAC)来保护目标数据,”研究人员在他们的论文中说。“此外,旨在保护加密系统免受故障攻击(例如Shamir的对策)的技术也无效,因为它们再次保护加密计算的完整性而不是其机密性。其他软件防御,例如Brasser等人的内存分区方案不会减轻我们的攻击,因为我们不是试图从内核内存中读取内容。

英特尔发布了一份关于该漏洞的安全公告,并将其评为低影响 - 在CVSS规模上为3.8 - 至少与其处理器及其处理内存的方式有关。“对于英特尔所知的已发布漏洞,英特尔建议用户遵循现有的最佳实践,包括:使用耐受Rowhammer式攻击的DRAM模块,”该公司表示。

Red Hat在其有关Rowhammer的知识库文章中添加了此漏洞,并引用了几个基于硬件的建议解:目标行刷新(TRR),增加的DRAM刷新间隔(DRAM刷新率增加一倍)和ECC内存的使用。“这些策略实际上可以缓解问题的程度各不相同,而且是硬件平台特定的,”该公司表示。“供应商预计将提供适当的平台特定指导。

最终,完全缓解,就像最近在CPU中发现的漏洞一样,将需要硬件重新设计,因此它们将在未来的SDRAM芯片中可用。但是,无法保证将来不会发现此攻击的其他变化或改进。安全社区有一句俗语:攻击总是变得更好; 永远不会更糟

“我认为我们只看到冰山一角给出了多少硬件攻击仅在过去一年中出现,因此可能会有更多的事情发生,”Kwong说。“安全研究界已经对软件进行了长时间的探索,而且直到最近才对硬件产生了浓厚的兴趣,因此我们可以预期硬件安全性将会出现类似的变化。

发表评论 / Comment

用心评论~