野外冷启动攻击方法

信息安全 磁盘加密 取证 记忆 物理访问 冷启动攻击
2021-08-23 13:25:52

据我所知,执行冷启动攻击有两种方法:

  • 将系统重新启动到具有最小内存占用的备用操作系统或 BIOS,它会自动将内存导出到持久媒体。
  • 物理移除内存模块并将它们放在启用 RAM 热插拔的主板或分析仪上,然后直接从中读取内存。

这两种方法都可以选择冷却内存模块,以使内存内容保持更长时间。然而,每种方法都有其自身的缺点。第一种方法可能会出现问题,因为如果设置了 BIOS 密码,系统可能无法启动,并且 POST 可能会覆盖内存,尤其是在 ECC 时。第二种方法的缺点是物理移除内存需要更多时间并增加数据丢失的机会,并且许多设备可能将内存焊接到主板上并且无法移动。由于在较新的 BIOS 中启用了更高的波动性和内存加扰,这两种技术都可能对 DDR3 和 DDR4 内存有问题(编辑:显然,由于使用 LFSR 进行加密,内存加扰完全没有用,仅用 50 字节的已知明文就可以破解,尽管在使用许多 DIMM 时内存交错确实使事情变得复杂)。

我读过一篇论文,涉及对早期DDR3 模块进行热插拔的攻击是可行的,恢复了超过 90% 的位,但现代 DDR3 和 DDR4 模块在实现上据称存在显着差异,这可能会影响冷启动在野外的功效。因为我知道针对旧版 DDR 和 DDR2 内存的冷启动攻击非常微不足道,所以我不太在意这一点,尽管我仍然有兴趣查看针对它们的冷启动攻击的实际使用示例,如果没有的话别的。

所以我的问题是,在现场的犯罪计算机取证中,目前针对 DDR3 和 DDR4 DRAM 最常见的冷启动攻击形式是什么,为什么?

编辑:一个可能有用的线索是这个存档的演示文稿摘要:

服务器 PC 上的 BIOS 交换。使用火线、重启或用户空间工具获取内存是标准配置。如果您的英特尔主板 BIOS 擦除 ECC 内存并且实时插入 PCIe 失败怎么办?

该演示文稿描述了另一种使用 coreboot 项目中的方法初始化 RAM 的方法。初始化后,RAM 可以通过串行和 LPC-USB 设备进行压缩转储。

这听起来像是他们甚至没有想到要删除记忆。在演讲中,他们说热插拔 DIMM 是不切实际的,冷却模块是不够的,而且除了最先进的总线内存分析器之外,所有的总线内存分析器都太慢了,无法分析实时内存,即使它们的运行速度低至 666 MHz . 当然,在 POST 时擦除内存、使用 ECC 或 BIOS 密码会使引导到备用操作系统或引导加载程序以转储内存变得不可能。

2个回答

首先,我想解决 DDR3 与 DDR4 的问题。DDR3 和 DDR4 的区别主要在于电压和时钟速度。我查看了是否有关于冷启动 DDR4 的研究,到目前为止,似乎还没有关于其实用性的学术论文。虽然商业取证实验室可能会对 DDR4 进行冷启动攻击,但他们不太可能公布他们的技术,因为这是他们的竞争优势。再一次,3 和 4 之间的差异相对较小(它的作用没有重大变化,而是它的工作方式)。可能是 DDR3 和 4 之间没有区别(就冷启动而言)。

冷启动 DDR1/2(2013 年他们无法进入 DDR3) https://www1.cs.fau.de/filepool/projects/coldboot/fares_coldboot.pdf

冷启动 DDR3(英特尔加扰) https://www.dfrws.org/2016eu/proceedings/DFRWS-EU-2016-7.pdf

冷启动 DDR2 和 DDR3 差异 (2015) - DDR3 10 秒功率损耗显示恢复过程中的错误率非常低。 https://youtu.be/ZHq2xG4XJXM?t=13m10s

虽然我没有任何关于在野外使用什么技术的信息,但这篇学术论文深入研究了对连接到英特尔 Skylake CPU 的 DDR4 DRAM 的冷启动攻击。

以下是与此问题最相关的部分:

  1. 冷启动攻击在加扰的 DDR3 和 DDR4 DRAM 上仍然非常可行。尽管在英特尔的 DDR4 控制器中实施的较新的加扰器提供了更多的数据混淆,但该论文表明这些仍然可以被规避。

  2. 波动性:即使在新一代内存模块中,DRAM 制造商也无法在不影响刷新率的情况下显着减少电容器的“体积”(这在许多前几代 DRAM 中一直保持不变)。出于这个原因,DDR3 和 DDR4 DRAM 模块即使在冷却并转移到另一台机器时仍能保留大量内容。该论文报告了如何为 DDR4 DRAM 完成此操作。