VMware 设计了虚拟化层(或 VMkernel)来运行虚拟机。它控制着主机所使用的硬件,并调度虚拟机之间的硬件资源分配。由于 VMkernel 专用于支持虚拟机而不用于其他用途,因此其接口严格限制在管理虚拟机所需的 API。

ESXi 通过以下功能提供附加 VMkernel 保护:

内存强化安全

ESXi 内核、用户模式应用程序及可执行组件(如驱动程序和库)位于无法预测的随机内存地址中。在将该功能与微处理器提供的不可执行的内存保护结合使用时,可以提供保护,使恶意代码很难通过内存漏洞来利用系统漏洞。

内核模块完整性

数字签名确保由 VMkernel 加载的模块、驱动程序及应用程序的完整性和真实性。模块签名允许 ESXi 识别模块、驱动程序或应用程序的提供商以及它们是否通过 VMware 认证。VMware 软件和某些第三方驱动程序已获得 VMware 签名认证。

可信的平台模块 (TPM)

vSphere 使用 Intel 可信的平台模块/受信任的执行技术 (TPM/TXT),根据硬件信任根提供管理程序映像的远程证明。管理程序映像由以下元素构成:

  • VIB(软件包)格式的 ESXi 软件(管理程序)

  • 第三方 VIB

  • 第三方驱动程序

要利用该功能,ESXi 系统必须启用 TPM 和 TXT。

如果启用了 TPM 和 TXT,ESXi 会在系统引导时测量整个管理程序堆栈,并将这些测量值存储在 TPM 的平台配置寄存器 (PCR) 中。测量范围包括 ESXi 上运行的 VMkernel、内核模块、驱动程序、本机管理应用程序,以及所有引导时配置选项。系统上安装的所有 VIB 都会进行测量。

第三方解决方案可使用该功能构建验证程序,通过将映像与预期已知正常值的映像进行比较,检测管理程序映像的篡改。vSphere 未提供用于查看这些测量值的用户界面。

测量值在 vSphere API 中公开。根据 TXT 的可信计算组 (TCG) 标准,事件日志作为 API 的一部分提供。