原始发布日期: 2025 年 2 月 13 日
KB ID:5053946
简介
本文档介绍了如何部署针对公开披露的安全启动安全功能旁路的防护,该安全启动安全功能旁路使用由 CVE-2023-24932 跟踪的 BlackLotus UEFI 启动工具包用于企业环境。
为了避免中断,Microsoft不打算在企业中部署这些缓解措施,而是提供本指南来帮助企业自行应用缓解措施。 这使企业可以控制部署计划和部署时间。
入门
我们已将部署划分为多个步骤,可以在适用于组织的时间线上实现这些步骤。 你应该熟悉这些步骤。 充分了解这些步骤后,应考虑它们如何在环境中工作,并在时间线准备适用于企业的部署计划。
添加新的 Windows UEFI CA 2023 证书并取消信任Microsoft Windows 生产 PCA 2011 证书需要设备固件的合作。 由于设备硬件和固件的大量组合,并且Microsoft无法测试所有组合,因此建议在广泛部署之前测试环境中的代表性设备。 建议至少测试组织中所使用的每种类型的一个设备。 KB5025885 :如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销中记录了一些阻止这些缓解措施的已知设备问题。 如果检测到设备固件问题未在 “已知问题 ”部分列出,请与 OEM 供应商协作解决该问题。
由于本文档引用了多个不同的证书,因此下表中提供了这些证书,以便于参考和说明:
|
旧版 2011 CA |
新的 2023 CA (将于 2038) 到期 |
函数 |
|
Microsoft Corporation KEK CA 2011 (将于 2026 年 7 月到期) |
Microsoft Corporation KEK CA 2023 |
对 DB 和 DBX 更新进行签名 |
|
Microsoft Windows 生产 PCA 2011 (PCA2011) (将于 2026 年 10 月到期) |
Windows UEFI CA 2023 (PCA2023) |
对 Windows 启动加载程序进行签名 |
|
Microsoft Corporation UEFI CA 2011 (将于 2026 年 7 月到期) |
Microsoft UEFI CA 2023 和 Microsoft 选项 ROM UEFI CA 2023 |
对第三方引导加载器和选项 ROM 进行签名 |
重要说明 在测试具有缓解措施的设备之前,请务必将最新的安全更新应用到测试计算机。
注意 在设备固件测试期间,你可能会发现导致安全启动更新无法正常工作的问题。 这可能需要从制造商 (OEM) 获取更新的固件,并在受影响的设备上更新固件,以缓解发现的问题。
必须应用四种缓解措施来防范 CVE-2023-24932 中所述的攻击:
-
缓解措施 1: 将更新的证书 (PCA2023) 定义安装到 DB
-
缓解措施 2:更新设备上的启动管理器
-
缓解措施 3:启用吊销 (PCA2011)
-
缓解措施 4:将 SVN 更新应用到固件
可以按照KB5025885缓解部署 指南 中所述的指导,手动将这四种缓解措施应用于每个测试设备 :如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销,或按照本文档中的指导进行作。 所有四种缓解措施都依赖于固件才能正常运行。
了解以下风险将有助于你在规划过程中。
固件问题:每个设备都有设备制造商提供的固件。 对于本文档中所述的部署作,固件必须能够接受和处理安全启动 DB (签名数据库) 和 DBX (禁止签名数据库) 的更新。 此外,固件还负责验证签名或启动应用程序,包括 Windows 启动管理器。 设备固件是软件,与任何软件一样,可能存在缺陷,这就是为什么在广泛部署之前测试这些作很重要的原因。Microsoft持续测试许多设备/固件组合,从Microsoft实验室和办公室内的设备开始,Microsoft正在与 OEM 合作测试其设备。 几乎所有测试的设备都顺利通过。 在少数情况下,我们看到了固件无法正确处理更新的问题,我们正在与 OEM 合作,以解决我们注意到的问题。
注意 在设备测试期间,如果检测到固件问题,我们建议与设备制造商/OEM 合作来解决此问题。 在事件日志中查找 事件 ID 1795 。 有关 安全启动事件的更多详细信息,请参阅KB5016061:安全启动 DB 和 DBX 变量更新 事件。
安装媒体:通过应用本文档稍后所述的缓解措施 3 和缓解措施 4,在媒体具有更新的启动管理器之前,任何现有的 Windows 安装媒体将不再可启动。 本文档中所述的缓解措施通过在固件中不信任易受攻击的启动管理器来防止它们运行。 这可以防止攻击者将系统启动管理器回滚到以前的版本,并利用旧版本中存在的漏洞。 阻止这些易受攻击的启动管理器应该不会对正在运行的系统产生任何影响。 但是,在更新媒体上的启动管理器之前,它将阻止任何可启动媒体启动。 这包括 ISO 映像、可启动 USB 驱动器以及网络启动 (PxE 和 HTTP 启动) 。
更新到PCA2023和新启动管理器
-
缓解措施 1:将更新的证书定义安装到 DB 将新的 Windows UEFI CA 2023 证书添加到 UEFI 安全启动签名数据库 (DB) 。 通过将此证书添加到 DB,设备固件将信任Microsoft此证书签名的 Windows 启动应用程序。
-
缓解措施 2:更新设备上的 启动管理器 应用使用新的 Windows UEFI CA 2023 证书签名的新 Windows 启动管理器。
这些缓解措施对于这些设备上的 Windows 的长期可维护性非常重要。 由于固件中的Microsoft Windows 生产 PCA 2011 证书将于 2026 年 10 月到期,因此设备必须在固件中具有新的 Windows UEFI CA 2023 证书,否则设备将无法再接收 Windows 更新,使其处于易受攻击的安全状态。
若要了解如何在两个单独的步骤中应用缓解 1 和缓解 2, (如果想要更加谨慎,请至少首先参阅 ) KB5025885:如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销。 或者,可以通过以管理员身份运行以下单个注册表项作来应用这两种缓解措施:
|
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x140 /f |
应用缓解措施时, 将清除 AvailableUpdates 键中的位。 将其设置为 0x140 并重启后,该值将更改为 0x100 ,然后在另一次重启后,该值将更改为 0x000。
在固件指示成功应用 2023 证书缓解之前,不会应用启动管理器缓解措施。 不能按顺序执行这些作。
应用这两种缓解措施后,将设置一个注册表项来指示系统“支持 2023”,这意味着可以更新媒体,并且可以应用缓解措施 3 和缓解措施 4。
在大多数情况下,完成缓解 1 和缓解 2 需要 至少重启两 次才能完全应用缓解措施。 在环境中添加其他重启将有助于确保更快地应用缓解措施。 但是,人为地注入其他重启可能不切实际,并且依赖于作为应用安全更新的一部分发生的每月重启可能有意义。 这样做意味着减少环境的中断,但风险是花费更长的时间才能获得安全。
将缓解 1 和缓解 2 部署到设备后,应监视设备,以确保它们已应用缓解措施,并且现在“支持 2023”。 可以通过在系统上查找以下注册表项来完成监视。 如果密钥存在并且设置为 1,则表示系统已将 2023 证书添加到安全启动 DB 变量。 如果密钥存在并且设置为 2,则系统在 DB 中具有 2023 证书,并且从 2023 已签名的启动管理器开始。
|
注册表子项 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing |
|
|
键值名称 |
WindowsUEFICA2023Capable |
|
|
数据类型 |
REG_DWORD |
|
|
数据 |
0 或密钥不存在 -“Windows UEFI CA 2023”证书不在数据库中 1 - “Windows UEFI CA 2023”证书位于 DB 中 2 - “Windows UEFI CA 2023”证书位于 DB 中,系统从 2023 已签名的启动管理器启动。 |
|
更新可启动媒体
将缓解 1 和缓解 2 应用于设备后,可以更新环境中使用的任何可启动媒体。 更新可启动媒体意味着将PCA2023签名的启动管理器应用到媒体。 这包括更新网络启动映像 (,例如 PxE 和 HTTP) 、ISO 映像和 U 盘。 否则,应用了缓解措施的设备将不会从使用旧 Windows 启动管理器和 2011 CA 的启动媒体启动。
此处提供了有关如何更新每种类型的可启动媒体的工具和指南:
|
媒体类型 |
Resource |
|
ISO、USB 驱动器等 |
|
|
PXE 启动服务器 |
稍后提供的文档 |
在媒体更新过程中,应确保使用具有所有四种缓解措施的设备测试媒体。 最后两个缓解措施将阻止较旧的易受攻击的启动管理器。 使用当前启动管理器的媒体是完成此过程的一个重要部分。
注意 由于启动管理器回滚攻击是现实,并且我们希望 Windows 启动管理器持续更新以解决安全问题,因此我们建议企业规划半定期媒体更新,并制定流程,使媒体更新变得简单且耗时更少。 我们的目标是尽可能将媒体启动管理器刷新次数限制为每年最多两次。
可启动媒体不包括 Windows 通常所在的设备系统驱动器,并且从中自动启动。 可启动媒体通常用于启动没有可启动版本的 Windows 的设备,并且可启动媒体通常用于在设备上安装 Windows。
UEFI 安全启动设置通过使用安全启动 DB (签名数据库) 和 DBX (禁止签名数据库) 来确定信任哪些启动管理器。 DB 包含受信任软件的哈希和密钥,DBX 存储已撤销、泄露和不受信任的哈希和密钥,以防止未经授权的或恶意软件在启动过程中运行。
考虑设备可以处于的不同状态,以及哪些可启动媒体可用于这些状态中的设备,这非常有用。 在所有情况下,固件都会确定是否应信任它所附带的启动管理器,并且一旦它运行启动管理器,固件将不再咨询 DB 和 DBX。 可启动媒体可以使用 2011 CA 签名的启动管理器或 2023 CA 签名的启动管理器,但不能同时使用这两者。 下一部分介绍设备可以处于哪些状态,在某些情况下,可以从设备启动哪些媒体。
在制定跨设备部署缓解措施的计划时,这些设备方案可能会有所帮助。
新设备
一些新设备开始随设备固件中预安装的 2011 和 2023 CA 一起交付。 并非所有制造商都已切换到这两者,并且可能仍在交付仅预装 2011 CA 的设备。
-
具有 2011 和 2023 CA 的设备可以启动包括 2011 CA 签名启动管理器或 2023 CA 签名启动管理器的媒体。
-
仅安装了 2011 CA 的设备只能使用 2011 CA 签名启动管理器启动媒体。 大多数较旧的媒体包括 2011 CA 签名的启动管理器。
具有缓解措施 1 和 2 的设备
这些设备已预安装了 2011 CA,并且通过应用缓解措施 1,现在安装了 2023 CA。 由于这些设备信任两个 CA,因此这些设备可以使用 2011 CA 和 2023 已签名的启动管理器启动媒体。
具有缓解措施 3 和 4 的设备
这些设备在 DBX 中包含 2011 CA,并且将不再信任具有 2011 CA 签名启动管理器的媒体。 具有此配置的设备只会使用 2023 CA 签名的启动管理器启动媒体。
安全启动重置
如果安全启动设置已重置为默认值,则已应用于数据库的任何缓解措施 (添加 2023 CA) 和 DBX (不信任 2011 CA) 可能不再存在。 该行为将取决于固件默认值。
DBX
如果已应用缓解措施 3 和/或 4,并且清除了 DBX,则 2011 CA 将不会在 DBX 列表中,并且仍将受信任。 如果发生这种情况,则需要重新应用缓解措施 3 和/或 4。
DB
如果数据库包含 2023 CA,并且通过将安全启动设置重置为默认值将其删除,则如果设备依赖于 2023 CA 签名的启动管理器,则系统可能无法启动。 如果设备未启动,请使用 KB5025885:如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销 中所述的 securebootrecovery.efi 工具来恢复系统。
取消信任PCA2011并将安全版本号应用于 DBX
-
缓解措施 3:启用吊销 通过将 Microsoft Windows 生产 PCA 2011 证书添加到固件安全启动 DBX 来取消信任该证书。 这将导致固件不信任所有 2011 CA 签名的启动管理器和依赖于 2011 CA 签名启动管理器的任何媒体。
-
缓解措施 4:将 安全版本号 更新应用于固件 将安全版本号 (SVN) 更新应用到固件安全启动 DBX。 当 2023 年签名的启动管理器开始运行时,它会通过将存储在固件中的 SVN 与内置于启动管理器中的 SVN 进行比较来执行自检查。 如果启动管理器 SVN 低于固件 SVN,则启动管理器将不会运行。 此功能可防止攻击者将启动管理器回滚到较旧的未更新版本。 对于启动管理器的未来安全更新,SVN 将递增,需要重新应用缓解措施 4。
重要说明 在应用缓解 3 和缓解 4 之前,必须完成缓解 1 和缓解 2。
有关如何在两个单独的步骤中应用缓解 3 和缓解措施 4 的信息, (如果想要更加谨慎,请至少首先参阅 ) KB5025885:如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销 ,或者可以通过以管理员身份运行以下单个注册表项作来应用这两种缓解措施:
|
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x280 /f |
同时应用这两种缓解措施只需重启一次即可完成作。
-
缓解措施 3: 可以通过在事件日志中查找 事件 ID:1037 来验证吊销列表是否已成功应用,KB5016061:安全启动 DB 和 DBX 变量更新事件。或者,可以以管理员身份运行以下 PowerShell 命令,并确保它返回 True:
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI dbx).bytes) -match 'Microsoft Windows Production PCA 2011'
-
缓解措施 4: 用于确认已应用 SVN 设置的方法尚不存在。 当解决方案可用时,将更新此部分。
参考
KB5025885:如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销