vmware主机报‘L1 Terminal Fault漏洞的官方解决方案

背景

漏洞编号:CVE-2018-3646 (55806),本文主要解决vSphere中的CVE-2018-3646(L1终端故障-VMM)所需的特定于Hypervisor的缓解措施;

【 CVE-2018-3646漏洞介绍】
英特尔已经披露了有关一类新的CPU投机执行漏洞的详细信息,这些漏洞统称为“ L1终端故障”,该漏洞可能发生在过去和当前的英特尔处理器上(至少从2009年至2018年);诸如Meltdown,Rogue系统寄存器读取和“懒人FP状态还原”一样,当受影响的Intel微处理器推测超出未经许可的数据访问权限时,可能会出现“ L1终端故障”漏洞。通过在这些情况下继续推测,受影响的英特尔微处理器将暴露出新的攻击旁道。(但是,请注意,由于推测操作将在指令退出时被取消,因此仍然提供了体系结构上的正确性。)

CVE-2018-3646是这些英特尔微处理器漏洞之一,并会影响虚拟机监控程序。它可能允许在给定CPU内核上运行的恶意VM有效地推断同一内核的L1数据缓存中同时存在的虚拟机管理程序或其他VM特权信息的内容。由于当前的英特尔处理器在支持超线程(HT)的内核的两个逻辑处理器之间共享物理寻址的L1数据高速缓存,因此在两个逻辑处理器上不加区分地同时调度软件线程会造成进一步的信息泄漏。CVE-2018-3646具有两个当前已知的攻击媒介,此处将其称为“顺序上下文”和“并发上下文”。必须解决两个攻击媒介,来减轻CVE-2018-3646的危害。

【漏洞攻击原理】

1)顺序上下文攻击:恶意VM可以潜在地推断处理器核心的任一逻辑处理器上先前上下文(管理程序线程或其他VM线程)的最近访问的L1数据。
2)并发上下文攻击:恶意VM可能会推断出在启用了超线程的处理器核心的另一个逻辑处理器上同时执行的上下文(管理程序线程或其他VM线程)在最近访问的L1数据。

【对应处理措施】
1)可以通过vSphere更新和补丁来缓解顺序上​​下文攻击媒介。默认情况下会启用此缓解措施,并且不会对性能产生重大影响。
2)缓解并发上下文攻击媒介要求启用一项称为ESXi边通道感知调度程序的新功能。此功能的初始版本将仅在支持Intel Hyperthreading的内核的一个逻辑处理器上调度虚拟机管理程序和VM。此功能可能会对性能产生重大影响,默认情况下未启用。

重要说明:建议不要在应用vSphere更新和补丁后禁用固件/ BIOS中的Intel超线程(或通过使用VMkernel.Boot.Hyperthreading),这会阻止和允许同时使用两个逻辑处理器的vSphere调度程序增强和缓解措施。这样,禁用超线程以减轻并发上下文攻击将引入不必要的操作开销,因为将来可能需要重新启用超线程。

处理方案

CVE-2018-3646的缓解过程分为三个阶段:
在这里插入图片描述
1)更新阶段:应用vSphere更新和补丁来修复漏洞
通过对VMware Security Advisory VMSA-2018-0020中列出的产品版本进行vSphere更新,可以缓解顺序上​​下文攻击媒介。此缓解措施取决于VMSA-2018-0020中也记录了Intel微码更新(大多数Intel硬件平台的单独ESXi修补程序中提供)。默认情况下会启用此缓解措施,并且不会对性能产生重大影响。

注意:如以上工作流程所示,应在应用ESXi修补程序之前更新vCenter Server。通知消息已添加到上述更新和补丁中,以说明必须启用ESXi边通道感知调度程序以缓解CVE-2018-3646的并发上下文攻击媒介。如果ESXi在vCenter之前更新,则您可能会收到与此有关的神秘通知消息。vCenter更新后,通知将正确显示。

2)规划阶段:评估环境

通过启用ESXi侧通道感知调度程序可以缓解并发上下文攻击向量,该调度程序包含在VMSA-2018-0020中列出的更新和修补程序中。默认情况下不启用此调度程序。启用此调度程序可能会对vSphere环境中运行的应用程序产生不小的性能影响。规划阶段的目标是了解您当前的环境是否具有足够的CPU容量以启用调度程序而不会产生操作影响。

下表总结了启用ESXi边通道感知调度程序后的潜在问题区域:
1>虚拟机配置的vCPU大于ESXi主机上可用的物理核心
2>使用自定义关联性或NUM​​A设置
3>配置的VM具有延迟敏感
4>配置的VM平均CPU使用率大于70%
5>ESXi主机启用了自定义CPU资源管理选项
6>开启HA的HA群集主机滚动升级将使平均CPU使用率超过100%

**注:**上面的列表旨在简要概述与启用ESXi边通道感知调度程序有关的潜在问题区域。VMware Performance Team在KB55767中提供了深入的指南以及性能数据。强烈建议在启用调度程序之前彻底阅读本文档。在启用ESXi边通道感知调度程序之前,可能需要获取其他硬件或重新平衡现有工作负载。在执行风险评估并接受并发上下文攻击媒介所带来的风险之后,组织可以选择不启用ESXi边通道感知调度程序。不建议这样做,VMware无法代表组织做出此决定。

3)调度程序启用
a、在6.7u2之前的ESXi 5.5、6.0、6.5和6.7中启用ESXi边通道感知调度程序。在必须启用ESXi边沿感知调度程序,以缓解CVE-2018-3646的并发上下文攻击媒介。可以通过高级配置选项hyperthreadingMitigation在单个ESXi主机上启用调度程序。
注:
启用此选项将导致vSphere UI每个物理核心仅报告一个逻辑处理器;如果先前启用了超线程,则将逻辑处理器的数量减半。此外,在各种配置选项卡中,超线程可能会报告为“已禁用”。

【操作步骤】
1、登录vcenter,选中某台主机,打开管理(5.5 / 6.0)或配置(6.5 / 6.7)选项卡。
2、设置—Advanced System Settings.
3、检索框里搜索:VMkernel.Boot.hyperthreadingMitigation
在这里插入图片描述
4、更改VMkernel.Boot.hyperthreadingMitigation为true,表:根据需要限制同一超线程核心同时使用多个逻辑处理器以缓解安全漏洞。重启ESXi主机以生效。

b、在ESXi 6.7u2(13006603)或更高版本中启用ESXi侧面通道感知调度程序(SCAv1)或ESXi侧面通道感知调度程序v2(SCAv2)
注意:ESXi 6.7u2(13006603)和ESXi的未来发行版包括ESXi侧通道感知调度程序v2。诸如6.5、6.0和5.5之类的先前发行版无法兼容此新调度程序。
在这里插入图片描述
VMware在发布的一份名为《 vSphere 6.7计划选项的性能》的白皮书,该白皮书更详细地介绍了SCAv1和SCAv2之间的性能差异。

使用vSphere Web Client或vSphere Client启用ESXi侧通道感知调度程序(SCAv1)

【操作步骤】
1、同上,登录vc选中ESXi主机,配置—Advanced System Settings.–编辑
2、搜索VMkernel.Boot.hyperthreadingMitigation
在这里插入图片描述
3、修改VMkernel.Boot.hyperthreadingMitigationIntraVM为true,重启ESXi主机以生效。

【ESXi 6.7u2(及更高版本)调度程序配置摘要】
在这里插入图片描述
受上述漏洞影响的ESXi支持的英特尔处理器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/107520298