VMware Tools是一个可选的驱动程序和实用程序的集合,能够提高虚拟机性能,简化虚拟机管理。但是虚拟化专家对安装VMware Tools的优势是否胜过其带来的潜在安全风险这个问题存在着争论。
一方面,VMware Tools取代了很多客户操作系统专用于物理硬件的驱动程序。经过优化的驱动程序能够显著提高性能并完善相关功能(例如,在主机与虚拟机之间提供复制粘贴功能)。但是安装VMware Tools同样给原本安全的基础设施增加了潜在的虚拟化功能脆弱点。
两位专家就运行VMware Tools的价值展开了争论:VMware Tools导致了不必要的虚拟安全风险vs.VMware Tools激发了虚拟基础设施的潜能。
VMware Tools导致了不必要的虚拟安全风险
VMware Tools,尤其是准虚拟化驱动,经常是虚拟机被攻击的组件。正因为如此,我推荐尽可能使用客户操作系统原有的驱动,仅对虚拟机必需的功能才安装准虚拟化驱动。
准虚拟化驱动能够感知到底层的虚拟化层,因此它们能够走捷径通过驱动程序层,尤其是能够直接调用客户操作系统与虚拟机对象之间的共享内存段。但是准虚拟化驱动为虚拟基础设施增加了另一个受攻击面。从理论上讲,攻击这些驱动可能导致服务阻断(虚拟机宕机),也可能导致黑客从当前虚拟机逃逸(进入主机上的其他虚拟机)——对虚拟化来说这是一件很可怕的事儿。
从当前虚拟机逃逸(Escape-the-VM)的攻击方式已经在所有的type-2 hypervisor中取得了成功。type-2 hypervisor包括了VMware Fusion、VMware Player、VMware Workstation、VMware Server以及Microsoft Virtual Server和Oracle VirtualBox。但这种攻击方式还未能进入裸机hypervisor的其他虚拟机。裸机hypervisor包括了VMware vSphere、Citrix XenServer以及Microsoft Hyper-V。
然而,在vSphere中VMware Tools的准虚拟化驱动已经导致了一些安全问题:
Vmxnet驱动为虚拟机提供了高速网络。但是vmxnet系列驱动允许网络数据包打乱时间戳顺序,这可能导致与其他数据包的不同步。这一缺陷导致基于TCP/IP服务的失败。导致网络服务器网络中断也就意味着中断服务。因为准虚拟化驱动导致了这一问题,因此它被认为存在虚拟化安全风险(这一问题已经被修复)。操作系统供应商提供的e1000驱动同样能够提供高速网络,因此没有必要使用准虚拟化驱动。
在hypervisor外部VMCI驱动用于虚拟机之间的通信(也就是虚拟机使用另一条网络路径)。目前没有应用程序使用该功能,但是启用VMCI驱动给现存的虚拟机增加了另外一个潜在的受攻击面。
VMware的SVGA驱动是VMware Tools最易受到攻击的驱动,但是只有虚拟桌面才会用到SVGA驱动。在其他情况下客户操作系统提供的标准的SVGA驱动就能够满足要求而且可以限制虚拟机的受攻击面(攻击SVGA可能导致虚拟机宕机)。
仅在虚拟机必须使用准虚拟化驱动提供的功能时才使用它,为限制虚拟机风险,你应该尽可能地选择客户操作系统提供的驱动。