更改日期 |
更改说明 |
---|---|
2023 年 4 月 20 日 |
|
2023 年 8 月 8 日 |
|
2023 年 8 月 9 日 |
|
2024 年 4 月 9 日 |
|
2024 年 4 月 16 日 |
|
摘要
本文为影响许多新式处理器和操作系统的一类基于硅的微体系结构和推测执行侧信道漏洞提供了指导。 这包括 Intel、AMD 和 ARM。 可在以下 ADV(安全公告)和 CVE(常见漏洞和披露)中找到这些基于芯片的漏洞的特定详细信息:
重要: 这些问题还会影响其他系统,例如 Android、Chrome、iOS 和 MacOS。 建议客户寻求相应供应商的指导。
我们已发布多个更新来帮助缓解这些漏洞。 我们还采取了措施来保护我们的云服务。 有关更多详细信息,请参阅下列部分。
我们尚未收到任何信息,指出这些漏洞已被用来攻击客户。 我们一直在与业内合作伙伴(包括芯片制造商、硬件 OEM 和应用程序供应商)密切合作以保护客户。 若要获取所有可用保护,需要进行固件(微码)和软件更新。 其中包括来自设备 OEM 的微码,在有些情况下,还包括防病毒软件更新。
漏洞
本文解决了以下推测执行漏洞:
Windows 更新还将提供 Internet Explorer 和 Edge 缓解措施。 我们会继续改进这些针对此类漏洞的缓解措施。
若要了解有关此类漏洞的更多信息,请参阅
2019 年 5 月 14 日,Intel 发布了有关推测执行侧信道漏洞的新子类(称为微架构数据采样)的信息,并记录在 ADV190013 | 微架构数据采样 中。 它们已被分配以下 CVE:
重要: 这些问题将影响其他系统,例如 Android、Chrome、iOS 和 MacOS。 建议客户寻求相应供应商的指导。
Microsoft 已发布多项更新来帮助缓解此类漏洞。 若要获取所有可用保护,需要进行固件(微码)和软件更新。 这可能包括来自设备 OEM 的微码。 在某些情况下,安装这些更新会对系统性能产生影响。 我们也采取了行动来保护云服务。 我们强烈建议部署这些更新。
有关此问题的更多信息,请参阅以下安全通报,并使用基于场景的指南来确定缓解威胁所需的操作:
注意: 建议在安装任何微码更新之前先安装 Windows 更新中的所有最新更新。
2019 年 8 月 6 日,Intel 发布了有关 Windows 内核信息泄漏漏洞的详细信息。 此漏洞是 Spectre,Variant 1 推测性执行侧信道漏洞的变体,已指定为 CVE-2019-1125。
2019 年 7 月 9 日,我们发布了 Windows 操作系统的安全更新,以帮助缓解此问题。 请注意,在 2019 年 8 月 6 日星期二协调行业披露之前,我们一直拒绝公开记录这种缓解措施。
已启用 Windows 更新并应用了 2019 年 7 月 9 日发布的安全更新的客户将自动受到保护。 无需进一步配置。
注意: 此漏洞不需要设备制造商(OEM)的微码更新。
有关此漏洞和适用更新的更多信息,请参阅 Microsoft 安全更新指南:
2019 年 11 月 12 日,Intel 发布了有关指定为 CVE-2019-11135 的 Intel® 事务同步扩展(Intel® TSX)事务异步中止漏洞的技术公告。 Microsoft 已发布更新以帮助缓解此漏洞,并且默认情况下为 Windows Server 2019 启用 OS 保护,但 Windows Server 2016 及更早版本的 Windows Server OS 版本默认禁用 OS 保护。
2022 年 6 月 14 日,我们发布了 ADV220002 | 有关 Intel 处理器 MMIO 过时数据漏洞的 Microsoft 指南 并指定为以下 CVE:
建议的操作
应采取以下措施以帮助防御这些漏洞:
-
应用所有可用的 Windows 操作系统更新,包括 月度 Windows 安全更新。
-
应用设备制造商提供的适用固件(微码)更新。
-
根据 Microsoft 安全公告(ADV180002、ADV180012、ADV190013 和 ADV220002)中提供的信息以及本知识库文章中提供的信息评估环境风险。
-
使用本知识库文章中提供的公告和 注册表项信息,根据需要执行操作。
注意: Surface 客户将通过 Windows 更新收到微码更新。 有关最新的 Surface 设备固件(微码)更新的列表,请参阅 KB4073065。
2022 年 7 月 12 日,我们发布了 CVE-2022-23825 | AMD CPU 分支类型混淆,它描述了分支预测器中的别名可能导致某些 AMD 处理器预测错误的分支类型。 此问题可能会导致信息泄漏。
为了帮助防范此漏洞,我们建议安装日期为 2022 年 7 月或之后的 Windows 更新,然后根据本知识库文章中提供的 CVE-2022-23825 和注册表项信息的要求采取措施。
有关详细信息,请参阅 AMD-SB-1037 安全公告。
2023 年 8 月 8 日,我们发布了 CVE-2023-20569 |寄件人地址预测器(也称为“Inception”),它描述新的推理侧信道攻击,该攻击可能导致推理执行攻击者控制的地址。 此问题会影响某些 AMD 处理器,并可能导致信息泄漏。
为了帮助防范此漏洞,我们建议安装日期为 2023 年 8 月或之后的 Windows 更新,然后根据本知识库文章中提供的 CVE-2023-20569 和注册表项信息的要求采取措施。
有关详细信息,请参阅 AMD-SB-7005 安全公告。
2024 年 4 月 9 日,我们发布了 CVE-2022-0001 | Intel 分支历史记录注入,用于描述分支历史记录注入 (BHI),它是一种特定形式的模式内 BTI。 当攻击者在从用户模式转换为监督模式(或从 VMX 非根/来宾模式转换为根模式)之前,可能操纵分支历史记录时,会出现此漏洞。 此操作可能导致间接分支预测器为间接分支选择特定的预测器条目,并且预测目标处的泄漏小工具会暂时执行。 这可能是因为相关的分支历史记录可能包含在以前的安全上下文中创建的分支,尤其是其他预测器模式下。
Windows Server 和 Azure Stack HCI 的缓解设置
安全公告 (ADV) 和 CVE 提供有关这些漏洞所带来的风险的信息。 它们还有助于识别这些漏洞,并确定 Windows Server 系统的缓解措施的默认状态。 下表总结了 CPU 微码的要求以及 Windows Server 上缓解措施的默认状态。
CVE |
是否需要 CPU 微码/固件? |
缓解措施默认状态 |
---|---|---|
否 |
默认启用(无禁用选项) 有关其他信息,请参阅 ADV180002 |
|
是 |
默认禁用。 请参阅 ADV180002 了解其他信息,并参阅本知识库文章了解适用的注册表项设置。 注意 如果已启用 Spectre 变体 2(CVE-2017-5715),默认情况下为运行 Windows 10 1809 或更高版本的设备启用“Retpoline”。 有关 “Retpoline” 的详细信息,请参阅 使用 Windows 上的 Retpoline 缓解 Spectre Variant 2 博客文章。 |
|
否 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。有关其他信息,请参阅 ADV180002。 |
|
Intel:是 AMD:否 |
||
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 |
|
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 |
|
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 |
|
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 |
|
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。请参阅 CVE-2019-11135 了解详细信息,并参阅本文了解适用的注册表项设置。 |
|
CVE-2022-21123(MMIO 的一部分 ADV220002) |
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。*请参阅 CVE-2022-21123 了解详细信息,并参阅本文了解适用的 注册表项设置。 |
CVE-2022-21125(MMIO 的一部分 ADV220002) |
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。*请参阅 CVE-2022-21125 了解详细信息,并参阅本文了解适用的注册表项设置。 |
CVE-2022-21127(MMIO 的一部分 ADV220002) |
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。*请参阅 CVE-2022-21127 了解详细信息,并参阅本文了解适用的注册表项设置。 |
CVE-2022-21166(MMIO 的一部分 ADV220002) |
Intel:是 |
Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。*请参阅 CVE-2022-21166 了解详细信息,并参阅本文了解适用的注册表项设置。 |
CVE-2022-23825(AMD CPU 分支类型混淆) |
AMD:否 |
请参阅 CVE-2022-23825 以了解详细信息,并参阅本文以了解适用的注册表项设置。 |
CVE-2023-20569 (AMD CPU 寄信人地址预测器) |
AMD:是 |
请参阅 CVE-2023-20569 了解详细信息,并参阅本文了解适用的注册表项设置。 |
Intel:否 |
默认禁用 请参阅 CVE-2022-0001 了解详细信息,并参阅本文了解适用的注册表项设置。 |
* 请遵循下面的 Meltdown 缓解指南。
如果要获取针对这些漏洞的所有可用防护,必须更改注册表项,从而启用这些默认禁用的缓解措施。
启用这些缓解措施可能会影响性能。 性能影响的范围取决于多个因素,例如,物理主机中的特定芯片组和正在运行的工作负载。 建议评估环境的性能影响,并进行任何必要的调整。
如果你的服务器属于以下类别之一,则面临的风险将增加:
-
Hyper-V 主机:需要防护 VM 到 VM 和 VM 到主机的攻击。
-
远程桌面服务主机(RDSH):需要防护从会话到会话或从会话到主机的攻击。
-
正在运行 不受信任代码 的物理主机或虚拟机(例如,容器或数据库不受信任的扩展、不受信任的 Web 内容或运行来自外部源的代码的工作负载。 这些需要从不受信任过程到另一过程或从不受信任过程到内核攻击的保护。
使用以下注册表项设置以在服务器上启用缓解措施,并重启设备以使更改生效。
注意: 默认情况下,启用关闭的缓解措施可能会影响性能。 实际的性能影响取决于多个因素,例如,设备中的特定芯片组和正在运行的工作负载。
注册表设置
我们将提供以下注册表信息以启用默认未启用的缓解措施,如安全通报 (ADV) 和CVE 中所述。 此外,我们还为希望在适用于 Windows 客户端时禁用缓解措施的用户提供注册表项设置。
重要说明 此部分(方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请一定严格按照下列步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请参阅以下 Microsoft 知识库文章:
KB322756 如何在 Windows 中备份和还原注册表
重要说明默认情况下,如果启用了 Spectre,Variant 2 缓解措施 (CVE-2017-5715),则 Retpoline 的配置如下:
- 在 Windows 10 版本 1809 及更高版本的 Windows 上启用 Retpoline 缓解措施。
- Windows Server 2019 及更高版本的 Windows Server 上禁用了 Retpoline 缓解措施。
有关配置“Retpoline”的更多信息,请参阅 在 Windows 上使用 Retpoline 缓解 Spectre variant 2。
|
注意: 将 FeatureSettingsOverrideMask 设置为 3 对于“启用”和“禁用”设置都是准确的。 (请参阅“常见问题解答”部分,了解有关注册表项的更多详细信息。)
要禁用 Variant 2:(CVE-2017-5715 |分支目标注入)缓解措施,请: 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 重启设备以使更改生效。 要启用 Variant 2:(CVE-2017-5715 |分支目标注入)缓解措施,请: 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 CPU 禁用针对 CVE-2017-5715 的用户到内核保护。 客户必须启用缓解措施才能获得针对 CVE-2017-5715 的额外保护。 有关更多信息,请参阅 ADV180002 中的常见问题解答 #15。
在 AMD 处理器上启用用户到内核的保护以及针对 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 如果您安装了 Hyper-V 功能,请添加以下注册表设置: reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f 如果这是 Hyper-V 主机并且已应用固件更新: 完全关闭所有虚拟机。 这允许在 VM 启动之前在主机上应用与固件相关的缓解措施。 因此,VM 在重启后也会更新。 重启设备以使更改生效。 |
要启用 CVE-2018-3639(推理存储绕过)、CVE-2017-5715 (Spectre Variant 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 如果您安装了 Hyper-V 功能,请添加以下注册表设置: reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f 如果这是 Hyper-V 主机并且已应用固件更新: 完全关闭所有虚拟机。 这允许在 VM 启动之前在主机上应用与固件相关的缓解措施。 因此,VM 在重启后也会更新。 重启设备以使更改生效。 禁用 CVE-2018-3639(推理存储绕过)的缓解措施以及 CVE-2017-5715(Spectre Variant 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 的用户到内核保护。 客户必须启用缓解措施才能获得针对 CVE-2017-5715 的额外保护。 有关详细信息,请参阅 ADV180002 中的 FAQ #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 如果您安装了 Hyper-V 功能,请添加以下注册表设置: reg add "HKLM\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-121 30)以及 Spectre [CVE-2017-5753 & CVE-2017-5715]、Meltdown [CVE-2017-5754] 变体、MMIO(CVE-2022-21123、CVE-2022-21125、CVE-2022-21127 和 CVE-2022-21166),其中包括推测性存储绕过禁用 (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 重启设备以使更改生效。 |
要在 AMD 处理器上为 CVE-2022-23825 启用缓解措施,请执行以下操作:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 16777280 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
要获得完全保护,客户可能还需要禁用超线程(也称为同时多线程(SMT))。 有关保护 Windows 设备的指南,请参阅 KB4073757。
要在 AMD 处理器上为 CVE-2023-20569 启用缓解措施,请执行以下操作:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 67108928 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
要在 Intel 处理器上为 CVE-2022-0001 启用缓解措施,请执行以下操作:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x00800000 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x00000003 /f
启用多个缓解措施
要启用多个缓解措施,必须同时添加每个缓解措施的 REG_DWORD 值。
例如:
适用于已禁用超线程情况下事务异步中止漏洞、微架构数据采样、Spectre、Meltdown、MMIO、推测性存储绕过禁用 (SSBD) 和 L1 终端故障 (L1TF) 的缓解措施 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f |
注释 8264(十进制)= 0x2048(十六进制) 若要启用 BHI 和其他现有设置,需要将当前值的按位 OR 与 8,388,608 (0x800000)一起使用。 0x800000 OR 0x2048(十进制为 8264),它将变为 8,396,872(0x802048)。 与 FeatureSettingsOverrideMask 相同。 |
|
适用于 Intel 处理器上 CVE-2022-0001 的缓解措施 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x00800000 /f |
组合缓解 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x00802048 /f |
适用于已禁用超线程情况下事务异步中止漏洞、微架构数据采样、Spectre、Meltdown、MMIO、推测性存储绕过禁用 (SSBD) 和 L1 终端故障 (L1TF) 的缓解措施 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f" |
适用于 Intel 处理器上 CVE-2022-0001 的缓解措施 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x00000003 /f |
组合缓解 |
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x00000003 /f |
验证保护是否已启用
为了帮助验证是否已启用保护,我们发布了可在设备上运行的 PowerShell 脚本。 使用以下方法之一安装并运行脚本。
安装 PowerShell 模块: PS> Install-Module SpeculationControl 运行 PowerShell 模块以验证保护是否已启用: PS> # Save the current execution policy so it can be reset PS> $SaveExecutionPolicy = Get-ExecutionPolicy PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser PS> Import-Module SpeculationControl PS> Get-SpeculationControlSettings PS> # Reset the execution policy to the original state PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser |
从 Technet 脚本中心安装 PowerShell 模块:
运行 PowerShell 模块以验证保护是否已启用: 启动 PowerShell,然后使用上述示例复制并运行下列命令: PS> # Save the current execution policy so it can be reset PS> $SaveExecutionPolicy = Get-ExecutionPolicy PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser PS> CD C:\ADV180002\SpeculationControl PS> Import-Module .\SpeculationControl.psd1 PS> Get-SpeculationControlSettings PS> # Reset the execution policy to the original state PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser |
有关 PowerShell 脚本输出的详细说明,请参阅 KB4074629。
常见问题
为了帮助避免对客户设备产生负面影响,2018 年 1 月和 2 月发布的 Windows 安全更新尚未提供给所有客户。 有关详细信息,请参阅 KB407269。
微码是通过固件更新提供的。 有关具有你的计算机相应更新的固件版本,请咨询你的 OEM。
存在多种影响性能的可变因素,包括系统版本、正在运行的工作负载等。 对于某些系统,性能影响可以忽略不计。 对于其他系统,影响可能相当明显。
建议你评估系统的性能影响,并根据需要进行调整。
除了本文针对虚拟机的指导以外,还应联系你的服务提供商,以确保正在运行你的虚拟机的主机已得到充分保护。有关在 Azure 中缓解推测性执行侧信道漏洞指南。 有关使用 Azure 更新管理在来宾 VM 上缓解此问题的指南,请参阅 KB4077467。
对于在 Azure 中运行的 Windows Server 虚拟机,请参阅针对 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像发布的更新包含针对这组漏洞的缓解措施。 不需要执行任何其他操作。
注意 仍然必须确保运行这些容器的主机配置为启用适当的缓解措施。否,安装顺序并不重要。
是的,必须在固件(微代码)更新后重启,然后在系统更新后再次重启。
下面是有关注册表项的详细信息:
FeatureSettingsOverride 表示覆盖默认设置并控制哪些缓解措施将被禁用的位图。 位 0 控制对应于 CVE-2017-5715 的缓解措施。 位 1 控制对应于 CVE-2017-5754 的缓解措施。 将这些位设置为 0 可启用缓解措施,设置为 1 可禁用缓解措施。
FeatureSettingsOverrideMask 表示与 FeatureSettingsOverride 一起使用的位图蒙板。 在这种情况下,我们使用值 3 (在二进制数值或 base-2 数值系统中表示为 11)以指示与可用缓解措施对应的前两位。 若要启用和禁用缓解措施,将此注册表项设置为 3。
MinVmVersionForCpuBasedMitigations 适用于 Hyper-V 主机。 此注册表项定义了使用更新后固件功能 (CVE-2017-5715) 所需的最低 VM 版本。 将其设置为 1.0 来涵盖所有 VM 版本。 请注意,在非 Hyper-V 主机上,此注册表值将被忽略(良性)。 更多详细信息,请参阅 保护来宾虚拟机免受 CVE-2017-5715(分支目标注入)的侵害。
是的,如果在安装 2018 年 1 月相关修补程序之前应用这些注册表设置,则不会有副作用。
有关脚本输出的详细说明,请参阅 KB4074629:了解 UnderstandingControl PowerShell 脚本输出。
是,对于尚无可用固件更新的 Windows Server 2016 Hyper-V 主机,我们已经发布了可帮助缓解从 VM 到 VM 或从 VM 到主机攻击的备用指导。 请参阅 适用于 Windows Server 2016 Hyper-V 主机针对推测性执行侧信道漏洞的替代防护。
仅安全更新不是累积更新。 根据操作系统版本,你可能需要安装多个安全更新才能获得全面保护。 通常,客户需要安装 2018 年 1 月、2 月、3 月和 4 月的更新。 具有 AMD 处理器的系统需要额外的更新,如下表所示:
操作系统版本 |
安全更新 |
Windows 8.1、Windows Server 2012 R2 |
KB4338815 - 每月汇总 |
KB4338824 - 仅安全 |
|
Windows 7 SP1、Windows Server 2008 R2 SP1 或 Windows Server 2008 R2 SP1(服务器核心安装) |
KB4284826 - 每月汇总 |
KB4284867 - 仅安全 |
|
Windows Server 2008 SP2 |
KB4340583 - 安全更新 |
建议按照发布顺序安装这些仅安全更新。
注意: 本 FAQ 的更早版本错误地指出,2 月仅安全更新包含 1 月发布的安全修补程序。 事实上,并不包含。
此问题已在 KB4093118 中解决。
2018 年 2 月,Intel 宣布 已完成验证,并开始为更新的 CPU 平台发布微码。 Microsoft 正在围绕 Spectre Variant 2(CVE-2017-5715 |分支目标注入)提供适用的 Intel 验证的微码更新。 KB4093836 按 Windows 版本列出了特定知识库文章。 每个特定的 KB 文章均包含 CPU 可用的 Intel 微码更新。
2018 年 1 月 11 日, Intel 报告了最近发布的微码中的问题,该微码旨在解决 Spectre Variant 2(CVE-2017-5715 |分支目标注入)。 具体来说数,Intel 指出,此微码可能导致“高于预期的重启和其他不可预测的系统行为”,并且这些情况可能会导致“数据丢失或损坏。”我们的经验是,系统不稳定在某些情况下会导致数据丢失或损坏。 1 月 22 日,Intel 建议客户 停止在受影响的处理器上部署当前微码版本,同时 Intel 对更新的解决方案执行其他测试。 我们了解 Intel 正在继续研究当前微码版本的潜在影响。 我们鼓励客户不断地查看他们的指导,以便为他们的决策提供信息。
在 Intel 测试、更新和部署新微码时,我们将提供带外(OOB)更新 - KB4078130,该更新专门针对 CVE-2017-5715 禁用缓解措施。 在我们的测试中,发现此更新可防止上述行为。 有关设备的完整列表,请参阅 Intel 的 微码修订指南。 此更新适用于客户端和服务器的 Windows 7 Service Pack 1 (SP1)、Windows 8.1 和所有版本的 Windows 10。 如果正在运行受影响的设备,可以从 Microsoft 更新目录网站 下载此更新以应用此更新。 应用此有效负载可专门仅禁用针对 CVE-2017-5715 的缓解措施。
截至此时,尚没有已知的报告表明此 Spectre 变体 2(CVE-2017-5715 |分支目标注入)被用于攻击客户。 当 Intel 报告已为你的设备解决此意外系统行为时,我们建议 Windows 用户在适当情况下重新启用针对 CVE-2017-5715 的缓解措施。
2018 年 2 月,Intel 宣布了 已完成验证,并开始为更新的 CPU 平台发布微码。 Microsoft 正在提供与 Spectre Variant 2(CVE-2017-5715 |分支目标注入)相关的 Intel 验证的可用微码更新。 KB4093836 按 Windows 版本列出了特定知识库文章。 KB 列出了 CPU 可用的 Intel 微码更新。
有关详细信息,请参阅 AMD 安全更新 和 AMD 白皮书:有关间接分支控制的体系结构准则。 这些内容可从 OEM 固件频道获得。
我们正在提供围绕 Spectre 变体 2(CVE-2017-5715 |分支目标注入)的 Intel 验证的可用微码更新。 要通过 Windows 更新获取最新的 Intel 微码更新,客户必须在升级到 Windows 10 的 2018 年 4 月更新(版本 1803)之前,在运行 Windows 10 操作系统的设备上安装 Intel 微码。
如果微码更新在升级系统之前未安装在设备上,也可以直接从 Microsoft 更新目录获取。 Intel 微码可通过 Windows 更新、Windows Server Update Services (WSUS)或 Microsoft 更新目录获取。 有关详细信息和下载说明,请参阅 KB4100347。
有关更多信息,请参阅以下资源:
请参阅 ADV180012 | Microsoft 推测性存储绕过指南 的“推荐操作”和“FAQ”部分。
为了验证 SSBD 的状态,已更新 Get-SpeculationControlSettings PowerShell 脚本,从而检测受影响的处理器、SSBD 操作系统更新的状态以及处理器微码的状态(如果适用)。 要获取详细信息和 PowerShell 脚本,请参阅 KB4074629。
2018 年 6 月 13 日,我们宣布了另一个涉及侧信道推测性执行的漏洞 (称为Lazy FP 状态还原)并指定为 CVE-2018-3665。 有关此漏洞和推荐操作的信息,请参阅安全公告 ADV180016 | Microsoft Lazy FP 状态还原指南。
备注 Lazy 还原 FP 还原无需任何配置(注册表)设置。
边界检查绕过存储(BCBS)已于 2018 年 7 月 10 日披露,并指定为 CVE-2018-3693。 我们认为 BCBS 与边界检查绕过(变体 1)属于同一类漏洞。 我们目前尚未发现我们的软件中存在任何 BCBS 实例。 但是,我们将继续研究此漏洞类,并将与行业合作伙伴合作,以根据需要发布缓解措施。 我们鼓励研究人员向 Microsoft 推测性执行侧信道悬赏计划 提交任何相关调查结果,其中包括任何可利用的 BCBS 实例。 软件开发人员应在 推测性执行侧信道 C++ 开发人员指南 中查看针对 BCBS 更新的开发人员指南。
2018 年 8 月 14 日,我们宣布了 L1 终端故障 (L1TF) 并指定为多个 CVE。 这些新的推理执行侧信道漏洞可用于读取跨越受信任边界的内存内容,如果被利用,可能会导致信息泄漏。 攻击者可以利用多个途径根据配置的环境触发漏洞。 L1TF 会影响 Intel® Core® 处理器和 Intel® Xeon® 处理器。
有关此漏洞的更多信息以及受影响方案的详细视图(包括 Microsoft 缓解 L1TF 的方法),请参阅以下资源:
禁用超线程的步骤因 OEM 不同而异,但通常都是 BIOS 或固件设置和配置工具的一部分。
使用 64 位 ARM 处理器的客户应与设备 OEM 联系以获取固件支持,因为缓解 CVE-2017-5715 - 分支目标注入(Spectre Variant 2)的 ARM64 操作系统保护需要设备 OEM 提供的最新固件更新才能生效。
有关更多信息,请参阅以下安全通报
有关进一步指导,请参阅 防御推测性执行侧信道漏洞的 Windows 指南
有关指南,请参阅 防御推测性执行侧信道漏洞的 Windows 指南
有关 Azure 指南,请参阅本文:有关在 Azure 中缓解推测性执行侧信道漏洞的指南。
有关 Retpoline 启用的详细信息,请参阅我们的博客文章:使用 Windows 上的 Retpoline 缓解 Spectre Variant 2。
有关此漏洞的详细信息,请参阅 Microsoft 安全指南: CVE-2019-1125 | Windows 内核信息泄漏漏洞。
我们未发现影响云服务基础设施的此信息泄漏漏洞的任何实例。
我们一经发现此问题,就会迅速进行解决并发布更新。 我们坚信与研究人员和行业合作伙伴建立密切的合作伙伴关系,以使客户更加安全,并且在 8 月 6 日星期二之前不发布详细信息,与协调漏洞披露做法一致。
有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导。
有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导。
更多指南,请参阅 有关禁用 Intel 事务同步扩展(Intel TSX)功能的指南。
参考
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,我们不作任何暗示保证或其他形式的保证
我们提供了第三方联系信息,以便你寻求技术支持。 该联系信息如有更改,恕不另行通知。 我们不保证此第三方联系信息的准确性。