Securing Linux VMs in a Hosted Environment
mikbras@microsoft.com
Securing Linux VMs in a Hosted Environment mikbras@microsoft.com - - PowerPoint PPT Presentation
Securing Linux VMs in a Hosted Environment mikbras@microsoft.com Goal attacks from the outside To protect Linux VMs from outside attacks (from processes running on the host). Injecting code into the boot chain. Stealing data from
mikbras@microsoft.com
Linux VHD Templatization (install shielded features) Linux VHD Template Provisioning (rekey and specialize) Linux VHD 1 Linux VHD 2 Linux VHD N Template Gallery Secure Environment
Linux VHD Templatization Linux VHD Template
1. Install first-stage boot loader to ESP. 2. Encrypt boot partition with well-known key. 3. Encrypt root partition with well-known key. 4. Update initial ramdisk with unseal utility. 5. Generate partition signatures. 6. Install mini provisioning OS to ESP. 7. Publish template
1. Boot into mini provisioning OS. 2. Contact central provisioning service. 3. Verify the publisher. 4. Verify partition signatures. 5. Re-encrypt root partition with owner key. 6. Re-encrypt root partition with owner key. 7. Seal boot and root keys with TPM. 8. Encrypt specialization data to ESP. 9. Remove mini provisioning OS from ESP.
Linux VHD Template Provisioning Linux VHD 1 Linux VHD 2 Linux VHD N
UEFI MBLOAD SHIM GRUB2 INITRD KERNEL INIT
ESP Partition Encrypted Root Partition Encrypted Boot Partition
New Modified Unmodified
TPM-sealed bootkey TPM-sealed rootkey TPM-unseal utility
templatization.
rootkey, making boot non-interactive.
kernel update).
later to load and attack Windows.
MBLOAD EXT2 Layer TPM 2.0 Stack LUKS Layer EFI I/O Hooks VFAT Layer GPT Module TCG 2.0 Protocol Encrypted Boot Partition EFI I/O EFI System Partition
TPM-sealed bootkey TPM-sealed rootkey
TPM
Image Executor Next-Stage Bootloader (e.g., Shim)