AMD SEV (Безопасная Зашифрованная Виртуализация) шифрует память VM с помощью ключей для каждой VM, защищая её от гипервизора. SEV-ES расширяет это до состояния регистров CPU, в то время как SEV-SNP добавляет проверки владения памятью, чтобы предотвратить злобные гипервизоры от переназначения частных страниц. SNP позволяет гостям запрашивать подписанные отчеты от безопасного процессора AMD, проверяя состояние запуска и конфигурацию. В Google Cloud, хост загружает прошивку и программное обеспечение для загрузки—including Coconut SVSM для защищённых служб, таких как виртуальный TPM—перед запуском SNP. Процесс использует команды SNP_LAUNCH_START, SNP_LAUNCH_UPDATE и SNP_LAUNCH_FINISH, сохраняя SHA-384 хеш изображения. При удалённой атестации проверяющая сторона сравнивает этот отпечаток с ожидаемыми значениями. Ядро Linux exposes SNP через /dev/sev-guest, позволяя приложениям получать отчеты, используя ioctl SNP_GET_REPORT с указанными уровнями привилегий VMPL (0-3).
Источник: Hacker News · Сводку подготовил HeadlinesBriefing