tails os 是否容易受到冷启动攻击?

信息安全 恶意软件 数据恢复 冷启动攻击
2021-08-16 22:58:16

我查看了文档,它提到在关闭时驻留在内存中的数据被覆盖,但是它没有详细说明它是如何做到这一点的。

文档链接:https ://tails.boum.org/doc/advanced_topics/cold_boot_attacks/index.en.html

是否有任何可预见的方法可以绕过甚至在冷启动攻击后恢复?

当用户在操作系统上时,其他东西也可能会干扰关机。例如,某些执行的恶意软件会绕过 RAM 中被覆盖的数据。

2个回答

恶意软件会干扰擦除过程吗?

如果系统上存在恶意软件,那么是的,它将能够干扰内存擦除过程。如果恶意进程在内存中生成了许多自身的副本,它可以阻止启动内存擦除的进程执行,从而导致计算机挂起。这是一种极其简单的攻击,称为分叉炸弹,它会填满系统进程表并阻止新进程的形成。即使拔掉U盘也不会让电脑退出这个死机状态,只有按住电源键才能关机。该恶意软件也不需要root权限。它可以作为普通用户执行此操作。不过,这不是一个很可能的威胁,因为它必须与对你的物理突袭紧密协调,这不太可能。阻止您拔出 U 盘比在系统上获取恶意软件要容易得多。然而,这不是 Linux 的固有限制,未来可以配置 Tails 以通过使用 PAM 很好地抵抗来自非 root 用户的这种拒绝服务攻击。但是,具有 root 权限的恶意软件实际上仍然可以为所欲为。

有没有办法恢复擦除的内存?

理论上是可以的,但不是因为内存擦完就可以恢复了。在某些系统上,擦除失败。这通常没什么大不了的,因为它只会为您节省几秒钟的额外时间。在非常旧的计算机上,最多可以节省一分钟。如果擦除失败并且您的计算机有 DDR3 或 DDR4 内存,只需确保它保持关闭 5 秒左右,内存就会自然褪色。如果您有较旧的 DDR2 内存,请等待几分钟以确定。

如果您要问成功擦除内存后的冷启动攻击是否可以恢复以前的内容,那么我会说绝对不会。至少不是 21 世纪的技术。

针对 VRAM 的冷启动攻击

然而,关于恢复内存还有一个不同的问题,那就是视频内存或 VRAM。大多数显卡中的 VRAM 通常是真正的 DDR3 或 GDDR4/GDDR5。GDDR4 和 GDDR5 基于 DDR3,但针对更高带宽和图形任务进行了优化。由于它们基于 DDR3,因此可能适用类似的冷启动技术。Tails 目前无法在关机时擦除视频内存。针对显存的冷启动攻击是可能的,并且它们允许在系统启动时重建帧缓冲区,以及 GPU 当时正在进行的计算。如果您的系统使用集成显卡(即 GPU 完全包含在 CPU 中,而不是独立显卡),那么针对 Tails 上的视频内存的冷启动攻击会变得更加困难。对于拥有独立 GPU 的人来说,这主要是个问题。对此有几种可能的解决方案,除了简单地等待几秒钟让内存自然消失之外,但 Tails 还没有实现它实际上,我在空闲时间正在研究其中的一些,并且可能会将它们贡献给 Tails。其他人也是如此,所以这不是未知数,也不一定是永远的问题。

但真正的风险是什么?

老实说,我不会担心记忆擦除失败或在 Tails 上被击败的可能性。现代 RAM(DDR3 和 DDR4)需要冷却到 -30 摄氏度以上才能保留任何信息超过几秒钟。Tails 内存擦除功能主要用于使用 DDR2(或上帝禁止,古老的 DDR)内存的旧计算机,如果您关闭机器并走开,3 分钟后有人可以走到它并恢复很大一部分有关它的信息(即使这是最坏的情况。大多数 DDR2 内存在一分钟内消失)。有了现代记忆,他们就必须就在那儿,手里拿着冷冻喷雾,电脑被撕开,设备在他们旁边,就像你关闭系统让他们有机会恢复内存。即使您没有擦除 RAM,那也是如此!

只要您有 DDR3 或 DDR4 内存,并且您能够在“他们”拿到它之前几秒钟关闭您的系统,那么您就完全安全了。如果您有 1) DDR2 或 DDR 内存,或者 2) 您的计算机在仍处于运行状态时被从您手中夺走,并且您的对手有足够的时间在系统仍在运行时准备和冻结记忆棒,那么冷启动攻击是一种风险跑步。

抛开所有技术细节不谈,你应该如何为自己辩护?

如果对手即将获得对您计算机的物理访问权限,您必须将其关闭,这是没有办法的。如果他们拿走了计算机而您无法将其关闭,他们将能够对它做任何他们想做的事情。但是,如果您设法在此之前拔出 USB 记忆棒,那么您是完全安全的(免受冷启动攻击的威胁)。

请不要混淆针对软件的攻击针对硬件的攻击冷启动是第二个:没有软件能够保护自己免受它的影响,因为它是基于硬件行为的。您唯一可以做的就是不断地重新定位内存中存储的私人数据并清除用于先前存储的内存,但这不会拯救您,只会使从内存转储中提取变得更加困难。