Они обнаружили уязвимость спекулятивного выполнения, которая затрагивает AMD

Недавно проект Grsecurity стала известна благодаря публикации подробности и демо способ атаки на новую уязвимость (уже указано как CVE-2021-26341) в процессорах AMD, связанных с выполнением спекулятивных инструкций после безусловных операций перехода вперед.

Уязвимость позволяет процессору спекулятивно обрабатывать инструкция сразу после инструкции перехода (SLS) в памяти во время спекулятивного выполнения. При этом такая оптимизация работает не только для операторов условного перехода, но и для инструкций, предполагающих прямой безусловный переход, таких как JMP, RET и CALL.

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

AMD предоставляет обновление для рекомендуемого средства защиты G-5 в техническом документе «Методы программного обеспечения для управления спекуляциями в процессорах AMD». Смягчение G-5 помогает устранить потенциальные уязвимости, связанные со спекулятивным поведением инструкций ветвления.

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

Как и в случае с эксплуатацией Spectre-v1, атака требует наличия определенных последовательностей инструкций (гаджетов) в ядре, что приводит к спекулятивному выполнению.

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

В результате расследования была обнаружена новая уязвимость CVE-2021-26341. [1] , о которых мы подробно поговорим в этой статье. Как обычно, мы сосредоточимся на технических аспектах уязвимости, мерах по ее устранению, предложенных AMD, и аспектах эксплуатации.

Чтобы заблокировать возможность сборки устройств с помощью eBPF, рекомендуется отключить непривилегированный доступ к eBPF в системе ("sysctl -w ядро. непривилегированный_bpf_disabled = 1«).

Уязвимость затрагивает процессоры на базе микроархитектуры Zen1 и Zen2:

Стол

  • Процессор AMD Athlon™ X4
  • Процессор AMD Ryzen™ Threadripper™ PRO
  • Процессоры AMD Ryzen™ Threadripper™ XNUMX-го поколения
  • Процессоры AMD Ryzen™ Threadripper™ XNUMX-го поколения
  • APU AMD A-серии XNUMX-го поколения
  • Процессоры AMD Ryzen™ серии 2000 для настольных ПК
  • Процессоры AMD Ryzen™ серии 3000 для настольных ПК
  • Процессоры AMD Ryzen™ серии 4000 для настольных ПК с графикой Radeon™

Мобильный

  • Мобильный процессор AMD Ryzen™ серии 2000
  • Мобильные процессоры AMD Athlon™ серии 3000 с графикой Radeon™
  • Мобильные процессоры AMD Ryzen™ серии 3000 или мобильные процессоры AMD Ryzen™ XNUMX-го поколения с графикой Radeon™
  • Мобильные процессоры AMD Ryzen™ серии 4000 с графикой Radeon™
  • Мобильные процессоры AMD Ryzen™ серии 5000 с графикой Radeon™

Chromebook

  • Мобильные процессоры AMD Athlon™ с графикой Radeon™

Сервер

  • Процессоры AMD EPYC™ первого поколения
  • Процессоры AMD EPYC™ XNUMX-го поколения

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

Из-за этой уязвимости может оказаться возможным идентифицировать безопасные конструкции кода, которые формируют ограниченные, но потенциально пригодные для эксплуатации устройства SLS на уязвимых процессорах. Как показано на примере eBPF, уязвимость также можно использовать с помощью самодельных устройств с самоинъекцией. Представленный метод можно использовать, например, для взлома KASLR mitigation ядра Linux.

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

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


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

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

*

*

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