Indirector: новый вектор атаки затрагивает современные процессоры Intel

Indirector: новый вектор атаки затрагивает современные процессоры Intel

Indirector: новый вектор атаки затрагивает современные процессоры Intel

Современные процессоры Intel — например, 12 и 13 поколение Raptor Lake и Alder Lake — уязвимы для нового вектора инъекции целевой линии (branch target injection), получившего название «Indirector». В случае его эксплуатации злоумышленники могут слить конфиденциальные данные из CPU.

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

На Indirector указали специалисты Калифорнийского университета в Сан-Диего. Они же обещают представить все подробности атаки на предстоящем мероприятии USENIX Security Symposium, запланированном на август 2024 года.

Indirect Branch Predictor предназначена для прогнозирования целевых адресов косвенных линий, для чего используется информация о прошлых выполнениях. Branch Target Buffer, в свою очередь, прогнозирует целевые адреса прямых линий через структуру кеша.

 

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

Отталкиваясь от этих вводных, Indirector проводит атаку с помощью трёх основных подходов:

  • iBranch Locator — специально подготовленный инструмент, который может идентифицировать индексы и теги целевых линий и точно определить IBP-записи для конкретных линий.
  • Инъекция IBP/BTB. Осуществляет внедрения в структуры прогнозирования для спекулятивного выполнения кода.
  • Обход ASLR. Прерывает рандомизацию размещения адресного пространства (Address Space Layout Randomization, ASLR) с помощью точного определения местоположения косвенных линий и их целей. Этот подход упрощает прогнозирование и управление потоком контроля защищённых процессов.

Известно, что Indirector (PDF) работает против процессоров семейств Raptor Lake и Alder Lake. На GitHub эксперты разместили код демонстрационного эксплойта.

Старая уязвимость в telnetd вернулась спустя 27 лет

Уязвимость из конца 90-х неожиданно вернулась и снова позволяет получить полный root-доступ к серверу без аутентификации. Об этом рассказал исследователь в области кибербезопасности Джастин Шварц, проанализировавший проблему в telnetd — демоне устаревшего, но всё ещё используемого протокола Telnet.

По словам Шварца, речь идёт о фактическом «возрождении» CVE-1999-0073 — известной уязвимости, которую многие давно считали закрытой страницей в истории.

Однако в современных реализациях обнаружился схожий механизм, позволяющий обойти проверку подлинности и повысить права. Проблема кроется в том, как telnetd запускает процесс /bin/login в контексте root-to-root.

В таком режиме ядро выставляет флаг AT_SECURE в ноль. А это значит, что динамический линкер не переходит в защищённый режим исполнения. В результате ответственность за очистку переменных окружения ложится на сам telnetd. Именно в этот момент, по словам исследователя, всё идёт не так.

Если демон не фильтрует переменные окружения должным образом, атакующий может подменить их и заставить систему загрузить вредоносную библиотеку (shared object). Шварц продемонстрировал технику повышения привилегий, при которой создаётся копия /bin/sh с SUID/SGID-правами. Фактически это даёт полный контроль над системой.

Ключевой момент: для эксплуатации не требуется никакой аутентификации через telnet. Повышение привилегий происходит без входа в систему.

Шварц считает, что проблема связана с давним подходом к фильтрации и использованием «чёрных списков» переменных. Такой метод, по его мнению, оказался ненадёжным и оставлял лазейки почти 27 лет. В качестве решения он предлагает перейти к модели «белого списка», как это реализовано в OpenSSH, где разрешён строго ограниченный набор безопасных переменных.

Шварц также предлагает объединить проблему в единый CVE с формулировкой «Некорректная очистка среды окружения в telnetd», чтобы закрыть как старые векторы, так и новый сценарий с динамическим линкером.

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

Напомним, в пролом месяце мы писали про ещё критическую уязвимость в telnetd, которая жила почти 10 лет и давала root-доступ.

RSS: Новости на портале Anti-Malware.ru