Yandex
Обновить настройки cookies

Процессоры Intel уязвимы перед атакой Indirector

Процессоры от Intel, включая семейства Alder Lake и Raptor Lake, столкнулись с новым видом атаки под названием Indirector. Этот метод применяется для кражи конфиденциальной информации.

Ученые Калифорнийского университета из Сан-Диего исследовали его. Детали будут обнародованы на конференции USENIX Security Symposium 08/2024 года. Атаки представляют угрозу для Intel Raptor Lake и Alder Lake, 12-го и 13-го поколения процессоров Core. Intel сообщила о  проблеме уже 02/2024 года и разослала уведомления про Indirector другим производителям оборудования и ПО.

Indirector использует уязвимости в Indirect Branch Predictor (IBP) и Branch Target Buffer (BTB) - двух ключевых компонентах аппаратуры процессоров Intel, манипулируя спекулятивным выполнением для извлечения данных.

Исследователи выявили проблемы в функционировании систем IBP и BTB, связанные с процессами индексации, тегирования и обмена данными. Кроме того, системы имеют прогнозируемую структуру, и это является еще одной "лазейкой" для злоумышленников.

Indirector использует несколько методов для проведения атак:
  • Кастомный инструмент iBranch Locator, который определяет индексы и теги ветвей-жертв и точно находит записи IBP для определенных ветвлений.
  • Направленные инъекции IBP/BTB для спекулятивного выполнения кода.
  • Нарушение механизма ASLR (Address Space Layout Randomization) путем определения точного расположения косвенных переходов и их целей, что облегчает предсказание и манипуляции потоком управления защищенных процессов.
Злоумышленники могут использовать side-channel атаки на кеш, измеряя время доступа, чтобы получать информацию о данных, с которыми работает процессор.

Есть два ключевых метода защиты от Indirector: активное применение Indirect Branch Predictor Barrier (IBPB) и усиление Branch Prediction Unit (BPU) с использованием более сложных механизмов тегирования, шифрования и рандомизации. Однако такие меры могут существенно влиять на производительность, особенно в случае использования IBPB, поэтому необходимо тщательно настраивать баланс между безопасностью и производительностью.

IBPB в Linux  включается автоматически при переходе в режим SECCOMP или при выполнении задач с ограниченными косвенными переходами в ядре, при этом на 50% снижается производительность. На GitHub доступны proof-of-concept и инструменты для реализации описанных выше видов защиты.
04 Jul 2024, 19:41:46