Hibernate 功能是否会带来任何安全威胁?

信息安全 比特锁 Windows 7的
2021-08-18 02:16:37

我的组织以前允许其员工休眠他们的设备(开始>电源>休眠)。一段时间后,“休眠”选项从“开始”菜单中消失了。一些员工开始使用shutdown /h休眠他们的 PC。它工作了几个星期。后来,通过 Windows 命令提示符运行相同的命令会引发错误“休眠功能已在这台机器上被禁用”。

显然,这是 IT 团队出于某种我无法理解的原因采取的步骤。首先,他们从“开始”菜单中删除了该选项,后来他们一定意识到人们已经从命令提示符开始使 PC 休眠,然后也将其禁用。

我的问题是,启用休眠如何构成安全威胁?还是可能有其他原因?

如果有帮助,我们有 Windows 7 企业版 PC、由 Bitlocker 加密的硬盘,我们可以将 PC 置于睡眠模式。

另外,我猜当PC处于睡眠模式时硬盘驱动器没有加密,但是当它处于休眠模式时所有数据都被加密。如果我错了,请纠正我。

编辑:嗯,我的问题的域不限于硬盘驱动器的 Bitlocker 加密。这是一个更普遍的问题。除了加密之外,我很想知道在休眠模式下是否还有其他威胁。此外,如果加密是一个问题,那么显然将机器置于睡眠模式也可能是危险的。但他们确实允许睡眠模式......

4个回答

是微软不得不说的:

禁用睡眠

操作系统驱动器的 BitLocker 解锁方法(例如 TPM 完整性检查或在允许访问驱动器之前请求 PIN 或启动密钥)仅在计算机打开、重新启动或退出休眠状态时使用。如果计算机在一段时间不活动后进入睡眠模式而不是进入休眠状态,则驱动器保持解锁状态因此,为了增加安全性,建议使用组策略禁用睡眠模式。

我的大胆。这意味着从休眠状态恢复与冷启动一样安全。

您可能正在与过分热心的 IT 部门打交道,他们误解了问题,或者他们有其他与磁盘加密无关的原因进行更改。

关于为什么休眠可能会被禁用的更一般的问题,您必须询问您的 IT 部门。在这一点上,甚至不清楚这是出于安全相关的原因。也许他们在某些硬件上遇到了问题,并在公司范围内禁用了它以保持统一。

另一个原因可能是他们的目标是禁用快速启动

与安全相关,也许并非所有工作站都使用 FDE 或安全引导,在这种情况下,休眠可能是个问题。

我们可以永远推测,但除非您的 IT 部门漫游 SecSE,否则您不会得到实际答案。

从与软件无关的角度来看,FDE(全盘加密)通常被实施为一种控制措施,以应对从丢失或被盗设备中恢复数据的风险。如果是其他原因,以下可能不适用...

从企业风险管理的角度来看,是否应允许睡眠或休眠状态的决定应基于对 FDE 软件如何在这些状态下工作以及它是否仍能有效应对适用的威胁场景的技术评估。

对于预启动身份验证解决方案,曾经依赖于关闭设备才能使 FDE 生效,这是因为攻击者有可能使用基于 DMA 的攻击来访问内存(因此理论上是加密密钥)。

与当前设备中的决策相关的其他几个因素(考虑实际攻击时):

  • 设备是否具有支持 DMA 的外部接口
  • 存储是如何实现的(可移动驱动器 v 的硬连线内存)

还有其他需要考虑的事情,例如,如果以不同的复杂性要求实现单独的预启动密码和登录密码,那么如果设备状态不需要预启动密码,则可能会更容易进行密码猜测攻击.

另外,我猜当PC处于睡眠模式时硬盘驱动器没有加密,但是当它处于休眠模式时所有数据都被加密。如果我错了,请纠正我。

硬盘驱动器(减去一个小的引导分区)始终是加密的。不同之处在于,当机器运行处于睡眠模式时,解密密钥在 RAM 中(尽管它仅用于透明地解密和加密来自/去往驱动器的数据;实际接触驱动器的所有内容仍然是加密的)。另一方面,在休眠(或完全断电)期间,RAM 没有电源并且密钥消失了。因为冬眠文件(的hiberfil.sys)是对加密的系统分区的任何秘密,在 RAM 中,现在在 hiberfile 中也被加密。如果不获取 BitLocker 解密密钥(从 TPM、密码/PIN、闪存驱动器或使用恢复密钥),您将无法从休眠状态恢复计算机,或以其他方式读取休眠文件内容。

显然将机器置于睡眠模式也可能很危险。但他们确实允许睡眠模式......

是的,您的 IT 部门不称职。他们应该禁用睡眠,但启用休眠,而不是相反。休眠是安全的(没有明文密钥),睡眠不是(密钥以明文形式保存在 RAM 中,并且可以被具有物理访问权限的攻击者窃取)。这在许多地方都有记载,有些可以追溯到十多年前[1]。

[1] 那篇文章的作者是我 2008 年在微软的导师。

当您将系统置于休眠状态时,整个内存都存储在磁盘 (hiberfil.sys) 上。这总是会带来安全威胁,因为内存中可能包含私人数据、密码、密钥等。使用另一个系统接近存储可以访问整个内存转储。加密磁盘会有所帮助,但并非所有内存都可以加密到磁盘,例如,为了运行内核,必须有一些内存段可用。

另一方面,sleepmode 仍然通过内存保持电源浮动,因此需要持久存储(暂时忽略缓存)。设置 BitLocker 时,即使 Windows 已启动并正在运行,硬盘也始终加密

从攻击者的角度来看,我不认为休眠和 BitLocker 会造成不安全的环境。我什至认为睡眠模式更容易受到攻击,因为它为攻击者提供了很大的机会来尝试访问纯内存内容。