Zenbleed — уязвимость, затрагивающая процессоры AMD Zen 2.

уязвимость

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

Несколько дней назад а Исследователь группы безопасности Google, освобожден новости, которые я обнаруживаю уязвимость (уже указан в CVE-2023-20593) на процессорах АМД на основе микроархитектуры Zen2, которую можно использовать для обнаружения регистров, когда другие процессы выполняются на том же ядре ЦП.

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

Проблема возникает с AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 с графикой Radeon, Ryzen PRO 4000, Ryzen 5000 с графикой Radeon, Ryzen 7020 с графикой Radeon и серия процессоров ЭПИК 7002.

Об уязвимости упоминается потому, что в процессорах для хранения содержимого регистров используется регистровый файл (RF, Register File), представляющий собой схему, общую для всех задач в одном ядре. Процессор. Таблица размещения записей (RAT) отвечает за присоединение записей с определенными именами к ресурсам файла журнала. В этом случае нулевое значение сохраняется в регистре не за счет сохранения пустого значения в регистровом файле, а путем установки z-битного флага в таблице RAT.

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

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

Манипулируя инструкцией VZEROUPPER, можно добиться управляемой утечки обработанных данных в векторных регистрах YMM, используемых в режимах AVX (Advanced Vector Extensions) и SSE (Streaming SIMD Extensions). Эти регистры активно используются в функциях копирования памяти и обработки строк, например в библиотеке Glibc они используются в функциях memcpy, strcmp и strlen.

Для демонстрации уязвимости под кодовым названием Zenbleed, подготовлен прототип эксплойта который позволяет непривилегированному пользователю определить данные, обрабатываемые в инструкциях AES-NI или REP-MOVS (обычно используемые в функции memcpy), которые могут быть использованы для восстановления ключей шифрования и паролей пользователей, обрабатываемых в других процессах, в том числе привилегированных. Производительность эксплойта по утечке данных составляет примерно 30 КБ в секунду.

Уязвимость исправлено на уровне обновления микрокода. Для Linux подготовлен патч для загрузки исправленного микрокода. Хотя если нет возможности обновить микрокод, есть обходной путь для блокировки уязвимости, что приводит к снижению производительности.

Для этого в ЦП должен быть сконфигурирован управляющий бит DE_CFG[9] и для этого в терминале должна быть введена следующая команда:

Стоит отметить, что отключение режима SMT не блокирует уязвимость, и исправление для блокировки уязвимости было реализовано в обновлениях ядра 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 и 4.19.289.

Для заинтересован в отслеживании информации об уязвимостях в разных дистрибутивах это можно сделать на следующих страницах: DebianUbuntuGentooRHELSUSEFedoraАркаOpenBSDFreeBSDNetBSD.

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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.