Уязвимость в механизме спекулятивного выполнения инструкций процессоров AMD

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
10-Мар-2022 18:30

Проект Grsecurity опубликовал детали и демонстрацию метода атаки для новой уязвимости (CVE-2021-26341) в процессорах AMD, связанной со спекулятивным выполнением инструкций после операций безусловного прямого перехода. В случае успешного проведения атаки уязвимость позволяет определить содержимое произвольных областей памяти. Например, исследователями подготовлен эксплоит, позволяющий определить раскладку адресов и обойти механизм защиты KASLR (рандомизация памяти ядра) через выполнение непривилегированного кода в подсистеме ядра ePBF. Не исключены и другие сценарии атак, которые могут привести к утечке содержимого памяти ядра.
Уязвимость позволяет создать условия, при которых процессор в ходе упреждающего выполнения спекулятивно обработает инструкцию, следующую в памяти сразу за командой перехода (SLS, Straight Line Speculation). При этом подобная оптимизация срабатывает не только для операторов условного перехода, но и для инструкций подразумевающих прямой безусловный переход, таких как JMP, RET и CALL. Следом за инструкциями безусловного перехода могут размещаться в том числе произвольные данные, не предназначенные для исполнения.
После определения того, что переход не подразумевает выполнение следующей инструкции, процессор просто откатывает состояние и не учитывает спекулятивное выполнение, но след от выполнения инструкции остаётся в общем кэше и доступен для анализа с использованием методов извлечения по сторонним каналам.
Как и при эксплуатации уязвимости Spectre-v1 для осуществления атаки требуется наличие в ядре определённых последовательностей инструкций (гаджетов), приводящих к спекулятивному выполнению. Блокирование уязвимости при этом сводится к выявлению подобных гаджетов в коде и добавлению в них дополнительных инструкций, блокирующих спекулятивное выполнение. Условия для спекулятивного выполнения также могут быть созданы при помощи непривилегированных программ, выполняемых в виртуальной машине eBPF. Для блокирования возможности конструирования гаджетов при помощи eBPF рекомендуется запретить непривилегированный доступ к eBPF в системе ("sysctl -w kernel.unprivileged_bpf_disabled=1").
Уязвимость затрагивает процессоры на базе микроархитектуры Zen1 и Zen2, включая первое и второе поколения процессоров AMD EPYC и AMD Ryzen Threadripper, а также процессоры AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Ryzen Threadripper PRO и APU серии A. Для блокирования спекулятивного выполнения инструкций рекомендовано вызывать инструкции INT3 или LFENCE после операций ветвления (RET, JMP, CALL).
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_amd, #_spectre
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 03:15
Часовой пояс: UTC + 5