更改日志
| 更改日期 | 更改说明 |
|---|---|
| 2023 年 4 月 20 日 |
|
| 2023 年 8 月 8 日 |
|
| 2023 年 8 月 9 日 |
|
| 2024 年 4 月 9 日 |
|
| 2024 年 4 月 16 日 |
|
摘要
本文为影响许多新式处理器和操作系统的一类基于硅的微体系结构和推理执行侧通道漏洞提供了指导。 这包括 Intel、AMD 和 ARM。 可在以下 ADV(安全公告)和 CVE(常见漏洞和披露)中找到这些基于芯片的漏洞的特定详细信息:
- ADV180002 | 用于缓解推理执行侧信道漏洞的指南
- ADV180012 | Microsoft 推理存储绕过指南
- ADV180013 | Microsoft 恶意系统注册读取指南
- ADV180016 | Microsoft Lazy FP 状态还原指南
- ADV180018 |缓解 L1TF 变体的Microsoft指南
- ADV190013 | Microsoft 缓解微架构数据采样漏洞的指南
- ADV220002 |有关 Intel 处理器 MMIO 过时数据漏洞的Microsoft指南
- CVE-2022-23825 |AMD CPU 分支类型混淆
- CVE-2023-20569 | AMD CPU 寄件人地址预测器
- CVE-2022-0001 | Intel 分支历史记录注入
重要
这些问题还会影响其他系统,例如 Android、Chrome、iOS 和 MacOS。 建议客户寻求相应供应商的指导。
我们已发布多个更新来帮助缓解这些漏洞。 我们还采取了措施来保护我们的云服务。 有关更多详细信息,请参阅下列部分。
我们尚未收到任何信息,指出这些漏洞已被用来攻击客户。 我们一直在与业内合作伙伴(包括芯片制造商、硬件 OEM 和应用程序供应商)密切合作以保护客户。 若要获取所有可用保护,需要进行固件(微码)和软件更新。 其中包括来自设备 OEM 的微码,在有些情况下,还包括防病毒软件更新。
漏洞
推理执行
本文解决了以下推测执行漏洞:
Windows 更新还将提供 Internet Explorer 和 Edge 缓解措施。 我们会继续改进这些针对此类漏洞的缓解措施。
若要了解有关此类漏洞的更多信息,请参阅
微体系结构数据采样漏洞
2019 年 5 月 14 日,Intel 发布了有关推理执行侧通道漏洞(称为微体系结构数据采样)的新子类的信息,并记录在 ADV190013 |微体系结构数据采样。 它们已被分配以下 CVE:
- CVE-2019-11091 |微体系结构数据采样不可缓存内存 (MDSUM)
- CVE-2018-12126 | 微架构存储缓冲区数据采样 (MSBDS)
- CVE-2018-12127 |微体系结构填充缓冲区数据采样 (MFBDS)
- CVE-2018-12130 |微体系结构加载端口数据采样 (MLPDS)
重要
这些问题将影响其他系统,例如 Android、Chrome、iOS 和 MacOS。 建议客户寻求相应供应商的指导。
Microsoft 已发布多项更新来帮助缓解此类漏洞。 若要获取所有可用保护,需要进行固件(微码)和软件更新。 这可能包括来自设备 OEM 的微码。 在某些情况下,安装这些更新会对系统性能产生影响。 我们也采取了行动来保护云服务。 我们强烈建议部署这些更新。
有关此问题的更多信息,请参阅以下安全通报,并使用基于场景的指南来确定缓解威胁所需的操作:
注意
建议在安装任何微码更新之前先安装 Windows 更新中的所有最新更新。
Spectre,变体 1 漏洞
2019 年 8 月 6 日,Intel 发布了有关 Windows 内核信息泄漏漏洞的详细信息。 此漏洞是 Spectre 变体 1 推理执行侧通道漏洞的变体,已分配 CVE-2019-1125。
2019 年 7 月 9 日,我们发布了 Windows 操作系统的安全更新,以帮助缓解此问题。 请注意,在 2019 年 8 月 6 日星期二协调行业披露之前,我们一直拒绝公开记录这种缓解措施。
已启用 Windows 更新并应用了 2019 年 7 月 9 日发布的安全更新的客户将自动受到保护。 无需进一步配置。
注意
此漏洞不需要设备制造商(OEM)的微码更新。
有关此漏洞和适用更新的更多信息,请参阅 Microsoft 安全更新指南:
事务异步中止漏洞
2019 年 11 月 12 日,Intel 发布了有关 Intel® 事务同步扩展 (Intel TSX) 事务异步中止漏洞的技术公告,该漏洞分配有 CVE-2019-11135。 Microsoft 已发布更新以帮助缓解此漏洞,并且默认情况下为 Windows Server 2019 启用 OS 保护,但 Windows Server 2016 及更早版本的 Windows Server OS 版本默认禁用 OS 保护。
MMIO 过时数据采样漏洞
2022 年 6 月 14 日,我们发布了 ADV220002 |Microsoft Intel 处理器 MMIO 过时数据漏洞指南 ,并分配了以下 CVE:
- CVE-2022-21123 |共享缓冲区数据读取 (SBDR)
- CVE-2022-21125 |共享缓冲区数据采样 (SBDS)
- CVE-2022-21127 |特殊寄存器缓冲区数据采样更新 (SRBDS 更新)
- CVE-2022-21166 |设备寄存器部分写入 (DRPW)
建议的操作
应采取以下措施以帮助防御这些漏洞:
- 应用所有可用的 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 |返回地址预测器 (也称为“初始) ,它描述了一种新的推理侧通道攻击,该攻击可能导致在攻击者控制的地址执行推理。 此问题会影响某些 AMD 处理器,并可能导致信息泄漏。
为了帮助防范此漏洞,我们建议安装日期为 2023 年 8 月或之后的 Windows 更新,然后按照 CVE-2023-20569 的要求执行操作,以及此知识库文章中提供的注册表项信息。
有关详细信息,请参阅 AMD-SB-7005 安全公告。
分支历史记录注入
2024 年 4 月 9 日,我们发布了 CVE-2022-0001 |Intel Branch History Injection 描述分支历史记录注入 (BHI) 这是一种特定形式的内模式 BTI。 当攻击者在从用户模式转换为监督模式(或从 VMX 非根/来宾模式转换为根模式)之前,可能操纵分支历史记录时,会出现此漏洞。 此操作可能导致间接分支预测器为间接分支选择特定的预测器条目,并且预测目标处的泄漏小工具会暂时执行。 这可能是因为相关的分支历史记录可能包含在以前的安全上下文中创建的分支,尤其是其他预测器模式下。
Windows Server 和 Azure Stack HCI 的缓解设置
安全公告 (ADV) 和 CVE 提供有关这些漏洞所带来的风险的信息。 它们还有助于识别这些漏洞,并确定 Windows Server 系统的缓解措施的默认状态。 下表总结了 CPU 微码的要求以及 Windows Server 上缓解措施的默认状态。
| CVE | 是否需要 CPU 微码/固件? | 缓解措施默认状态 |
|---|---|---|
| CVE-2017-5753 | 否 | 默认启用(无禁用选项) 请参阅 ADV180002 了解更多信息。 |
| CVE-2017-5715 | 是 | 默认禁用。 有关其他信息,请参阅 ADV180002 和此知识库文章了解适用的 注册表项设置。 注意如果启用了 Spectre Variant 2 (CVE-2017-5715) ,则默认为运行 Windows 10 版本 1809 及更高版本的设备启用“Retpoline”。 有关“Retpoline”的详细信息,请参阅 使用 Windows 上的 Retpoline 的缓解 Spectre 变体 2 博客文章。 |
| CVE-2017-5754 | 否 | Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 请参阅 ADV180002 了解更多信息。 |
| CVE-2018-3639 | Intel:是 AMD:否 |
默认禁用。 有关详细信息 ,请参阅ADV180012 和本文了解适用的 注册表项设置。 |
| CVE-2018-11091 | Intel:是 | Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 有关详细信息 ,请参阅ADV190013 和本文了解适用的 注册表项设置。 |
| CVE-2018-12126 | Intel:是 | Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 有关详细信息 ,请参阅ADV190013 和本文了解适用的 注册表项设置。 |
| CVE-2018-12127 | Intel:是 | Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 有关详细信息 ,请参阅ADV190013 和本文了解适用的 注册表项设置。 |
| CVE-2018-12130 | Intel:是 | Windows Server 2019、Windows Server 2022 和 Azure Stack HCI:默认启用。 Windows Server 2016 及更早版本:默认禁用。 有关详细信息 ,请参阅ADV190013 和本文了解适用的 注册表项设置。 |
| CVE-2019-11135 | 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 和本文,了解适用的注册表项设置。 |
| CVE-2022-0001 | Intel:否 |
默认禁用 有关详细信息,请参阅 CVE-2022-0001 和本文了解适用的注册表项设置。 |
注意
* 请按照下面的 Meltdown 缓解指南进行操作。
如果要获取针对这些漏洞的所有可用防护,必须更改注册表项,从而启用这些默认禁用的缓解措施。
启用这些缓解措施可能会影响性能。 性能影响的范围取决于多个因素,例如,物理主机中的特定芯片组和正在运行的工作负载。 建议评估环境的性能影响,并进行任何必要的调整。
如果你的服务器属于以下类别之一,则面临的风险将增加:
- Hyper-V 主机:需要防护 VM 到 VM 和 VM 到主机的攻击。
- 远程桌面服务主机(RDSH):需要防护从会话到会话或从会话到主机的攻击。
- 正在运行 不受信任代码 的物理主机或虚拟机(例如,容器或数据库不受信任的扩展、不受信任的 Web 内容或运行来自外部源的代码的工作负载。 这些需要从不受信任过程到另一过程或从不受信任过程到内核攻击的保护。
使用以下注册表项设置以在服务器上启用缓解措施,并重启设备以使更改生效。
注意
默认情况下,启用关闭的缓解措施可能会影响性能。 实际的性能影响取决于多个因素,例如,设备中的特定芯片组和正在运行的工作负载。
注册表设置
我们将提供以下注册表信息以启用默认未启用的缓解措施,如安全通报 (ADV) 和CVE 中所述。 此外,我们还为希望在适用于 Windows 客户端时禁用缓解措施的用户提供注册表项设置。
注意
- 重要 本部分、方法或任务包含说明如何更改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请一定严格按照下列步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请参阅以下 Microsoft 知识库文章:
- KB322756 如何在 Windows 中备份和还原注册表
管理 CVE-2017-5715 (Spectre Variant 2) 的缓解措施, CVE-2017-5754 (Meltdown) 和 CVE-2022-21123、CVE-2022-21125、CVE-2022-21127、CVE-2022-21166 (MMIO)
注意
- 重要 默认情况下,如果启用了 Spectre、Variant 2 缓解 (CVE-2017-5715) ,则 Retpoline 的配置如下所示:
-
- 在 Windows 10 版本 1809 及更高版本的 Windows 上启用了 Retpoline 缓解。
-
- Windows Server 2019 及更高版本Windows Server版本禁用了 Retpoline 缓解。
- 有关 Retpoline 配置的详细信息,请参阅 在 Windows 上使用 Retpoline 缓解 Spectre 变体 2。
|
|---|
注意
将 FeatureSettingsOverrideMask 设置为 3 对于“启用”和“禁用”设置都是准确的。 (请参阅“常见问题解答”部分,了解有关注册表项的更多详细信息。)
管理 CVE-2017-5715 (Spectre Variant 2)
禁用变体 2: (CVE-2017-5715 |分支目标注入) 缓解措施:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f重启设备以使更改生效。 启用变体 2: (CVE-2017-5715 |分支目标注入) 缓解措施: reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f重启设备以使更改生效。 |
|---|
仅限 AMD 处理器:启用 CVE-2017-5715 (Spectre Variant 2)
默认情况下,为 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 /freg 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)
若要启用 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 /freg 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 /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f重启设备以使更改生效。 |
|---|
仅限 AMD 处理器:启用 CVE-2017-5715 (Spectre Variant 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 /freg 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 在重启后也会更新。 重启设备以使更改生效。 |
|---|
管理事务异步中止漏洞、微体系结构数据采样、Spectre、Meltdown、MMIO、推理存储旁路禁用 (SSBD) 和 L1 终端故障 (L1TF)
|
为 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] 变体, 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],但不禁用 Hyper-Threading: 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],Hyper-Threading 已禁用: 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 重启设备以使更改生效。 |
|---|
CVE-2022-23825 \|AMD CPU 分支类型混淆 (BTC)
若要在 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 。
CVE-2023-20569 \|AMD CPU 返回地址预测器
若要在 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
CVE-2022-0001 \|Intel 分支历史记录注入
若要在 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 |
验证保护是否已启用
为了帮助验证是否已启用保护,我们发布了可在设备上运行的 PowerShell 脚本。 使用以下方法之一安装并运行脚本。
方法 1:使用 PowerShell 库 (Windows Server 2016 或 WMF 5.0/5.1) 进行 PowerShell 验证
安装 PowerShell 模块:PS> Install-Module SpeculationControl运行 PowerShell 模块,验证是否启用了保护: PS> # Save the current execution policy so it can be resetPS> $SaveExecutionPolicy = Get-ExecutionPolicyPS> Set-ExecutionPolicy RemoteSigned -Scope CurrentuserPS> Import-Module SpeculationControlPS> Get-SpeculationControlSettingsPS> # Reset the execution policy to the original statePS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser |
|---|
方法 2:使用从 Technet 下载的 PowerShell 验证 (早期操作系统版本和早期 WMF 版本)
从 Technet ScriptCenter 安装 PowerShell 模块:
启动 PowerShell,然后使用上述示例复制并运行下列命令: PS> # Save the current execution policy so it can be resetPS> $SaveExecutionPolicy = Get-ExecutionPolicyPS> Set-ExecutionPolicy RemoteSigned -Scope CurrentuserPS> CD C:\ADV180002\SpeculationControlPS> Import-Module .\SpeculationControl.psd1PS> Get-SpeculationControlSettingsPS> # Reset the execution policy to the original statePS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser |
|---|
有关 PowerShell 脚本输出的详细说明,请参阅 KB4074629 。
常见问题解答
我未获得 2018 年 1 月和 2 月发布的 Windows 安全更新。我该怎么做?
为了帮助避免对客户设备产生负面影响,2018 年 1 月和 2 月发布的 Windows 安全更新尚未提供给所有客户。 有关详细信息,请参阅 KB407269 。
如何判断我是否具有正确版本的 CPU 微代码?
微码是通过固件更新提供的。 有关具有你的计算机相应更新的固件版本,请咨询你的 OEM。
缓解措施对性能有何影响?
存在多种影响性能的可变因素,包括系统版本、正在运行的工作负载等。 对于某些系统,性能影响可以忽略不计。 对于其他系统,影响可能相当明显。
建议你评估系统的性能影响,并根据需要进行调整。
我在第三方托管环境或云中运行Windows Server。我该怎么做?
除了本文针对虚拟机的指导以外,还应联系你的服务提供商,以确保正在运行你的虚拟机的主机已得到充分保护。
有关在 Azure 中运行的 Windows Server 虚拟机,请参阅有关缓解 Azure 中的推理执行侧通道漏洞的指南。 有关使用Azure更新管理在来宾 VM 上缓解此问题的指导,请参阅 KB4077467。
是否有任何特定于容器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 月相关修补程序之前应用这些注册表设置,则不会有副作用。
能否提供有关 PowerShell 验证脚本输出的更多详细信息?
有关脚本输出的详细说明,请参阅 KB4074629:了解 SpeculationControl PowerShell 脚本输出 。
如果 OEM 尚未提供固件 (微代码) 更新,是否还有保护 Hyper-V 主机的方法?
是,对于尚无可用固件更新的 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 月发布的安全修补程序。 事实上,并不包含。
如果我应用任何适用的安全更新,它们是否会像安全更新KB4078130那样禁用 CVE-2017-5715 保护?
不。 安全更新 KB4078130 是一种特定修补程序,用于防止安装微代码后出现不可预知的系统行为、性能问题和意外重启。 在 Windows 客户端操作系统上应用安全更新可启用所有三种缓解措施。 在 Windows Server 操作系统上,执行适当的测试后仍必须启用缓解措施。 有关详细信息,请参阅 KB4072698。
已知问题:某些用户在安装 2018 年 3 月 13 日安全更新 (KB 4088875) 后可能会遇到网络连接问题或丢失 IP 地址设置
此问题已在 KB4093118 中得到解决。
Intel 已发现涉及某些较旧处理器上的微代码的重启问题。我该怎么做?
2018 年 2 月,Intel 宣布 他们已完成验证,并开始为较新的 CPU 平台发布微代码。 Microsoft提供 Intel 验证的微代码更新,这些更新涉及 Spectre Variant 2 Spectre Variant 2 (CVE-2017-5715 |分支目标注入) 。 KB4093836按 Windows 版本列出特定知识库文章。 每个特定的 KB 文章均包含 CPU 可用的 Intel 微码更新。
2018 年 1 月 11 日,Intel 报告了最近发布的微代码中的问题,该 微 代码旨在解决 Spectre 变体 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 Variant 2 (CVE-2017-5715 |分支目标注入) 已用于攻击客户。 当 Intel 报告已为你的设备解决此意外系统行为时,我们建议 Windows 用户在适当情况下重新启用针对 CVE-2017-5715 的缓解措施。
我听说 Intel 发布了微代码更新。在哪里可以找到它们?
2018 年 2 月,Intel 宣布 已完成验证,并开始为较新的 CPU 平台发布微代码。 Microsoft提供与 Spectre Variant 2 Spectre Variant 2 (CVE-2017-5715 相关的 Intel 验证微代码更新 |分支目标注入) 。 KB4093836按 Windows 版本列出特定知识库文章。 KB 列出了 CPU 可用的 Intel 微码更新。
有关详细信息,请参阅 AMD 安全汇报和 AMD 白皮书:有关间接分支控制的体系结构准则。 这些内容可从 OEM 固件频道获得。
我运行Windows 10 2018 年 4 月更新 (版本 1803) 。Intel 微代码是否可用于我的设备?在哪里可以找到它?
我们正在提供 Intel 验证的微代码更新,这些更新涉及 Spectre Variant 2 (CVE-2017-5715 |分支目标注入) 。 要通过 Windows 更新获取最新的 Intel 微码更新,客户必须在升级到 Windows 10 的 2018 年 4 月更新(版本 1803)之前,在运行 Windows 10 操作系统的设备上安装 Intel 微码。
如果微码更新在升级系统之前未安装在设备上,也可以直接从 Microsoft 更新目录获取。 Intel 微码可通过 Windows 更新、Windows Server Update Services (WSUS)或 Microsoft 更新目录获取。 有关详细信息和下载说明,请参阅 KB4100347。
在哪里可以找到有关新的推理执行侧通道漏洞的信息 (推理存储绕过 - CVE-2018-3639 和流氓系统注册读取 - CVE-2018-3640) ?
有关详细信息,请参阅以下资源:
- ADV180012 |CVE-2018-3639 的推理存储旁路Microsoft指南
- ADV180013 | Microsoft 恶意系统注册读取指南(针对 CVE-2018-3640)和 KB 4073065 | Surface 客户指南
- Microsoft 安全研究与防卫博客
- 推理存储绕过开发人员指南
在哪里可以找到有关 Intel 处理器中对推理存储旁路禁用 (SSBD) 的 Windows 支持的详细信息?
请参阅ADV180012的“建议的操作”和“常见问题解答”部分 |Microsoft推理商店旁路指南。
如何实现确定 SSBD 是启用或禁用的?
为了验证 SSBD 的状态, Get-SpeculationControlSettings PowerShell 脚本已更新,以检测受影响的处理器、SSBD 操作系统更新的状态以及处理器微代码的状态(如果适用)。 若要获取详细信息和 PowerShell 脚本,请参阅 KB4074629。
我听说过“延迟 FP 状态还原” (CVE-2018-3665) 。Microsoft发布缓解措施吗?
2018 年 6 月 13 日,宣布了一个涉及侧通道推理执行的其他漏洞,称为 延迟 FP 状态还原,并分配了 CVE-2018-3665 。 有关此漏洞和建议的操作的信息,请参阅安全公告 ADV180016 |延迟 FP 状态还原的Microsoft指南 。
注意 Lazy 还原 FP 还原不需要任何配置(注册表)设置。
我听说 CVE-2018-3693 (边界检查绕过存储) 与 Spectre 相关。Microsoft发布缓解措施吗?
边界检查绕过存储 (BCBS) 于 2018 年 7 月 10 日披露,并分配了 CVE-2018-3693。 我们认为 BCBS 与边界检查绕过(变体 1)属于同一类漏洞。 我们目前尚未发现我们的软件中存在任何 BCBS 实例。 但是,我们将继续研究此漏洞类,并将与行业合作伙伴合作,以根据需要发布缓解措施。 我们鼓励研究人员向Microsoft 投机执行侧通道赏金计划提交任何相关发现,包括任何可利用的 BCBS 实例。 软件开发人员应在推理执行侧通道的 C++ 开发人员指南中查看针对 BCBS 更新的开发人员指南
我听说 L1 终端故障 (L1TF) 已披露。在哪里可以找到有关它的详细信息和 Windows 支持?
2018 年 8 月 14 日, L1 终端故障 (L1TF) 被宣布并分配了多个 CVE。 这些新的推理执行侧信道漏洞可用于读取跨越受信任边界的内存内容,如果被利用,可能会导致信息泄漏。 攻击者可以利用多个途径根据配置的环境触发漏洞。 L1TF 会影响 Intel® Core® 处理器和 Intel® Xeon® 处理器。
有关此漏洞的更多信息以及受影响方案的详细视图(包括 Microsoft 缓解 L1TF 的方法),请参阅以下资源:
如何实现设备上禁用 L1TF Hyper-Threading?
禁用超线程的步骤因 OEM 不同而异,但通常都是 BIOS 或固件设置和配置工具的一部分。
在哪里可以获取缓解 CVE-2017-5715 的 ARM64 固件 \|分支目标注入 (Spectre Variant 2) ?
使用 64 位 ARM 处理器的客户应联系设备 OEM 以获取固件支持,因为 ARM64 操作系统保护可缓解 CVE-2017-5715 |分支目标注入 (Spectre,变体 2) 要求设备 OEM 的最新固件更新生效。
在哪里可以找到有关 Intel 在微体系结构数据采样 (CVE-2018-11091、CVE-2018-12126、CVE-2018-12127、CVE-2018-12130)
有关更多信息,请参阅以下安全通报
在哪里可以找到基于方案的指南,以确定缓解微体系结构数据采样漏洞所需的操作?
有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导
如何实现设备上禁用 MDS Hyper-Threading?
有关指导,请参阅防御推理执行侧信道漏洞的 Windows 指导
在哪里可以找到Azure指南?
有关Azure指南,请参阅以下文章:缓解Azure中的推理执行侧通道漏洞的指南。
在哪里可以了解有关 Windows 10 版本 1809 上的 Retpoline 启用的详细信息?
有关 Retpoline 启用的详细信息,请参阅我们的博客文章: 在 Windows 上使用 Retpoline 缓解 Spectre 变体 2 。
我听说 Spectre Variant 1 推理执行端通道漏洞有一个变体。在哪里可以了解详细信息?
有关此漏洞的详细信息,请参阅Microsoft安全指南: CVE-2019-1125 |Windows 内核信息泄露漏洞。
CVE-2019-1125 \|Windows 内核信息泄露漏洞会影响Microsoft的云服务?
我们未发现影响云服务基础设施的此信息泄漏漏洞的任何实例。
如果 CVE-2019-1125 更新 \|Windows 内核信息泄露漏洞于 2019 年 7 月 9 日发布,为什么详细信息在 2019 年 8 月 6 日发布?
我们一经发现此问题,就会迅速进行解决并发布更新。 我们坚信与研究人员和行业合作伙伴建立密切的合作伙伴关系,以使客户更加安全,并且在 8 月 6 日星期二之前不发布详细信息,与协调漏洞披露做法一致。
在哪里可以找到基于方案的指南,以确定缓解 Intel TSX) 事务异步中止漏洞 (CVE-2019-11135) (Intel 事务同步扩展所需的操作?
有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导。
是否需要在设备上禁用 Intel 事务同步扩展 (Intel TSX) 事务异步中止漏洞 (CVE-2019-11135) Hyper-Threading?
有关进一步指导,请参阅防御推理执行侧信道漏洞的 Windows 指导。
是否有办法禁用 Intel 事务同步扩展 (Intel TSX) 功能?
更多指南,请参阅 有关禁用 Intel 事务同步扩展(Intel TSX)功能的指南。
参考
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,我们不作任何暗示保证或其他形式的保证
我们提供了第三方联系信息,以便你寻求技术支持。 该联系信息如有更改,恕不另行通知。 我们不保证此第三方联系信息的准确性。