BHI: новая уязвимость класса Spectre, затрагивающая Intel и ARM

Исследователи из Свободного университета Амстердама сделал известным недавно нашел один новая уязвимость, являющаяся расширенной версией уязвимости Spectre-v2 на процессорах Intel и ARM.

Эта новая уязвимость, к которой крестили как BHI (Внедрение истории ветвей, CVE-2022-0001), BHB (Буфер истории ветвей, CVE-2022-0002) и Spectre-BHB (CVE-2022-23960), позволяет обойти механизмы защиты eIBRS и CSV2, добавленные в процессоры.

Уязвимость описана в разных проявлениях одной и той же проблемы, так как BHI — это атака, затрагивающая разные уровни привилегий, например, пользовательский процесс и ядро, а BHB — атака на одном уровне привилегий, например, eBPF JIT и ядро.

Об уязвимости

Концептуально, BHI — это расширенный вариант атаки Spectre-v2., в котором для обхода дополнительной защиты (Intel eIBRS и Arm CSV2) и оркестровки утечки данных подмена значений в буфере глобальной историей ветвлений (Branch History Buffer), которая используется в ЦП для повышения точности предсказания ветвлений с учетом истории прошлых переходов.

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

За исключением использования буфера истории версий вместо буфера целевой версии, новая атака идентична Spectre-v2. Задача злоумышленника — создать такие условия, чтобы адрес, при выполнении спекулятивной операции берется из области определяемых данных.

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

Исследователи продемонстрировали функциональный эксплойт, который позволяет пользовательскому пространству извлекать произвольные данные из памяти ядра.

Например, показано, как с помощью подготовленного эксплойта можно извлечь из буферов ядра строку с хешем пароля пользователя root, загруженного из файла /etc/shadow.

Эксплойт демонстрирует возможность использования уязвимости в рамках одного уровня привилегий (атака между ядрами) с помощью загружаемой пользователем программы eBPF. Также не исключается возможность использования в коде ядра существующих гаджетов Spectre, скриптов, приводящих к спекулятивному выполнению инструкций.

Уязвимость появляется на большинстве современных процессоров Intel, за исключением семейства процессоров Atom и нескольких процессоров ARM.

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

Чтобы блокировать атаки через подсистему eBPF,Рекомендуется отключить по умолчанию возможность загрузки программ eBPF непривилегированными пользователями, записав 1 в файл «/proc/sys/kernel/unprivived_bpf_disabled» или выполнив команду «sysctl -w kernel .uncitationd_bpf_disabled=1».

Чтобы блокировать атаки через гаджеты, рекомендуется использовать инструкцию LFENCE в разделах кода, которые потенциально могут привести к спекулятивному выполнению. Примечательно, что стандартная конфигурация большинства дистрибутивов Linux уже содержит необходимые меры защиты, достаточные для блокировки продемонстрированной исследователями атаки eBPF.

Рекомендации Intel по отключению непривилегированного доступа к eBPF также применяются по умолчанию, начиная с ядра Linux 5.16, и будут перенесены на более ранние ветки.

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


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

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

*

*

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