Top.Mail.Ru
Secure Encrypted Virtualization (SEV) от AMD: как работает и зачем нужен серверам | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Скидка
за отзыв!
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Secure Encrypted Virtualization (SEV) от AMD: как работает и зачем нужен серверам

~ 15 мин
435
Средний
Статьи
Secure Encrypted Virtualization (SEV) от AMD: как работает и зачем нужен серверам

Введение

Виртуализация давно стала одним из основных видов использования вычислительных ресурсов дата-центров. Миллионам компаний жизненно необходимо арендовать вычислительные ресурсы для выполнения большинства бизнес-задач, а развитие сектора искусственного интеллекта еще больше увеличило спрос на виртуальные машины. Однако традиционные гипервизоры не могут гарантировать максимальную изоляцию виртуальных машин — атаки типа VM escape, когда злоумышленник выходит из виртуальной машины на уровень гипервизора, или получение доступа к хостовой системе и памяти ВМ, ставят под угрозу безопасность использования виртуализации. И эти угрозы вполне реальны — индустрия уже знает прецеденты, когда хакеры использовали уязвимость CacheWarp, меняя состояние защищенной виртуальной машины на процессорах EPYC первых поколений. Чтобы избежать повторения подобных ситуаций и защитить своих клиентов, компания AMD разработала собственную систему защиты ВМ — технологию Secure Encrypted Virtualization (SEV). В этой статье мы расскажем вам, что такое AMD SEV, как она работает и какие разновидности SEV существуют, а также сравним эту технологию с аналогами от Intel и ARM-чипмейкеров.

Что такое Secure Encrypted Virtualization простыми словами?

SEV — это технология 2016 года выпуска, встроенная в процессоры AMD EPYC, которая аппаратно шифрует память виртуальной машины на уровне контроллера памяти. Каждая виртуальная машина получает уникальный ключ шифрования с алгоритмом AES-128, который генерируется и хранится внутри специального, защищенного сопроцессора — AMD Secure Processor. Данные ВМ шифруются при записи в DRAM и расшифровываются при чтении, при этом сохраняя полную прозрачность для операционной системы и приложений. Использование SEV жизненно важно для серверов публичных облаков на базе процессоров AMD EPYC, где гипервизор управляется напрямую провайдером. SEV гарантирует, что даже при компрометации гипервизора или физическом доступе к серверу данные пользователей виртуальных машин останутся защищенными.

Модель обеспечения защиты технологии AMD SEV
Как технология AMD SEV обеспечивает безопасность в сравнении с работой традиционной модели виртуализации. Источник: Anandtech

Как работает SEV?

Разберемся, как реализуется технология AMD SEV с технической точкой зрения:
  • Шифровальные движки в процессорах: Начиная с архитектуры Zen (EPYC Naples), каждый CPU включает в себя контроллер памяти с аппаратными движками шифрования AES. Они выполняют шифрование/дешифрование данных на лету при передаче между кэшем процессора и DRAM.
  • Уникальные ключи на ВМ: При запуске виртуальной машины AMD Secure Processor генерирует для нее уникальный ключ шифрования, недоступный гипервизору. Он хранится в изолированном сопроцессоре AMD Secure Processor, расположенном непосредственно в CPU, и уничтожается при остановке виртуальной машины.
  • Прозрачное шифрование: Гипервизор управляет распределением памяти, но не может прочитать ее содержимое — все данные виртуальной машины видны ему как случайные данные.
  • Аттестация: SEV позволяет проверить целостность среды выполнения, подтверждая, что виртуальная машина запущена на надежном, защищенном оборудовании с корректными настройками.
Схема работы технологии AMD SEV и ее взаимодействие с компонентами системы
Схема работы технологии AMD SEV в вычислительной системе и ее взаимодействие с программными/аппаратными компонентами. Источник: Wikichip.

Разновидности SEV: SEV, SEV-ES и SEV-SNP

Чтобы обеспечить максимальную безопасность виртуальных машин на разных уровнях, AMD разработала сразу несколько видов технологии SEV. Рассмотрим, в чем их отличия:
  • SEV (базовый): Шифрует только основную память ВМ. Гипервизор все еще может читать регистры CPU, например, при прерываниях работы виртуальной машины, что оставляет риск утечки данных, но делает работу ВМ более стабильной.
  • SEV-ES (Encrypted State): Добавляет шифрование состояния регистров CPU при событиях VMEXIT, когда ВМ передает управление гипервизору. Это позволяет блокировать атаки на регистры через инъекцию исключений.
  • SEV-SNP (Secure Nested Paging): Вводит контроль целостности памяти, защищая от replay-атак и модификации таблиц страниц гипервизором. Также изолирует кэш процессора между разными виртуальными машинами. Активно используется в наиболее крупных облачных инфраструктурах, где требуется максимальная изоляция виртуальных машин клиентов.
Вариации технологии AMD SEV
Отличия разных слоев защиты AMD SEV. Источник: AMD.

Преимущества SEV для корпоративных и облачных инфраструктур

Как мы выяснили, минимизация доверия к гипервизору — это ключевое преимущество технологии SEV. В публичных облаках, где провайдер управляет гипервизором, клиенты не могут в полной мере быть уверенными в конфиденциальности своих данных. SEV решает эту проблему, шифруя память каждой виртуальной машины уникальным ключом, генерируемым внутри AMD Secure Processor. Даже при компрометации гипервизора или физическом доступе к серверу данные остаются недоступными, что критически важно для соблюдения стандартов GDPR, HIPAA и ISO 27001 в гетерогенных средах. Еще одно преимущество SEV и, в частности, SEV-SNP — защита от атак уровня хоста, которые являются основной причиной кражи конфиденциальных данных в виртуальных машинах. SEV-SNP полностью исключает возможность извлечения данных из ВМ, даже если злоумышленники получили физический доступ к серверу облачного провайдера, например, в Azure Confidential Computing SEV-SNP обеспечивает изоляцию арендаторов даже при использовании общих физических ресурсов. SEV также имеет весьма неочевидное преимущество — код приложений не нужно адаптировать для защиты данных ВМ. В отличие от решений вроде Intel SGX, где требуется переписывание кода под изолированные окружения, SEV работает на уровне всей виртуальной машины. Это ускоряет внедрение в существующие инфраструктуры без дополнительных затрат на разработку.

Аппаратная и программная совместимость

Хотя технология SEV не нова, некоторые компоненты и программное обеспечение не поддерживают разновидности SEV или полностью несовместимы с этой технологией. Чтобы исключить возможные казусы, рассказываем об аппаратной и программной совместимости AMD SEV:
  • Процессоры: Поддержка начинается с EPYC Naples (SEV), расширяется в Rome (SEV-ES) и Milan (SEV-SNP). Процессоры EPYC Genoa и Turin также поддерживают технологию SEV-SNP. Процессоры других компаний, таких как Intel и Nvidia, не поддерживают технологию SEV на аппаратном уровне.
  • Гипервизоры: Нативная реализация в KVM (Linux 5.11+), Xen (4.17+), VMware vSphere (7.0 U1+). Для Windows Hyper-V поддержка не предусмотрена.
  • Операционные системы ВМ: Linux (ядро 5.15+), Windows Server 2022 (с ограничениями), BSD. Требуются UEFI-прошивки (OVMF) и отключение устаревших компонентов (например, iPXE ROM).
  • Инструменты: Открытые утилиты sev-tool, libvirt API, QEMU для управления ключами шифрования и проверки виртуальных машин.
Возможности технологии AMD SEV
Возможности технологии AMD SEV и схема ее взаимодействия с системой. Источник: AMD.

Сравнение с аналогами Intel и ARM-чипмейкеров

Поскольку SEV является сугубо проприетарной технологией, реализуемой с помощью аппаратных компонентов CPU AMD, другим производителям центральных процессоров недоступна эта система обеспечения безопасности виртуальных машин. Вследствие этого компаниям приходится использовать собственные аналоги SEV, которые во многом уступают технологии. Рассмотрим аналоги технологии SEV на примере компании Intel, а также объясним, как функция защиты ВМ реализуется в ARM-процессорах:
  • Intel SGX и TDX: технология SGX изолирует отдельные приложения, а не всю виртуальную машину, что требует переписывания ПО системы, накладывает ограничения на масштабируемость. Intel TDX является почти полным аналогом SEV-SNP, но требует глубокой интеграции с гипервизором, вследствие чего не может обеспечить полную изоляцию виртуальных машин.
  • Arm CCA (Confidential Compute Architecture): Специальная разработка компании ARM, которая использует аппаратную изоляцию Realm Management Extension (RME). Совместим только с процессорами на архитектуре Armv9 и выше. Работает на уровне целых ВМ без модификации приложений, проще внедряется в существующие инфраструктуры, обеспечивая тот же уровень защиты, чем AMD SEV-SNP.
Как работает Intel SGX
Описание технологии Intel SGX. Источник: Tweaktown.

Выводы

Безопасность виртуальных машин всегда была и остается главным приоритетом в эпоху облачных сред виртуализации, но если программная защита не может обеспечить максимальный уровень надежности, то аппаратные средства, такие как AMD SEV, способны полностью исключить кражу конфиденциальных данных ВМ. Несмотря на периодически обнаруживаемые уязвимости, вроде CacheWarp или CVE-2024-56161, AMD оперативно выпускает патчи с устранением брешей в обороне, и даже базовая модель доверия SEV остается крайне надежным методом обеспечения безопасности ВМ, что побуждает владельцев облачных сред отдавать предпочтения именно решениям AMD.

Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-19:00 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-19:00 (по МСК)