AMD выявила новый класс уязвимостей в своих процессорах Zen 3 и Zen 4

уязвимость

стало известно Информация о новой угрозе безопасности процессоров AMD с раскрытием техники микроархитектурной атаки крещен как TSA (Атака транзиентной спекуляции или атака транзиентного планировщика).

Атаки TSA представляют собой новый класс спекулятивных уязвимостей Эксплойты по сторонним каналам, использующие поведение процессора в определённых микроархитектурных условиях. Они основаны на анализе времени выполнения инструкции, что может раскрыть конфиденциальную информацию, когда процессор принимает неверные спекулятивные решения.

В определенных сценариях эта разница во времени может быть использована злоумышленником для получения данных, которые должны оставаться изолированными, что приводит к утечке информации, которая напрямую ставит под угрозу механизмы изоляции между процессами и уровнями привилегий.

Что такое TSA и как оно ставит под угрозу безопасность?

Атака временных спекуляций (TSA) использует спекулятивное исполнение и внутренние структуры Процессор для доступа к информации которые в нормальных условиях должны оставаться полностью изолированными между процессами или между гостевыми системами в виртуальной машине.

Атака основана на условии, известном как «ложное завершение». инструкции, когда процессор, предполагая, что определенные данные доступны (например, в кэше L1), преждевременно запускает спекулятивные операции, зависящие от результата этой инструкции.

В этом случае зависимые операции можно запланировать на выполнение до обнаружения ложного завершения. Поскольку загрузка не была завершена, связанные с ней данные считаются недействительными. Загрузка будет повторно запущена позже для успешного завершения, а все зависимые операции будут повторно запущены с действительными данными по мере готовности.

Если впоследствии обнаруживается, что информация была недоступна, операция прерывается и запускается заново, но спекулятивные операции уже оставляют следы времени, которые можно измерить с помощью анализа времени выполнения. Хотя эти операции не изменяют кэш или буфер TLB, они влияют на задержку последующих инструкций, позволяя косвенно извлекать конфиденциальную информацию.

Хотя недействительные данные, связанные с ложным завершением, могут быть переданы зависимым операциям, инструкции загрузки и сохранения, использующие эти данные, не будут пытаться извлечь данные или обновить состояние кэша или буфера TLB. Следовательно, значение этих недействительных данных невозможно определить с помощью стандартных методов промежуточных сторонних каналов.

CVE-2024-36350 и CVE-2024-36357

Были выявлены два конкретных варианта атаки TSA:

  • CVE-2024-36350 (TSA-SQ): Использование буфера записи (очереди сохранения), позволяющее вывести результат операций записи в память.
  • CVE-2024-36357 (TSA-L1): Использование кэша данных первого уровня (L1D), с помощью которого можно вывести информацию, обработанную на уровне ядра.

Эти уязвимости позволяют злоумышленнику обойти традиционные механизмы разделения пользователя и ядра или даже виртуальных машин, тем самым нарушая конфиденциальность данных, обрабатываемых в общих средах.

Какие процессоры затронуты?

Угроза затрагивает процессоры AMD на базе микроархитектуры Zen 3 и Zen 4. Она охватывает широкий спектр продуктов как для конечных пользователей, так и для центров обработки данных:

  • AMD Ryzen 5000, 6000, 7000 и 8000.
  • AMD EPYC Милан, Милан-X, Генуя, Генуя-X, Бергамо и Сиена.
  • AMD Instinct MI300A.
  • AMD Ryzen Threadripper PRO 7000 WX.
  • AMD EPYC Embedded 7003, 8004, 9004 и 97X4.
  • AMD Ryzen Embedded 5000, 7000 и V3000.

Тот факт, что TSA затрагивает столь значительную часть текущего каталога AMD, делает его риском безопасности высокого уровня.

Доступные меры смягчения и соображения

AMD разработала меры по смягчению последствий которые распространяются через обновления прошивки с декабря. Эти патчи включают корректировки прошивки PI. (Инициализация платформы) отправлена OEM-производителям, а также интегрируются в операционные системы и платформы виртуализации.

В случаеВ Linux были предложены патчи для ядра которые позволяют Отключите защиту с помощью параметра tsa=off в командной строке.s. Такая возможность предлагается, поскольку, хотя меры по смягчению последствий блокируют атаку, они также могут привести к снижению производительности системы.

Гипервизор Xen также включил меры по смягчению риск, исходящий от TSA, укрепляя свои позиции в борьбе с угрозами, нацеленными на инфраструктуру виртуализации.

TSA присоединяется к растущему списку атак, использующих спекулятивное исполнение к утечке конфиденциальных данных с оборудования, как это в своё время делали Meltdown, Spectre и другие их производные. Эта новая уязвимость подчёркивает сложность обеспечения безопасности в современных архитектурах, где производительность играет первостепенную роль благодаря таким оптимизациям, как прогнозирование инструкций.

Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.