Ошибка в Linux 6.2 позволяла обойти защиту от атак Spectre v2

уязвимость

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

Недавно появилась информация о обнаружена уязвимость в ядре Linux 6.2 (уже в списке CVE-2023-1998) и выделяется тем, что отключить защиту от атак Spectre v2 которые разрешают доступ к памяти другим процессам, работающим в разных потоках SMT или Hyper-Threading, но на том же физическом ядре процессора.

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

Для тех, кто не знает о Spectre, им следует знать, что это является одной из двух исходных уязвимостей ЦП с временным выполнением. (другой — Meltdown), которые включают микроархитектурные атаки по побочным каналам. Это влияет на современные микропроцессоры, которые выполняют прогнозирование скачков и другие формы спекуляций.

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

С момента раскрытия информации о Spectre и Meltdown в январе 2018 года появилось несколько вариантов и новых типов связанных с ними уязвимостей.

Ядро Linux позволяет пользовательским процессам включать средства защиты, вызывая prctl с параметром PR_SET_SPECULATION_CTRL, который отключает функцию спецификации, а также с помощью seccomp. Мы обнаружили, что на виртуальных машинах как минимум одного крупного облачного провайдера ядро ​​по-прежнему оставляло процесс-жертву открытым для атаки в некоторых случаях, даже после включения защиты от Spectre-BTI с помощью prctl. 

Относительно уязвимости упоминается, что в пользовательском пространстве, для защиты от атак Спектра, процессы могут выборочно отключать выполнение спекулятивные инструкции с prctl PR_SET_SPECULATION_CTRL или используйте фильтрацию системных вызовов на основе seccomp.

По мнению исследователей, выявивших проблему, некорректная оптимизация в ядре 6.2 левых виртуальных машин как минимум от одного крупного облачного провайдера без надлежащей защиты несмотря на включение режима блокировки атак Spectre-BTI через prctl. Уязвимость проявляется и на обычных серверах с ядром 6.2, которые запускаются с конфигурацией "spectre_v2=ibrs".

Суть уязвимости заключается в том, что при выборе режимов защиты IBRS или eIBRS, проведенные оптимизации отключили использование механизма STIBP (Single Thread Indirect Branch Predictors), необходимого для блокировки утечек при использовании технологии Simultaneous Multi-Threading (SMT или Hyper-Threading). )

В свою очередь, только режим eIBRS обеспечивает защиту от утечек между потоками, а не режим IBRS, так как при нем бит IBRS, обеспечивающий защиту от утечек между логическими ядрами, сбрасывается из соображений производительности, когда управление возвращается к пользователю пространства, что делает потоки пользовательского пространства, незащищенные от атак класса Spectre v2.

Тест состоит из двух процессов. Злоумышленник постоянно отравляет непрямой вызов, чтобы спекулятивно перенаправить его на адрес назначения. Процесс-жертва измеряет неправильную скорость предсказания и пытается смягчить атаку, вызывая PRCTL или записывая в MSR напрямую, используя модуль ядра, который предоставляет операции чтения и записи MSR в пользовательском пространстве.

Проблема затрагивает только ядро ​​Linux 6.2. и связано с некорректной реализацией оптимизаций, призванных снизить значительные накладные расходы при применении защиты от Spectre v2. уязвимость Исправлено в экспериментальной ветке ядра Linux 6.3.

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


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

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

*

*

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

  1.   Deiki сказал

    Те, у кого параметр ядра mitigations=off:

    Прекрасные господа 👌😎🔥