使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

请参阅本文适用的产品。

总结

2020 年 7 月 29 日,Microsoft 发布了安全通报 200011,其中描述了一个与安全启动相关的新漏洞。 在安全引导配置中信任 Microsoft 第三方统一可扩展固件接口 (UEFI) 证书颁发机构 (CA) 的设备可能容易受到具有管理权限或对该设备进行物理访问的攻击者的攻击。

本文提供了应用最新的安全引导 DBX 吊销列表以使易受攻击的模块失效的指导。 Microsoft 将于 2022 年春季推出 Windows Update 更新,以解决此漏洞。

安全启动更新二进制文件位于 此 UEFI 网页上
                
发布的文件如下:

  • 用于 x86(32 位)的 UEFI 吊销列表文件

  • 用于 x64(64 位)的 UEFI 吊销列表文件

  • 用于 arm64 的 UEFI 吊销列表文件

在设备的安全引导 DBX 后添加这些哈希值后将不再允许加载这些应用程序。 

重要: 此站点托管每个体系结构的文件。 每个托管文件仅包括应用于特定体系结构的应用程序的哈希值。 必须将其中一个文件应用于每个设备,但请确保应用与其体系结构相关的文件。 虽然在技术上可以为不同的体系结构应用更新,但不安装适当的更新将使设备处于不受保护状态。

警告: 在尝试任何这些步骤前,请阅读有关此漏洞的主要咨询文章。 错误地应用 DBX 更新可能会阻止设备启动。

仅当下列条件成立时,才应遵循这些步骤:

  • 已验证你的设备是否信任安全引导配置中的第三方 UEFI CA。 为此,请在管理 PowerShell 会话中运行以下 PowerShell 行:

    [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Microsoft Corporation UEFI CA 2011'

  • 不依赖于启动任何被此更新阻止的引导应用程序。

更多信息

在 Windows 中应用 DBX 更新

阅读上一节中的警告并验证设备是否兼容后,请按照以下步骤更新安全启动 DBX:

  1. 此 UEFI 网页下载适合您平台的 UEFI 吊销列表文件 (Dbxupdate.bin)。

  2. 必须将 Dbxupdate.bin 文件拆分为必要的组件,以便使用 PowerShell cmdlet 应用这些组件。 为此,请按照下列步骤操作:

    1. 此 PowerShell Gallery 网页下载 PowerShell 脚本。

    2. 要帮助查找脚本,请运行以下 cmdlet:

      • Get-InstalledScript -name SplitDbxContent | select-object 名称、版本、作者、PublishedDate、InstalledDate、InstalledLocation

    3. 验证 cmdlet 是否成功下载脚本并提供输出详细信息,包括名称、版本、作者、PublishedDate、InstalledDate 和 InstalledLocation。

    4. 运行以下 cmdlet:

      • [string]$ScriptPath= @(Get-InstalledScript -name SplitDbxContent | select-object -ExpandProperty InstalledLocation)

      • cd $ScriptPath

      • ls

    5. 验证 SplitDbxContent.ps1 文件现在是否位于脚本文件夹中。

    6. 在 Dbxupdate.bin 文件上运行以下 PowerShell 脚本:

         SplitDbxContent.ps1 “c:\path\to\file\dbxupdate.bin"

    7. 验证该命令是否创建了以下文件。

      “应用”步骤 2 命令输出

      • Content.bin - 更新内容

      • Signature.p7 - 授权更新过程的签名

  3. 在管理 PowerShell 会话中,运行 Set-SecureBootUefi cmdlet 以应用 DBX 更新:

    Set-SecureBootUefi -Name dbx -ContentFilePath .\content.bin -SignedFilePath .\signature.p7 -Time 2010-03-06T19:17:21Z -AppendWrite

    预期输出


    “应用”步骤 3 命令输出

  4. 要完成更新安装过程,请重启设备。

有关安全启动配置 cmdlet 以及如何将其用 DBX 更新的更多信息,请参见设置 - 安全。

验证更新是否成功  

成功完成上一节中的步骤并重新启动设备后,请按照以下步骤验证更新是否已成功应用。 验证成功后,您的设备将不再受 GRUB 漏洞影响。

  1. GitHub Gist 网页下载 DBX 更新验证脚本。

  2. 从压缩文件中提取脚本和二进制文件。

  3. 在包含扩展脚本和二进制文件的文件夹中运行以下 PowerShell 脚本,以验证 DBX 更新:

    Check-Dbx.ps1 '.\dbx-2021-April.bin' 

    备注: 如果应用了与吊销列表文件存档中的 2020 年 7 月或 2020 年 10 月版本相匹配的 DBX 更新,请运行以下适当的命令:

    Check-Dbx.ps1 '.\dbx-2020-July.bin' 

    检查 - Dbx.ps1 '.\dbx-2020-October.bin' 

  4. 验证输出是否与预期结果匹配。

    “验证”步骤 4 命令输出

FAQ

问题 1:错误信息“Get-SecureBootUEFI:此平台不支持 Cmdlets”是什么意思?

A1: 此错误消息表明该计算机上未启用任何安全启动功能。 因此,该设备不受 GRUB 漏洞的影响。 无需采取进一步行动。

问题 2:如何将设备配置为信任或不信任第三方 UEFI CA? 

A2: 我们建议您咨询您的 OEM 供应商。 

对于 Microsoft Surface,将 Secure Boot 设置更改为“Microsoft Only”,然后运行以下 PowerShell 命令(结果应为“False”): 

[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Microsoft Corporation UEFI CA 2011' 

有关如何配置 Microsoft Surface 的详细信息,请参阅 管理 Surface UEFI 设置 - Surface |Microsoft 文档.

问题 3:此问题是否影响 Azure IaaS 第 1 代和第 2 代虚拟机? 

A3: 不需要。 Azure 来宾虚拟机 Gen1 和 Gen2 不支持安全启动功能。 因此,它们不受信任链攻击的影响。 

问题 4:ADV200011 和 CVE-2020-0689 指的是与安全启动相关的同一漏洞吗? 

答: 不需要。 这些安全公告描述了不同的漏洞。 “ADV200011”是指 GRUB(Linux 组件)中可能导致安全启动旁路的漏洞。 “CVE-2020-0689”是指安全启动中存在的安全功能旁路漏洞。 

问题 5:我无法运行任一 PowerShell 脚本。 我该怎么办?

答: 通过运行 Get ExecutionPolicy 命令,验证 PowerShell 执行策略。 根据输出,您可能需要更新执行策略:

本文中讨论的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证。 

Microsoft 提供了第三方联系信息,以帮助你查找有关此主题的其他信息。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证第三方联系信息的准确性。 

适用于:

适用于 32 位系统的 Windows 10
适用于基于 x64 的系统的 Windows 10
适用于 32 位系统的 Windows 10 版本 2004
适用于基于 ARM64 系统的 Windows 10 版本 2004
适用于基于 x64 系统的 Windows 10 版本 2004
适用于 32 位系统的 Windows 10 版本 1909
适用于基于 ARM64 系统的 Windows 10 版本 1909
适用于基于 x64 系统的 Windows 10 版本 1909
适用于 32 位系统的 Windows 10 版本 1903
适用于基于 ARM64 系统的 Windows 10 版本 1903
适用于基于 x64 系统的 Windows 10 版本 1903
适用于 32 位系统的 Windows 10 版本 1809
适用于基于 ARM64 系统的 Windows 10 版本 1809
适用于基于 x64 系统的 Windows 10 版本 1809
适用于 32 位系统的 Windows 10 版本 1803
适用于基于 ARM64 系统的 Windows 10 版本 1803
适用于基于 x64 系统的 Windows 10 版本 1803
适用于 32 位系统的 Windows 10 版本 1709
适用于基于 ARM64 系统的 Windows 10 版本 1709
适用于基于 x64 系统的 Windows 10 版本 1709
适用于 32 位系统的 Windows 10 版本 1607
适用于基于 x64 系统的 Windows 10 版本 1607
适用于 32 位系统的 Windows 8.1
适用于基于 x64 系统的 Windows 8.1
Windows RT 8.1
Windows Server 版本 2004(服务器核心安装)
Windows Server 版本 1909(服务器核心安装)
Windows Server 版本 1903(服务器核心安装)
Windows Server 2019
Windows Server 2019(服务器核心安装)
Windows Server 2016
Windows Server 2016(服务器核心安装)
Windows Server 2012 R2
Windows Server 2012 R2(服务器核心安装)
Windows Server 2012
Windows Server 2012(服务器核心安装)

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×