Spectre V2 — это новый вариант оригинальной атаки Spectre, обнаруженной группой исследователей группы VUSec из Амстердамского университета.
Исследователи также выпустили инструмент, который использует символическое выполнение для выявления уязвимых сегментов кода в ядре Linux.
Новое открытие подчеркивает проблемы баланса оптимизации производительности и безопасности, что усложняет устранение фундаментальных недостатков процессора даже через шесть лет после открытия оригинального Spectre.
Spectre против Linux
Спекулятивное выполнение — это метод оптимизации производительности, при котором современные процессоры угадывают, какие инструкции будут выполняться следующими, и начинают их реализовывать до того, как узнают, что они необходимы. Поскольку современные процессоры чрезвычайно мощны, они могут предсказывать несколько путей, по которым может пойти программа, и выполнять их одновременно.
Если одно из предположений оказывается верным, производительность приложения увеличивается. Если предположения неверны, ЦП отбрасывает предыдущую работу и продолжает работать как обычно, без изменения производительности.
Однако, хотя эта функция повышает производительность, она также создает угрозу безопасности, оставляя следы привилегированных данных в кэшах ЦП, к которым потенциально могут получить доступ злоумышленники.
Чувствительные данные могут включать пароли учетных записей, ключи шифрования, конфиденциальную личную или корпоративную информацию, код ПО и многое другое.
Существует два основных метода атаки:
- Внедрение целевой ветки (Branch Target Injection BTI) — включает манипулирование предсказанием ветвления ЦП для выполнения несанкционированных путей кода
- Внедрение истории ветвей (Branch History Injection, BHI), которое манипулирует историей ветвей, чтобы вызвать спекулятивное выполнение выбранных гаджетов (путей кода), что приводит к утечке данных.
Компания Intel уже присвоила идентификаторы CVE-2022-0001 и CVE-2022-0002 для BTI и BHI соответственно, а CVE-2024-2201 включает в себя новый эксплойт Spectre v2, который работает против ядра Linux.
Как сообщает Координационный центр CERT (CERT/CC), новая уязвимость CVE-2024-2201 позволяет неаутентифицированным злоумышленникам читать произвольные данные в памяти, используя спекулятивное выполнение, минуя существующие механизмы безопасности, предназначенные для изоляции уровней привилегий.
В сообщении CERT/CC говорится:
Злоумышленник, не прошедший проверку подлинности, может воспользоваться этой уязвимостью, чтобы добиться утечки привилегированной памяти из процессора, спекулятивно перейдя к выбранному гаджету.
Текущие исследования показывают, что существующие методы смягчения последствий, такие как отключение привилегированного eBPF и включение (Fine)IBT, недостаточны для остановки эксплуатации BHI против ядра/гипервизора
В видео продемонстрирован эксплойт новой уязвимости Spectre V2.
Текущие меры снижения риска направлены на изоляцию уязвимых гаджетов и устранение поверхности атаки. Однако исследователи VUSec с помощью своего специального инструмента анализа InSpectre Gadget продемонстрировали, что уязвимые для эксплойта гаджеты в ядре Linux все же остаются.
Microsoft выпустила обновленное руководство по устранению уязвимости CVE-2024-2201 в рамках обновлений безопасности, выпущенных во «Вторник Патчей», но меры по снижению риска отключены по умолчанию, чтобы пользователи и администраторы могли оценить результаты производительности.
Тем не менее, риск для дистрибутивов Linux сохраняется, и на ситуацию реагируют следующие затронутые организации:
- Illumos – На этой неделе планирую добавить меры по смягчению последствий BHI.
- Linux Foundation — готовится решение с помощью стандартной процедуры выявления уязвимостей оборудования, которой следует команда разработчиков ядра Linux.
- Red Hat — непривилегированный eBPF по умолчанию отключен в RHEL, поэтому в стандартных конфигурациях эту проблему невозможно использовать.
- SUSE Linux – подтвержденное влияние.
- Центр обработки данных Triton — рекомендуемое обновление до SmartOS 20240418.
- Xen – CERT/CC подтвердил подверженность.
Компания Intel обновила собственные рекомендации по снижению риска для Spectre v2 и теперь предлагает отключить непривилегированную функциональность расширенного фильтра пакетов Беркли (Extended Berkeley Packet Filter, eBPF), включить расширенную спекуляцию с ограничением косвенных ветвей (Enhanced Indirect Branch Restricted Speculation, eIBRS) и включить защиту выполнения в режиме супервизора (Supervisor Mode Execution Protection, SMEP).
Кроме того, Intel рекомендует добавлять инструкции LFENCE (Load Fence) в определенные места кода, чтобы они служили точками сериализации, и реализовывать программные последовательности, которые очищают буфер истории ветвей (BHB) для переходов между различными доменами безопасности.
Согласно Intel, будущие процессоры будут включать в себя меры по устранению BHI и, возможно, других уязвимостей спекулятивного выполнения.
Полный список процессоров Intel, на которые влияют различные спекулятивные недостатки побочного канала выполнения, можно найти на официальной странице вендора.
Linux: обзоры и обновления
• CachyOS: Декабрьский релиз 2024 с AutoFDO и поддержкой RustiCL для Mesa
• Wine 10.0-rc3: Исправлена 16-летняя ошибка многопоточности в играх World of Warcraft и Starcraft 2
• DXVK 2.5.2: Исправления для Alpha Protocol, The Sims 2, Borderlands 2 и других игр на Linux и Steam Deck
• OpenSUSE представляет YQPkg - новый графический менеджер пакетов на базе Qt
• Обновление Proton Experimental: Исправления для Final Fantasy XIV, Nioh и других игр на Steam Deck и Linux
• Обновления Linux за неделю: 9 – 15 декабря 2024 года