Google经常宣传其云服务提供的各种管理和安全功能,这是一项持续不断的活动的一部分,目的是说服企业对其托管产品的企业就绪性。
秉承这种精神,该公司本周提供了一些新的详细信息,介绍了已采取的多种安全措施,这些措施可强化其Compute Engine和Container Engine服务核心的开源KVM(基于内核的虚拟机)管理程序。
在博客中,Google的技术主管经理Andy Honig和高级产品经理Nelly Porter概述了Google用于保护KVM的七个高级安全控件。其中包括减少虚拟机管理程序攻击面的过程,确保在KVM中运行的代码完整性的代码出处措施,受控的软件发行和更新以及发现和修补软件漏洞的系统化过程。
例如,为了减少KVM的攻击面,Google限制了虚拟机管理程序支持的一组模拟指令,并清除了其中的许多未使用组件,包括某些控制器和旧版驱动程序。
同样,为了确保代码出处,Google使用自定义二进制和配置验证系统从客户使用的来宾虚拟机一直到虚拟机管理程序,再到引导加载程序,一直验证其代码的完整性。
两位Google工程师断言,Google用于确保其代码完整性的流程可确保计算机始终引导至已知且先前已验证的良好状态。
Google为减轻KVM的安全风险而采取的一项重要措施是开发并使用其自己的用户空间虚拟机监视器和硬件仿真器来代替开源的快速仿真器(QEMU)。
大约两年前,QEMU中的虚拟软盘控制器中的一个错误导致了一个被称为VENOM 的严重漏洞,攻击者可以利用这种方法对托管虚拟机中的来宾计算机的底层操作系统进行完全管理控制。
Honig和Porter写道,Google开发的自定义模拟器比QEMU复杂和简单得多,因为它是为单一体系结构和相对较少的设备而设计的。
内部仿真器不支持QEMU所支持的大型主机和来宾系统矩阵,也不支持其跨体系结构的主机和来宾配置。他们说,这使Google模拟器更易于测试和保护。“ QEMU在诸如VENOM之类的安全漏洞方面有着悠久的记录,目前尚不清楚代码中仍存在哪些漏洞。”
除了采取这些措施外,Google还构建了许多模糊测试工具,以便在每次添加新功能时都在KVM中寻找漏洞。每次采用新版本或KVM功能时,Google都会使用正式的代码审查流程。根据Honig和Porter的说法,这些措施使Google在过去三年中发现并修复了KVM中的九个漏洞。
他们补充说,在同一时期,开源社区在虚拟机管理程序中没有发现影响到Google Cloud平台的漏洞。