防止冷启动攻击的方法

信息安全 比特锁 冷启动攻击
2021-09-09 13:53:06

在阅读了一些关于冷启动攻击的研究论文后,我大吃一惊,并开始寻找防止这种漏洞的方法。我得到了一种使用 BitLocker pin 访问 RAM 的解决方案。但我还有一个顾虑。

  1. Windows 10 最新补丁可以保护冷启动攻击?
  2. DDR3 或 DDR4 RAM 仍有漏洞?
  3. 是否有另一种保护方式而不是 BitLocker 引脚?
4个回答

Windows 10 最新补丁可以保护冷启动攻击?

不。

DDR3 或 DDR4 RAM 仍有漏洞?

DDR3 和 DDR4 保留内存的时间比 DDR2 短,但仍然可以进行冷启动。DDR4 还使用内存加扰(出于电气可靠性的目的),但作为 LFSR 的加扰算法不是为安全而设计的,可能会被破坏。

是否有另一种保护方式而不是 BitLocker 引脚?

BitLocker pin 不能防止冷启动攻击。

一些现代 AMD CPU 支持称为SME的完全透明的内存加密,并被称为“Memory Guard”。我不知道您是否可以从 Windows 启用全内存加密。除此之外,您真正能做的就是使用物理安全性。使用强加密,并在无人看管之前关闭计算机。只要您在计算机关闭后使用计算机几秒钟,恢复任何内存的机会就会很快变得为零。

冷启动攻击的想法是在操作系统仍在运行时冻结 RAM(例如,当您在午休时间并且您的盒子正在运行但屏幕锁定器已启用时)。这导致 RAM 即使断电也不会丢失数据。然后,攻击者可以使用他自己的操作系统重新启动设备,并从他想要的 RAM 中提取任何数据。最有趣的通常是用于解密硬盘的加密密钥。然后,攻击者可以使用它来解密您的硬盘并访问他喜欢的任何数据。

对于成功的攻击,攻击者需要应用所有这些攻击:

  1. 他要的数据需要在你的 RAM 中
  2. 他需要能够冻结你的内存
  3. 他需要能够将您的计算机启动到专门准备的系统或取出您的 RAM 以在另一个系统中访问它。

1.) 如果没有加密密钥来解密,您的操作系统无法访问存储在硬盘上的数据。此密钥需要存储在 RAM 中,您无法避免。解决此问题的唯一方法是在您离开时关闭计算机。

2.) 您可以通过应用物理安全措施来解决此问题,例如在机箱打开时擦除 RAM 的防拆开关。这可能有助于抵御某些攻击者,但一个准备充分且了解您所应用措施的攻击者会找到规避它们的方法。

3.) 您可以使用 BIOS / UEFI 来擦除您的 RAM,只要您的计算机打开。攻击者需要取出您的 RAM 才能从外部读取它。也许您可以针对此应用物理保护,但准备充分的攻击者也会找到规避此问题的方法。

最后,我认为您应该考虑您的威胁模型。哪些攻击者实际上与您和您的场景相关?这实际上是访问数据的最简单方法吗?还要记住xkcd ;-)

我相信实现类似TRESOR的东西,其中涉及在 CPU 寄存器中存储 AES 解密密钥,将是减轻软件冷启动攻击的唯一可能方法,但我不确定其含义(性能或与现有程序的兼容性) ) 适用于典型的 Linux 系统。在论文中,TRESOR 似乎将调试寄存器专用于加密密钥,因此各种调试工具可能无法正确运行。

原始论文指出了一些潜在的攻击向量,但其中大多数不是“冷启动”攻击,或者比对 RAM 的常规冷启动攻击更难执行。

对于硬件缓解措施,由于冷启动攻击需要在重置或硬件交换后从计算机内存中读取数据,因此在机箱入侵时实施 RAM 清理和关闭以及物理屏障以使其更难冻结和移除内存可能就足够了。在这种情况下,也需要阻止对端口的访问以防止在没有机箱入侵的情况下更改引导设备。

特别考虑到冷启动攻击的变体,其中攻击者断开内存模块与受害者计算机的连接并将它们连接到攻击者的计算机,防止这种攻击的一种方法是使用在通电时清除其内容的内存芯片。

当攻击者在传输内存模块的同时向内存模块供电或从内存模块触点读取电信号时,考虑到更广泛的攻击,防止这些攻击的一种方法是入侵检测系统,该系统在计算机外壳打开时清除内存内容.

不幸的是,所有这些保护方法都需要非标准硬件。