Новый вектор атаки получивший имя Inception, может позволить непривилегированному процессу получить конфиденциальные данные и «секреты». Проблема затрагивает всю линейку процессоров AMD Zen, включая последние модели.
Как это часто бывает с большинством современных CPU, здесь проблема опять кроется в спекулятивном выполнении. Функция, предназначенная для повышения производительности, на самом деле создаёт лазейку для атак.
Исследователи из Швейцарской высшей технической школы Цюриха использовали в связке два старых вектора — Phantom speculation (CVE-2022-23825) и Training in Transient Execution — для создания нового метода Inception.
Phantom speculation позволяет атакующим задействовать неверные прогнозы без наличия ветви в источнике. Это создаёт так называемый отрезок спекулятивного выполнения (transient window) для произвольных XOR-инструкций.
Training in Transient Execution, в свою очередь, представляет собой манипулирование неверными прогнозами с помощью внедрения новых прогнозов в предсказатель переходов. Это позволяет создать эксплуатируемые спекулятивные выполнения.
Новый вектор Inception, который отслеживают под идентификатором CVE-2023-20569, соединяет в себе две вышеописанные техники. В случае его использования злоумышленник может добиться переполнения буфера целевым адресом, находящимся под контролем атакующего.
В результате открывается лазейка для перехвата данных из непривилегированных процессов, запущенных на любом CPU AMD Zen.
Утечка возможна даже в том случае, если на компьютере установлены все средства защиты от известных атак через спекулятивное выполнение (вроде Spectre). Более того, скорость извлечения данных с помощью Inception составила 39 байтов в секунду: пароль в 16 символов можно вытащить за полсекунды.
Напомним, сегодня же мы сообщали о похожем векторе, но уже для современных линеек процессоров Intel — Downfall.