Исследователи VUSec раскрыли атаку Spectre v2 BTR, затрагивающую процессоры Intel, AMD и Arm

Материал подготовлен искусственным интеллектом на основе нескольких источников — ссылки на оригиналы приведены ниже.
Исследователи из VUSec и Scuola Superiore Sant'Anna раскрыли новый вариант Spectre v2 — Branch Target Reuse (BTR), затрагивающий процессоры Intel, AMD и Arm. Атака использует устаревшие записи предсказания переходов в JIT-движках для утечки конфиденциальных данных, включая хэш пароля root на полностью обновлённых системах Linux. Демонстрационные эксплойты обеспечивают утечку 8 байт в секунду и обходят стандартные меры защиты.
Ключевые факты
- Атака BTR затрагивает JIT-движки в Linux cBPF, Oracle GraalVM и SpiderMonkey браузера Mozilla Firefox.
- Два сквозных эксплойта против ядра Linux позволяют получить хэш пароля root в течение нескольких минут на полностью обновлённой системе Intel со стандартными настройками защиты.
- Эксплойт обеспечивает утечку 8 байт в секунду, что, по словам исследователей, достаточно для доступа к секретным данным при аккуратном обходе указателей.
- Mozilla ещё не завершила внедрение изоляции сайтов в Firefox, что повышает риск атак через браузер.
Механизм атаки
BTR использует особенности обработки самомодифицирующегося кода в JIT-движках. Современные процессоры восстанавливают архитектурную когерентность кода после самомодификации, но не всегда аннулируют устаревшие записи косвенного предсказания переходов. Эти устаревшие предсказания могут быть повторно использованы при записи нового кода в ту же память, создавая примитив спекулятивного выполнения после освобождения. Злоумышленники могут перехватить спекулятивное выполнение в новом коде по устаревшим смещениям, обходя программные средства защиты.
Эксплойт для ядра Linux
Эксплойты для ядра используют классический BPF (cBPF), который остаётся доступным непривилегированным программам через seccomp, фильтрацию сокетов и пакетов. На современных процессорах Intel эксплойт позволяет читать произвольную память и обходит все включённые меры защиты. В демонстрации исследователи обнаружили и извлекли хэш пароля root после его загрузки в память. Эксплойт обеспечивает утечку 8 байт в секунду, что, по словам исследователей, достаточно при аккуратном обходе указателей.
Уязвимость браузеров
В Firefox атаку можно запустить с вредоносного веб-сайта, выполняющего JavaScript в браузере жертвы. Поскольку Mozilla не завершила внедрение изоляции сайтов, содержимое других вкладок может находиться в том же адресном пространстве, что и у атакующего. Доказательство концепции показало, что устаревшие записи переходов сохраняются в SpiderMonkey на процессорах Intel достаточно долго для повторного использования.