Логотип
Учение доходит до предела в действии (Сюнь-цзы).

Новая атака на процессор TONTOU обходит исправления Spectre v2 и приводит к утечке хэшей паролей Linux

Новая атака на процессор TONTOU обходит исправления Spectre v2 и приводит к утечке хэшей паролей Linux

Исследователи нашли способ обойти недавние меры по смягчению последствий атак по побочным каналам спекулятивного выполнения Spectre v2 и разработали эксплойт для утечки секретов с машин Linux.

Метод работает против защиты Spectre v2 на процессорах AMD и Intel, которая основана на очистке или изоляции предикторов ветвей, что исследователи обычно называют мерами по смягчению последствий на основе нейтрализации.

Spectre v2 также известен как Branch Target Injection (BTI) и является вариантом класса уязвимостей Spectre.

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

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

Spectre v2 позволяет злоумышленнику манипулировать предиктором косвенных ветвей ЦП, чтобы процессор спекулятивно выполнял инструкции в выбранном злоумышленником месте, что может раскрыть конфиденциальные данные.

При использовании мер по смягчению последствий на основе нейтрализации (eIBRS на Intel и Safe RET на AMD) существует разрыв между временем изоляции предиктора ветвления и моментом его использования ветвью-жертвой.

Меры по смягчению последствий Active Spectre v2 предполагают, что злоумышленник не может использовать в своих интересах время между очисткой состояния предиктора ветвления и его использованием.

Однако исследователи представили примитив, позволяющий повторно отравлять состояние ЦП после очистки, но до его использования.

Аспирант Даниэль Трухильо и доцент Мэнцзя Янь из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (CSAIL) открыл метод использования окна времени нейтрализации по времени использования (TONTOU) для извлечения конфиденциальных данных.

Читать  Как обнаружить поврежденные сектора или блоки на жестких дисках Linux

“Злоумышленник, не имеющий специального доступа, может прочитать произвольную память из системы, включая конфиденциальные данные, такие как хешированные пароли”, — рассказал Трухильо.

Исследователи разработали атаку Interrupt Injection, при которой “непривилегированные пользовательские программы могут планировать прерывания таймера во время выполнения ядра.”

“Следовательно, мы можем принудительно перенаправить ядро на обработчик прерываний и использовать этот обработчик для отравления микроархитектурных состояний в окне постнейтрализации,” объясняют исследователи.

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

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

На хосте AMD Zen 2 с новейшими мерами по смягчению последствий Spectre v2 два исследователя успешно прошли все этапы атаки TONTOU: нейтрализацию, перенаправление, отравление и использование предикторов отравленных ветвей.

Этапы атаки TONTOU

 

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

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

Атака была протестирована на процессорах Intel и AMD. Исследователи показали, что на системе AMD Zen 2 под управлением Linux версии 6.14.0-37-generic с 16 ГБ оперативной памяти возможна утечка произвольной памяти ядра со скоростью 5,47 байт/с и точностью 91,97%, включая содержимое/etc/shadow, в котором хранятся хэши паролей.

Читать  Мобильные процессоры Intel Arrow Lake-HX могут получить 24 ядра

В ходе 10 тестовых запусков атака успешно обнаружила и извлекла файл в пяти случаях, при этом каждая попытка занимала в среднем 18 минут.

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

Исследователи отмечают, что внедрение прерываний позволяет злоумышленнику контролировать отравление буфера стека возврата (RSB), вызывая спекулятивные неверные прогнозы целей возврата.

Поскольку пассивное загрязнение RSB менее надежно, они объединили впрыск прерываний с Зарождение, ранее раскрытая атака, которую помог разработать Даниэль Трухильо.

AMD опубликовала консультативный сегодня отмечается, что проблема внедрения прерываний «по-видимому, связана» с тем, как реализация на Linux системы Safe RET смягчает потенциальные атаки раскрытия информации.

Даниэль Трухильо и Мэнцзя Янь представили сегодня свои выводы на конференции по безопасности Black Hat USA. Они также поделятся подробностями на конференции USENIX Security 2026, которая пройдет с 27 по 29 октября.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

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

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

19 − пять =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала