BitLocker 攻击应对策略

BitLocker 攻击应对策略

适用于:
    ✅ Windows 11, ✅ Windows 10, ✅ Windows Server 2022, ✅ Windows Server 2019, ✅ Windows Server 2016

本文内容

启动前的保护
安全策略
攻击对策
攻击者对策
相关文章

Windows 使用受信任的平台模块 (TPM) 、安全启动和测量启动等技术来帮助保护 BitLocker 加密密钥免受攻击。 BitLocker 是通过加密技术保护数据免受脱机攻击的战略方法的一部分。 丢失或被盗计算机上的数据易受攻击。 例如,通过对计算机运行软件攻击工具或将计算机的硬盘传输到其他计算机,可能存在未经授权的访问。

在启动授权的操作系统之前,BitLocker 可帮助缓解计算机上丢失或被盗的未经授权的数据访问。 此缓解措施通过以下方法完成:

在计算机上加密卷。 例如,可以为操作系统卷(固定驱动器上的卷)打开 BitLocker。 或可移动数据驱动器 (,如 U 盘、SD 卡等) 打开操作系统卷的 BitLocker 会加密卷上的所有系统文件,包括分页文件和休眠文件。 唯一的例外是系统分区,其中包括 Windows 启动管理器和在密钥解封后解密操作系统卷所需的最小启动附件。

确保早期启动组件和启动配置数据的完整性。 在 TPM 版本为 1.2 或更高版本的设备上,BitLocker 使用 TPM 的增强安全功能,仅当计算机的 BIOS 固件代码和配置、原始启动序列、启动组件和 BCD 配置均未更改且加密磁盘位于原始计算机中时,才能访问数据。 在使用 TPM PCR[7] 的系统上,允许对认为安全的 BCD 设置更改来提高可用性。

下一部分详细介绍 Windows 如何防范 Windows 11、Windows 10、Windows 8.1 和 Windows 8 中 BitLocker 加密密钥的各种攻击。

有关如何从 Windows 10 版本 1803 开始为设备启用最佳整体安全配置的详细信息,请参阅高度安全的 Windows 设备的标准。
启动前的保护

在 Windows 启动之前,必须依赖作为设备硬件和固件一部分实现的安全功能,包括 TPM 和安全启动。 幸运的是,许多新式计算机具有 TPM 和安全启动。
受信任的平台模块

TPM) (受信任的平台模块是一种微芯片,旨在提供基本的安全相关功能,主要涉及加密密钥。 在某些平台上,也可以将 TPM 作为安全固件的一部分实现。 BitLocker 将加密密钥与 TPM 绑定,以确保计算机在系统脱机时未被篡改。 有关 TPM 的详细信息,请参阅 受信任的平台模块。
UEFI 和安全启动

统一可扩展固件接口 (UEFI) 是一种可编程的启动环境,用于初始化设备和启动操作系统的引导加载程序。

UEFI 规范定义了一个名为 “安全启动”的固件执行身份验证过程。 安全启动阻止不受信任的固件和引导加载程序 (签名或未签名) 无法在系统上启动。

默认情况下,BitLocker 利用 TPM PCR[7] 度量为安全启动提供完整性保护。 未经授权的 EFI 固件、EFI 启动应用程序或引导加载程序无法运行并获取 BitLocker 密钥。
BitLocker 和重置攻击

扫描二维码关注公众号,回复: 16662976 查看本文章

为了抵御恶意重置攻击,BitLocker 在将密钥提取到内存中之前,使用 TCG 重置攻击缓解措施(也称为 MOR 位 (内存覆盖请求) )。

备注

这无法防范攻击者打开案例并攻击硬件的物理攻击。
安全策略

接下来的部分介绍预启动身份验证和可为 BitLocker 提供额外保护的 DMA 策略。
预启动身份验证

BitLocker 的预启动身份验证是一种策略设置,它要求在使系统驱动器的内容可访问之前,使用用户输入(如 PIN 和/或启动密钥)进行身份验证。 组策略设置为“启动时需要其他身份验证”,BitLocker CSP 中的相应设置是 SystemDrivesRequireStartupAuthentication。

BitLocker 仅在完成预启动身份验证后访问加密密钥并将其存储在内存中。 如果 Windows 无法访问加密密钥,则设备无法读取或编辑系统驱动器上的文件。 绕过预启动身份验证的唯一选项是输入恢复密钥。

预启动身份验证旨在防止加密密钥加载到系统内存,而无需受信任的用户提供其他身份验证因素(例如 PIN 或启动密钥)。 此功能有助于缓解 DMA 和内存再管理攻击。

在具有兼容 TPM 的计算机上,可以通过四种方式解锁受 BitLocker 保护的操作系统驱动器:

仅限 TPM。 使用仅限 TPM 的验证不需要与用户进行任何交互即可解锁并提供对驱动器的访问权限。 如果 TPM 验证成功,则用户登录体验与标准登录相同。 如果 TPM 丢失或更改,或者 BitLocker 检测到 BIOS 或 UEFI 代码或配置、关键操作系统启动文件或启动配置的更改,则 BitLocker 将进入恢复模式,并且用户必须输入恢复密码才能重新获得对数据的访问权限。 此选项对于登录更方便,但比其他需要其他身份验证因素的选项安全性较差。

具有启动密钥的 TPM。 除了仅 TPM 提供的保护外,部分加密密钥还存储在 U 盘上,称为启动密钥。 如果没有启动密钥,则无法访问加密卷上的数据。

具有 PIN 的 TPM。 除了 TPM 提供的保护外,BitLocker 还要求用户输入 PIN。 如果不输入 PIN,则无法访问加密卷上的数据。 TPM 还具有 防打击保护 ,旨在防止尝试确定 PIN 的暴力攻击。

具有启动密钥和 PIN 的 TPM。 除了仅限 TPM 提供的核心组件保护外,部分加密密钥存储在 U 盘上,并且需要 PIN 才能向 TPM 验证用户身份。 此配置提供多重身份验证,因此,如果 USB 密钥丢失或被盗,则不能用于访问驱动器,因为还需要正确的 PIN。

在以下组策略示例中,需要 TPM + PIN 才能解锁操作系统驱动器:

在这里插入图片描述

组策略 中的预启动身份验证设置。

使用 PIN 的预启动身份验证可以缓解使用可启动 eDrive 的设备的攻击途径,因为公开的 eDrive 总线可能允许攻击者在启动期间捕获 BitLocker 加密密钥。 使用 PIN 的预启动身份验证还可以在 BitLocker 解锁驱动器和 Windows 启动之间的时间范围内缓解 DMA 端口攻击,使 Windows 可以设置已配置的任何与端口相关的策略。

另一方面,预启动身份验证提示对用户可能不方便。 此外,忘记 PIN 或丢失启动密钥的用户将被拒绝访问其数据,直到他们可以联系组织的支持团队以获取恢复密钥。 预启动身份验证还会使更新无人参与的桌面和远程管理服务器变得更加困难,因为在计算机重新启动或从休眠状态恢复时需要输入 PIN。

若要解决这些问题,可以部署 BitLocker 网络解锁 。 网络解锁允许物理企业安全外围内的系统满足硬件要求,并使用 TPM+PIN 启用 BitLocker,无需用户干预即可启动到 Windows。 它需要与企业 Windows 部署服务 (WDS) 服务器的直接以太网连接。
保护 Thunderbolt 和其他 DMA 端口

有几种不同的选项可以保护 DMA 端口,例如 Thunderbolt™3。 从 Windows 10 版本 1803 开始,基于 Intel 的新设备默认通过 Thunderbolt™ 3 端口启用内核保护来抵御 DMA 攻击。 此内核 DMA 保护仅适用于从 Windows 10 版本 1803 开始的新系统,因为它需要更改系统固件和/或 BIOS。

如果设备启用了内核 DMA 保护,可以使用系统信息桌面应用MSINFO32.exe检查:

在这里插入图片描述

内核 DMA 保护。

如果未启用内核 DMA 保护,请执行以下步骤来保护已启用 Thunderbolt™ 3 的端口:

需要密码进行 BIOS 更改

必须在 BIOS 设置中将 Intel Thunderbolt Security 设置为“用户授权”。 请参阅 Intel Thunderbolt™ 3 和 Microsoft Windows® 10 操作系统上的安全性文档

可以通过从 Windows 10 版本 1607 或 Windows 11) 开始部署策略 (来增加额外的 DMA 安全性:

    MDM: DataProtection/AllowDirectMemoryAccess 策略

    组策略:锁定此计算机时禁用新的 DMA 设备 (默认情况下未配置此设置。)

对于 Thunderbolt v1 和 v2 (DisplayPort 连接器) ,请参阅阻止 SBP-2 驱动程序和 Thunderbolt 控制器中的 Thunderbolt 缓解部分,以减少对 BitLocker 的 1394 DMA 和 Thunderbolt DMA 威胁。 对于 SBP-2 和 1394 (也称为 Firewire) ,请参阅阻止 SBP-2驱动程序和 Thunderbolt 控制器中的 SBP-2 缓解部分,以减少对 BitLocker 的 1394 DMA 和 Thunderbolt DMA 威胁。

攻击对策

本部分介绍针对特定类型的攻击的对策。
Bootkit 和 rootkit

实际存在的攻击者可能会尝试将引导工具包或类似于 rootkit 的软件部分安装到启动链中,以试图窃取 BitLocker 密钥。 TPM 应通过 PCR 测量来观察此安装,并且不会释放 BitLocker 密钥。

备注

默认情况下,BitLocker 会防范此攻击。

如果 BIOS 公开的设置可能会削弱 BitLocker 安全承诺,则建议使用 BIOS 密码进行深层防御。 Intel Boot Guard 和 AMD 硬件验证启动支持更强大的安全启动实现,可提供针对恶意软件和物理攻击的额外复原能力。 Intel 启动防护和 AMD 硬件验证启动是 高度安全的 Windows 设备的平台启动验证标准的一部分。
针对 PIN 的暴力攻击

需要 TPM + PIN 进行防锤保护。
DMA 攻击

请参阅本文前面的 保护 Thunderbolt 和其他 DMA 端口 。
分页文件、故障转储和Hyberfil.sys攻击

在 OS 驱动器上启用 BitLocker 时,这些文件默认在加密卷上受到保护。 它还会阻止自动或手动尝试移动分页文件。

内存 remanence

启用安全启动并强制提示输入密码以更改 BIOS 设置。 对于需要防范这些高级攻击的客户,请配置 TPM+PIN 保护程序,禁用备用电源管理,并在设备离开授权用户的控制之前关闭或休眠设备。
欺骗 BitLocker 将密钥传递给恶意操作系统

攻击者可能会修改启动管理器配置数据库 (BCD) 该数据库存储在非加密分区上,并将入口点添加到其他分区上的恶意操作系统。 在启动过程中,BitLocker 代码将确保将从 TPM 获取的加密密钥提供给的操作系统经过加密验证为目标接收方。 由于此强加密验证已存在,因此不建议将磁盘分区表的哈希存储在平台配置寄存器 (PCR) 5 中。

攻击者还可以在保留平台硬件和固件的同时替换整个操作系统磁盘,然后从受攻击 OS 分区的元数据中提取受保护的 BitLocker 密钥 Blob。 然后,攻击者可以通过从受其控制的操作系统调用 TPM API 来尝试解封该 BitLocker 密钥 Blob。 此操作不会成功,因为当 Windows 将 BitLocker 密钥密封到 TPM 时,它会使用 PCR 11 值 0 执行此操作,并且要成功解封 blob,TPM 中的 PCR 11 必须具有值为 0。 但是,当启动管理器将控件传递给任何启动加载程序 (合法或恶意) 它始终将 PCR 11 更改为值 1。 由于 PCR 11 值在退出启动管理器后保证不同,因此攻击者无法解锁 BitLocker 密钥。
攻击者对策

以下部分介绍针对不同类型的攻击者的缓解措施。
没有太多技能或物理访问受限的攻击者

物理访问可能受不公开总线和内存的外形规格的限制。 例如,没有支持 DMA 的外部端口,没有用于打开机箱的外露螺丝,并且内存已焊接到主板上。

此机会攻击者不会使用破坏性方法或复杂的取证硬件/软件。

缓解:

预启动身份验证设置为仅 TPM (默认)

具有技能和长时间物理访问权限的攻击者

具有足够时间的针对性攻击;此攻击者将打开案例,将焊接,并将使用复杂的硬件或软件。

缓解:

使用 PIN 保护程序将预启动身份验证设置为 TPM, (具有复杂的字母数字 PIN [增强引脚] 来帮助 TPM 抗锤击缓解) 。

-和-

禁用待机电源管理,并在设备离开授权用户的控制之前关闭或休眠设备。 可以使用以下组策略设置此配置:

    计算机配置>政策>管理模板>Windows 组件>>文件资源管理器电源选项菜单中的休眠状态

    计算机配置>政策>管理模板>电源管理>睡眠设置>在睡眠 (插入) 时,允许 (S1-S3) 待机状态

    计算机配置>政策>管理模板>电源管理>睡眠设置>在电池) 上 (睡眠时,允许 (S1-S3) 待机状态

重要

默认情况下 未配置 这些设置。

对于某些系统,仅绕过 TPM 可能需要打开外壳,并且可能需要焊接,但可能以合理的成本完成。 使用 PIN 保护程序绕过 TPM 的成本要高得多,并且需要暴力强制使用 PIN。 使用复杂的增强型 PIN 几乎是不可能的。 增强 PIN 的组策略设置是:

计算机配置>政策>管理模板>Windows 组件>BitLocker 驱动器加密>操作系统驱动器>允许用于启动的增强型 PIN

重要

默认情况下 未配置 此设置。

对于安全管理工作站,Microsoft 建议使用具有 PIN 保护器的 TPM,并禁用备用电源管理,并关闭或休眠设备。

猜你喜欢

转载自blog.csdn.net/weixin_42672685/article/details/132895515