Аппаратная защита вместо софта
Инженеры AMD отправили в мейнстрим Linux-ядра патчи для поддержки Enhanced SMT Protection (ESMTP). В отличие от существующего планировщика ядра (core scheduling), который полагается на программные политики хоста, ESMTP обеспечивает безопасность на уровне железа. Функция гарантирует, что если один из потоков SMT (Simultaneous Multi-Threading) физического ядра работает в режиме гостя (guest mode), то второй поток-близнец либо находится в режиме ожидания (idle) хоста, либо выполняет задачи легитимного виртуального процессора (vCPU) того же гостя.
Это критически важно для устранения уязвимостей side-channel атак, возникающих при совместном использовании ресурсов ядра между доверенным гостем и недоверенным хостом или другим гостем. Маска близнецов (sibling mask) теперь хранится в VMSA (Virtual Machine Save Area), и хост-ядро больше не может запускать произвольные прерывания или пользовательские процессы на соседнем потоке, пока активен защищенный vCPU.
Технические детали и требования
ESMTP работает исключительно в связке с технологией шифрования памяти Secure Encrypted Virtualization - Secure Nested Paging (SEV-SNP). Для работы требуется поддержка как в ядре Linux, так и в эмуляторе QEMU, а также в прошивке OVMF. Виртуальные машины KVM и сам гость совместно устанавливают маску VCPU_SIBLING_MASK, группируя все vCPU гостя в одну группу, что позволяет им безопасно сосуществовать на одном физическом ядре.
Производительность и статус внедрения
Функция не включена по умолчанию, так как несет измеримые накладные расходы. При переключении контекста процессор может простаивать (VMRUN stalls), пока соседний поток не выполнит работу доверенного vCPU или не перейдет в состояние idle. Поэтому ESMTP позиционируется как опция «по запросу» (opt-in) для сценариев с высокими требованиями к безопасности, таких как публичные облачные развертывания или запуск недоверенных рабочих нагрузок.
Сравнение подходов к изоляции SMT
| Характеристика | Core Scheduling (Linux) | Enhanced SMT Protection (ESMTP) |
|---|---|---|
| Уровень enforcement | Программный (политика хост-ядра) | Аппаратный (железо AMD EPYC) |
| Доверие к хосту | Хост контролирует расписание | Хост не может запускать произвольный код на соседнем потоке |
| Хранение маски | В структуре планировщика | В VMSA (Virtual Machine Save Area) |
| Зависимость от SEV-SNP | Не обязательна | Обязательна |
| Влияние на производительность | Минимальное (плановое) | Заметное (stalls при VMRUN) |
Аппаратная база: EPYC 9006 "Venice"
Хотя спецификация ESMTP была опубликована в белом документе AMD ранее в 2026 году, именно сейчас начинается активная интеграция в стек. Ожидается, что данная функция станет ключевой особенностью серверных процессоров AMD EPYC 9006 серии "Venice". Патчи также включают необходимые изменения для QEMU и OVMF, что указывает на готовность экосистемы виртуализации к поддержке нового стандарта безопасности.
Источник: Phoronix ↗
