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

适用于: Windows 10, version 1903Windows 10, version 1809Windows 10, version 1803

摘要


Microsoft 已经意识到一个公开披露的新漏洞类(称为“推理执行侧信道攻击”),会对包括 Intel、AMD、VIA 和 ARM 的众多新式处理器产生影响。 

注意 此问题还会影响其他操作系统,例如 Android、Chrome、iOS 和 macOS。 因此,我们建议客户向这些供应商寻求指导。

我们已发布多个更新来帮助缓解这些漏洞。 我们还采取了措施来保护我们的云服务。 有关更多详细信息,请参阅下列部分。

我们尚未收到任何信息,指出这些漏洞已被用来攻击客户。 我们一直在与业内合作伙伴(包括芯片制造商、硬件 OEM 和应用程序供应商)密切合作以保护客户。 若要获得所有可用的保护,需要安装固件(微码)和软件更新。 其中包括来自设备 OEM 的微码,在有些情况下,还包括防病毒软件更新。

本文修复了以下漏洞:

Windows 更新还将提供 Internet Explorer 和 Edge 缓解措施。 我们会继续改进这些针对此类漏洞的缓解措施。

若要了解有关此类漏洞的更多信息,请参阅

2019 年 5 月 14 日更新 2019 年 5 月 14 日,Intel 发布了有关新的子类推理执行侧信道漏洞(称为微架构数据采样)的信息。 它们已被分配以下 CVE:

重要说明 这些问题将影响其他系统,例如 Android、Chrome、iOS 和 MacOS。 我们建议客户向各自的供应商寻求指导。

我们已发布更新来帮助缓解此类漏洞。 若要获取所有可用保护,需要进行固件(微码)和软件更新。 这可能包括来自设备 OEM 的微码。 在某些情况下,安装这些更新会对系统性能产生影响。 我们也采取了行动来保护云服务。 我们强烈建议部署这些更新。

有关此问题的更多信息,请参阅以下安全通报,并使用基于场景的指南来确定缓解威胁所需的操作:

注意 我们建议你在安装任何微码更新之前先安装 Windows 更新中的所有最新更新。

2019 年 8 月 6 日更新 2019 年 8 月 6 日,Intel 发布了有关 Windows 内核信息泄漏漏洞的详细信息。 此漏洞是 Spectre 变体 1 推理执行侧信道漏洞的变体,已指定为 CVE-2019-1125

2019 年 7 月 9 日,我们发布了 Windows 操作系统的安全更新,以帮助缓解此问题。 请注意,在 2019 年 8 月 6 日星期二协调行业披露之前,我们一直拒绝公开记录这种缓解措施。

已启用 Windows 更新并应用了 2019 年 7 月 9 日发布的安全更新的客户将自动受到保护。 无需进一步配置。

注意 此漏洞不需要设备制造商 (OEM) 提供微码更新。

有关此漏洞和适用更新的更多信息,请参阅 Microsoft 安全更新指南:

CVE-2019-1125 | Windows 内核信息泄漏漏洞

2019 年 11 月 12 日更新2019 年 11 月 12 日,Intel 发布了一个有关指定为 CVE-2019-11135 的 Intel® 事务同步扩展 (Intel® TSX) 事务异步中止漏洞的技术通报。 Microsoft 已发布多项更新以帮助缓解此漏洞,且 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-11091CVE-2018-12126CVE-2018-12127CVE-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-11091CVE-2018-12126CVE-2018-12127CVE-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-11091CVE-2018-12126CVE-2018-12127CVE-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

常见问题