Компания AMD предупредила о выявлении двух методов атаки, позволяющих обойти механизм защиты AMD SEV (Secure Encrypted Virtualization). Проблема затрагивает первое, второе и третье поколения процессоров AMD EPYC (на базе микроархитектуры Zen1 – Zen3), а также встраиваемые процессоры AMD EPYC.
AMD SEV на аппаратном уровне обеспечивает прозрачное шифрование памяти виртуальных машин, при котором доступ к расшифрованным данным имеет только текущая гостевая система, а остальные виртуальные машины и гипервизор при попытке обращения к этой памяти получают зашифрованный набор данных. Выявленные проблемы позволяют атакующему, имеющему право администратора на сервере и контролирующему работу гипервизора, обойти ограничения AMD SEV и выполнить свой код в контексте защищённых виртуальных машин.
Выявленные проблемы:
- CVE-2021-26311 (атака undeSErVed) – через манипуляцию с изменением порядка следования блоков памяти в адресном пространстве гостевой системы при наличии контроля над гипервизором можно выполнить свой код в гостевой виртуальной машине, несмотря на применение защиты AMD SEV/SEV-ES. Исследователями подготовлен прототип универсального эксплоита, перегруппирующего блоки
загруженного UEFI и использующего приёмы возвратно-ориентированного программирования (ROP – Return-Oriented Programming) для организации выполнения произвольного кода. - CVE-2020-12967 (атака SEVerity) – отсутствие должной защиты вложенных таблиц страниц памяти в AMD SEV/SEV-ES позволяет при наличии доступа к гипервизору организовать подстановку кода в ядро гостевой системы и организовать передачу управления данному коду. Метод позволяет получить полный контроль над защищённой гостевой системой и извлечь из неё конфиденциальные данные.
Для противодействия предложенным методам атаки компания AMD подготовила расширение SEV-SNP (Secure Nested Paging), доступное в форме обновления прошивки для третьего поколения процессоров AMD EPYC и обеспечивающее безопасную работу со вложенными таблицами страниц памяти. В дополнение к общему шифрованию памяти и расширению SEV-ES (Encrypted State), защищающему регистры CPU, в SEV-SNP реализованы дополнительные средства для защиты целостности памяти, способные противостоять атакам со стороны гипервизоров и обеспечивающие дополнительную защиту от атак по сторонним каналам.