Google recently rolled out in beta specialized virtual machines, called Shielded VMs, so account holders on Google Cloud Platform (GCP) could run workloads without fear of running compromised code.
Now the company is publishing details on how Shielded VMs keep the cloud secure from attack vectors, including guest system firmware, guest OS via malicious guest-VM kernel or user-mode vulnerabilities, and malicious customer insiders tampering with guest VM images. Threats like boot malware or firmware rootkits often lay undetected while the compromised VM boots.
Shielded VMs come with security features to protect code in the cloud, which Google explains in a blog post released today by Nelly Porter, Google Cloud senior product manager, and Sergey Simakov, technical program manager for Google Cloud Security. They start with the firmware, which is based on UEFI 2.3.1 to replace legacy BIOS subsystems and enable UEFI Secure Boot.
The virtual Trusted Platform Module (vTPM) validates guest VM preboot integrity and generates and secures encryption keys. It allows the guest OS to create and protect keys and sensitive data. VTPM is required to launch Measured Boot, providing guest VM instances and cryptographically verifying the stack before the VM is permitted to access data stored in the cloud.
"The goal of the vTPM service is to provide guest VM instances with TPM functionality that is TPM2.0 compatible and FIPS 140-2 L1 certified," Porter and Simakov write. Google software engineer Josh Zimmerman further expands on vTPM security functionalities in a separate post.
vTPMs work like TPMs, which use platform configuration registers (PCRs) to log system states. Using the TPM's keys, the vTPM provides a "quote" of PCR values so remote servers can verify the state of a system. The TPM can protect sensitive data – for example, drive decryption keys, so they can be accessed only if a system state is valid.
Measured Boot, along with Secure Boot, helps defend Shielded VMs against boot- and kernel-level malware and rootkits. The two also ensure a user's VM launches a known firmware and kernel software stack. Secure Boot ensures the system runs legitimate software; Measured Boot verifies the integrity of the system software and VM boot process.
Users can access integrity reports for Shielded VMs via Stackdriver; they also can define their own policies and custom actions if the report indicates their VMs don't meet their security standards.