Appendix: Google Cloud Debug and Hardened Images
The security properties the debug image relaxes relative to the hardened image.
Overview
A node boots a host image on the physical machine and a guest image in each of the two confidential VMs that the host launches: the Workload VM and the Key Protection Service VM.
Each image ships in two variants with separate measurements:
A production-configured node boots the hardened variant, which serves user requests.
A debug variant adds an SSH server, operator login, and debugging and crash-collection tooling for development, hardware bring-up, performance work, and security research.
Apple publishes production measurements for the hardened images only, and a client releases request data to a node only when the node’s measurements appear in the transparency log, so a node booted from a debug image can’t decrypt user requests.
Debug-image policies
The behavior of the debug image differs from the hardened image in the following ways.
Layer | Property | Hardened | Debug |
|---|---|---|---|
Host | Operator shell access | OpenSSH is not installed, so the image exposes no interactive login. | Permits root SSH from the Workload VM to the host across the internal interface. |
Host | VM serial consoles | The VMs’ virtual serial consoles are not attached. | Multiplexes both VMs’ serial consoles onto the host serial output for triage. |
Host | Host serial output | Carries the host kernel console and a filtered feed of host script, crash-trace, out-of-memory, KVM, and libvirt logs. | Carries the same, plus the full serial output of both VMs. |
Host | Runtime customization | The host uses the static configuration packaged on its boot disk. | Accepts changes to VM memory and disk sizes, and to the VM image reference, at runtime. |
Host | GPU confidential mode | Locked to confidential-computing mode, with encrypted traffic on the NVLink interconnect between the GPUs. | Offers a profiling mode that relaxes the GPU’s confidential-computing protections. |
Host | Boot breakpoints | None; the host boots through to launching the VMs. | Can halt before launching the VMs, so a researcher can examine the environment first. |
Host | VM termination | The host powers off as soon as the Workload VM terminates, for any reason, making user data inaccessible. | Can be configured to pause instead, so a researcher can inspect the machine. |
Workload VM, Key Protection Service VM | Shell access | OpenSSH is not installed on either VM. | Installs OpenSSH on both VMs. The host provisions an inbound credential into the Key Protection Service VM and hands the Workload VM the matching private key. |
Workload VM, Key Protection Service VM | Logging and telemetry | Forwards only allowed log lines from the workload’s own components, plus the unfiltered journals of the guest platform services. Neither VM has a serial console attached, so neither emits serial logs. | Emits standard system logs, over both the serial console and the forwarding path. |
Workload VM | Container log redirection | The launcher refuses to start when instance metadata asks it to redirect the container’s output streams. | Redirects the container’s output streams to the guest journal, the serial console, or both. |