面向防御推理执行侧信道漏洞的 IT 专业人士的 Windows 客户端指导

建议的操作

客户应采取下列操作以帮助防御这些漏洞:

  1. 应用所有可用的 Windows 操作系统更新,包括 月度 Windows 安全更新。

  2. 应用设备制造商提供的适用固件(微码)更新。

  3. 根据 Microsoft 安全通报 ADV180002ADV180012ADV190013 以及本知识库文章中提供的信息评估你的环境风险。

  4. 使用本知识库文章中提供的通报和注册表项信息,根据需要采取措施。

注意 Surface 客户将通过 Windows 更新接收微码更新。 有关最新可用 Surface 设备固件(微码)更新的列表,请参阅 KB 4073065

Windows 客户端的迁移设置

安全通报 ADV180002ADV180012ADV190013 提供有关这些漏洞带来的风险的信息,并帮助你确定 Windows 客户端系统的缓解措施的默认状态。 下表总结了 CPU 微码的要求以及 Windows 客户端上缓解措施的默认状态。

CVE

是否需要 CPU 微码/固件?

缓解措施默认状态

CVE-2017-5753

默认启用(无禁用选项)

请参阅 ADV180002 了解更多信息。

CVE-2017-5715

默认启用。 基于 AMD 处理器的系统的用户应参阅常见问题解答 #15,ARM 处理器的用户应参阅 ADV180002 上的常见问题解答 #20,以获取其他操作,以及参阅本知识库文章以了解适用的注册表项设置。

注意 如果启用了 Spectre 变体 2 (CVE-2017-5715),则在运行 Windows 10 1809 或更高版本的设备上默认启用“Retpoline”。 有关“Retpoline”的更多信息,请遵循Mitigating Spectre variant 2 with Retpoline on Windows(在 Windows 上使用 Retpoline 缓解 Spectre 变体 2)博客文章中的指导。

CVE-2017-5754

默认启用

请参阅 ADV180002 了解更多信息。

CVE-2018-3639

Intel: 是
AMD: 否
ARM: 是

Intel 和 AMD: 默认禁用。 请参阅 ADV180012 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。

ARM: 默认启用(无禁用选项)。

CVE-2018-11091

Intel: 是

默认启用。

请参阅 ADV190013 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。

CVE-2018-12126

Intel: 是

默认启用。

请参阅 ADV190013 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。

CVE-2018-12127

Intel: 是

默认启用。

请参阅 ADV190013 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。

CVE-2018-12130

Intel: 是

默认启用。

请参阅 ADV190013 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。

CVE-2019-11135

Intel: 是

默认启用。

请参阅 CVE-2019-11135 了解更多信息,以及参阅本知识库文章了解适用的注册表项设置。


注意 启用默认关闭的缓解措施可能会影响性能。 实际的性能影响取决于多个因素,例如,设备中的特定芯片组和正在运行的工作负载。

注册表设置

我们将提供以下注册表信息以启用默认未启用的缓解措施,如安全通报 ADV180002ADV180012 中所述。 此外,我们还将为想要禁用与 Windows 客户端的 CVE-2017-5715 和 CVE-2017-5754 相关的缓解措施的用户提供注册表项设置。

重要说明 此部分、方法或任务包含有关如何修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请参阅以下 Microsoft 知识库文章:

322756 如何在 Windows 中备份和还原注册表

管理 CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的缓解措施

重要说明 如果启用了 Spectre 变体 2 (CVE-2017-5715),则在 Windows 10 版本 1809 设备上默认启用 Retpoline。 在最新版本的 Windows 10 上启用 Retpoline 可以针对 Spectre 变体 2 提高特别是在较旧处理器上运行 Windows 10 版本 1809 的设备的性能。

启用 CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的默认缓解措施

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

禁用 CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的缓解措施

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

注意FeatureSettingsOverrideMask 的值设置为 3 对于“启用”和“禁用”设置都是准确的。 (请参阅“常见问题解答”部分,了解有关注册表项的更多详细信息。)

管理 CVE-2017-5715(Spectre 变体 2)的缓解措施

禁用   CVE-2017-5715(Spectre 变体 2)的缓解措施:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

启用 CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的默认缓解措施:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

仅限 AMD 和 ARM 处理器:启用 CVE-2017-5715(Spectre 变体 2)的完全缓解措施

默认情况下,为 AMD 和 ARM CPU 禁用针对 CVE-2017-5715 的用户到内核保护。 客户必须启用缓解措施才能获得针对 CVE-2017-5715 的额外保护。 有关更多信息,请参阅 ADV180002 中的常见问题解答 #15(对于 AMD 处理器)和 ADV180002 中的常见问题解答 #20(对于 ARM 处理器)。

在 AMD 和 ARM 处理器上启用用户到内核的保护以及针对 CVE 2017-5715 的其他保护:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 64 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

管理 CVE-2018-3639(推理存储绕过)、CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的缓解措施

启用 CVE-2018-3639(推理存储绕过)的缓解措施以及 CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的默认缓解措施

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

注意: AMD 处理器不容易受到 CVE-2017-5754 (Meltdown) 的攻击。 此注册表项用于具有 AMD 处理器的系统,以便在 AMD 处理器上启用 CVE-2017-5715 的默认缓解措施以及 CVE-2018-3639 的缓解措施。

禁用 CVE-2018-3639(推理存储绕过)的缓解措施*以及* CVE-2017-5715(Spectre 变体 2)和 CVE-2017-5754 (Meltdown) 的缓解措施

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机以使更改生效。

仅限 AMD 处理器:启用 CVE-2017-5715(Spectre 变体 2)和 CVE-2018-3639(推理存储绕过)的完全缓解措施

默认情况下,为 AMD 处理器禁用针对 CVE-2017-5715 的用户到内核保护。 客户必须启用缓解措施才能获得针对 CVE-2017-5715 的额外保护。  有关更多信息,请参阅 ADV180002 中的常见问题解答 #15。

在 AMD 处理器上启用用户到内核保护以及针对 CVE 2017-5715 的保护和针对 CVE-2018-3639(推理存储绕过)的保护:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

管理 Intel® 事务同步扩展 (Intel® TSX) 事务异步中止漏洞 (CVE-2019-11135) 和微架构数据采样(CVE-2018-11091、CVE-2018-12126、CVE-2018-12127、CVE-2018-12130)以及 Spectre(CVE-2017-5753 和 CVE-2017-5715)和 Meltdown (CVE-2017-5754) 变体,其中包括理存储绕过禁用 (SSBD) (CVE-2018-3639) 以及 L1 终端故障 (L1TF)(CVE-2018-3615、CVE-2018-3620 和 CVE-2018-3646)

为 Intel® 事务同步扩展 (Intel® TSX) 事务异步中止漏洞 (CVE-2019-11135) 和微架构数据采样( CVE-2018-11091 CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 )以及 Spectre(CVE-2017-5753 和 CVE-2017-5715)和 Meltdown (CVE-2017-5754) 变体,其中包括推理存储绕过禁用 (SSBD) (CVE-2018-3639) 以及 L1 终端故障 (L1TF)(CVE-2018-3615、CVE-2018-3620 和 CVE-2018-3646)启用缓解,而不禁用超线程:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

如果您安装了 Hyper-V 功能,请添加以下注册表设置:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

如果这是 Hyper-V 主机并且已应用固件更新: 完全关闭所有虚拟机。 这允许在 VM 启动之前在主机上应用与固件相关的缓解措施。 因此,VM 在重启后也会更新。

重启计算机,以使更改生效。

为 Intel® 事务同步扩展 (Intel® TSX) 事务异步中止漏洞 (CVE-2019-11135) 和微架构数据采样( CVE-2018-11091 CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 )以及 Spectre(CVE-2017-5753 和 CVE-2017-5715)和 Meltdown (CVE-2017-5754) 变体,其中包括推理存储绕过禁用 (SSBD) (CVE-2018-3639) 以及 L1 终端故障 (L1TF)(CVE-2018-3615、CVE-2018-3620 和 CVE-2018-3646)启用缓解,并禁用超线程:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

如果您安装了 Hyper-V 功能,请添加以下注册表设置:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

 

如果这是 Hyper-V 主机并且已应用固件更新: 完全关闭所有虚拟机。 这允许在 VM 启动之前在主机上应用与固件相关的缓解措施。 因此,VM 在重启后也会更新。

重启计算机,以使更改生效。

为 Intel® 事务同步扩展 (Intel® TSX) 事务异步中止漏洞 (CVE-2019-11135) 和微架构数据采样( CVE-2018-11091 CVE-2018-12126 CVE-2018-12127 CVE-2018-12130 )以及 Spectre(CVE-2017-5753 和 CVE-2017-5715)和 Meltdown (CVE-2017-5754) 变体,其中包括推理存储绕过禁用 (SSBD) (CVE-2018-3639) 以及 L1 终端故障 (L1TF)(CVE-2018-3615、CVE-2018-3620 和 CVE-2018-3646)禁用缓解:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

重启计算机,以使更改生效。

验证保护是否已启用

为了帮助客户验证保护是否启用,我们发布了一个 PowerShell 脚本,客户可以在自己的系统上运行该脚本。 通过运行以下命令,安装并运行该脚本。

使用 PowerShell Gallery 的 PowerShell 验证(Windows Server 2016 或 WMF 5.0/5.1)

安装 PowerShell 模块:

PS> Install-Module SpeculationControl

运行 PowerShell 模块以验证保护是否已启用:

PS> # 保存当前执行策略以便重置

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module SpeculationControl

PS> Get-SpeculationControlSettings

PS> # 将执行策略重置为原始状态

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

 

使用来自 Technet 的下载内容的 PowerShell 验证(早期操作系统版本和早期 WMF 版本)

从 Technet 脚本中心安装 PowerShell 模块:

请访问 https://aka.ms/SpeculationControlPS

将 SpeculationControl.zip 下载到本地文件夹。

将内容提取到本地文件夹,例如 C:\ADV180002

运行 PowerShell 模块以验证保护是否已启用:

启动 PowerShell,然后(使用上面的示例)复制并运行以下命令:

PS> # 保存当前执行策略以便重置

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module .\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> # 将执行策略重置为原始状态

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser


有关 PowerShell 脚本输出的详细说明,请参阅知识库文章 4074629

常见问题

微码是通过固件更新提供的。 客户应向其 CPU(芯片组)和设备制造商咨询特定设备的适用固件安全更新的可用性,包括 Intel 的微码修订指南

通过软件更新修复硬件漏洞存在重大挑战。 此外,较早操作系统的缓解措施需要大量的体系结构更改。 我们正在与受影响的芯片制造商合作,以确定提供缓解措施的最佳方式,这可能会在将来的更新中提供。

Microsoft Surface 设备的更新将通过 Windows 更新,与 Windows 操作系统的更新一起提供给客户。 有关可用 Surface 设备固件(微码)更新的列表,请参阅 KB 4073065

如果你的设备不是来自 Microsoft,请应用设备制造商提供的固件。 有关更多信息,请联系 OEM 设备制造商。

2018 年 2 月和 3 月,Microsoft 发布了对某些基于 x86 的系统的额外保护。 有关更多信息,请参阅 KB 4073757Microsoft 安全通报 ADV180002

HoloLens 客户可通过 Windows 更新获取适用于 HoloLens 的 Windows 10 更新。

应用 2018 年 2 月 Windows 安全更新之后,HoloLens 客户不必采取任何其他措施来更新设备固件。 这些缓解措施应包含在适用于 HoloLens 的 Windows 10 的未来版本中。

否,仅安全更新不是累积的。 根据你正在运行的操作系统版本,将必须安装每个月份的仅安全更新,以免受这些漏洞的影响。 例如,如果你在受影响的 Intel CPU 上运行 Windows 7(用于 32 位系统),则必须安装所有仅安全更新。 我们建议按照发布顺序安装这些仅安全更新。

注意 此常见问题解答的较早版本错误地指出,2 月仅安全更新包含 1 月发布的安全修补程序。 事实上,并不包含。

否。安全更新 4078130 是一个特定的修补程序,可用于防止在安装微码后出现不可预知的系统行为、性能问题和/或意外重新启动。 在 Windows 客户端操作系统上应用 2 月份安全更新可启用所有三种缓解措施。

Intel 最近宣布他们已经完成了验证,并开始针对较新的 CPU 平台发布微码。 Microsoft 正在围绕 Spectre 变体 2(CVE -2017-5715“分支目标注入”)提供 Intel 验证的微码更新。 KB 4093836 按 Windows 版本列出了特定的知识库文章。 每个特定的 KB 包含 CPU 可用的 Intel 微码更新。

此问题已在 KB 4093118 中解决。

AMD 最近宣布他们已经开始发布围绕 Specter 变体 2(CVE -2017-5715“分支目标注入”)的较新 CPU 平台的微码。 有关更多信息,请参阅 AMD 安全更新AMD 白皮书: 围绕间接分支控制的体系结构指南。 这些内容可从 OEM 固件频道获得。

我们正在围绕 Spectre 变体 2(CVE-2017-5715“分支目标注入”)提供 Intel 验证的微码更新。 要通过 Windows 更新获取最新的 Intel 微码更新,客户必须在升级到 Windows 10 的 2018 年 4 月更新(版本 1803)之前,在运行 Windows 10 操作系统的设备上安装 Intel 微码。

如果在升级操作系统之前未在设备上安装微码更新,也可以直接从目录中获取微码更新。 可以通过 Windows 更新、WSUS 或 Microsoft 更新目录获取 Intel 微码。 有关更多信息和下载说明,请参阅 KB 4100347

有关详细信息,请参阅 ADV180012 | Microsoft 推理存储绕过指南中的“建议的操作”和“常见问题解答”部分。

为验证 SSBD 的状态,已更新 Get-SpeculationControlSettings PowerShell 脚本以检测受影响的处理器、SSBD 操作系统更新的状态和处理器微码的状态(如果适用)。 若要了解详细信息并获取 PowerShell 脚本,请参阅 KB 4074629

2018 年 6 月 13 日,我们宣布了另外一个涉及侧信道推理执行的漏洞(称为“Lazy FP 状态还原”)并指定为 CVE-2018-3665。 Lazy 还原 FP 还原不需要任何配置(注册表)设置。

有关此漏洞和建议操作的更多信息,请参阅安全通报 ADV180016 | Microsoft Lazy FP 状态还原指南

注意 Lazy 还原 FP 还原不需要任何配置(注册表)设置。

边界检查绕过存储 (BCBS) 于 2018 年 7 月 10 日披露,并指定为 CVE-2018-3693。 我们认为 BCBS 与边界检查绕过(变体 1)属于同一类漏洞。 我们目前尚未发现我们的软件中存在任何 BCBS 实例,但我们正在继续研究此漏洞类别,并将与行业合作伙伴合作以发布所需的缓解措施。 我们将继续鼓励研究人员向 Microsoft 的推理执行侧信道奖励计划提交任何相关研究结果,包括任何可利用的 BCBS 实例。 软件开发人员应查看已为 BCBS 更新的开发人员指南,网址为:https://aka.ms/sescdevguide

在 2018 年 8 月 14 日,宣布了 L1 终端故障 (L1TF) 并向其分配多个 CVE。 这些新的推理执行侧信道漏洞可用于读取跨越受信任边界的内存内容,如果被利用,可能会导致信息泄漏。 攻击者可以通过多种途径触发漏洞,具体取决于配置的环境。 L1TF 会影响 Intel® Core® 处理器和 Intel® Xeon® 处理器。

有关此漏洞的更多信息以及受影响方案的详细视图(包括 Microsoft 缓解 L1TF 的方法),请参阅以下资源:

使用 64 位 ARM 处理器的客户应与设备 OEM 联系以获取固件支持,因为缓解 CVE-2017-5715“分支目标注入”(Spectre 变体 2)的 ARM64 操作系统保护需要设备 OEM 提供的最新固件更新才能生效。

有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导

有关 Azure 指南,请参阅此文章: 有关在 Azure 中缓解推理执行侧信道漏洞的指导 

有关 Retpoline 启用的更多信息,请参阅我们的博客文章:Mitigating Spectre variant 2 with Retpoline on Windows(在 Windows 上使用 Retpoline 缓解 Spectre 变体 2)。

有关此漏洞的详细信息,请参阅 Microsoft 安全指南: CVE-2019-1125 | Windows 内核信息泄漏漏洞

我们未发现影响云服务基础设施的此信息泄漏漏洞的任何实例。

我们一经发现此问题,就会迅速进行解决并发布更新。 我们坚信与研究人员和行业合作伙伴建立密切的合作伙伴关系,以使客户更加安全,并且在 8 月 6 日星期二之前不发布详细信息,与协调漏洞披露做法一致。

有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导

有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导

 

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×