Intel и ARM выпустили экстренные исправления. Защита процессоров пробита из-за новой "самообучающейся" атаки

leer en español

Intel и ARM выпустили экстренные исправления. Защита процессоров пробита из-за новой "самообучающейся" атаки

Новая атака Spectre-v2 затронула все современные чипы Intel Core с 9-го поколения.

image

Специалисты VUSec представили работу Training Solo, которая ставит под сомнение фундаментальные принципы защиты от атак Spectre-v2. Ранее считалось, что механизм изоляции доменов полностью устраняет возможность обучения предсказателя переходов кодом из разных привилегированных областей. Однако авторы показали, что даже при безупречной реализации этих механизмов злоумышленник может использовать тот же домен — например, ядро системы — для самостоятельного обучения предсказателя и извлечения конфиденциальных данных.

Исследование описывает три новых типа атак Spectre-v2, основанных на так называемом «самообучении» (self-training), где и обучение, и спекулятивное исполнение происходят в одном и том же привилегированном контексте. В результате становится возможным перехват потока управления внутри ядра или гипервизора и чтение закрытых областей памяти, что фактически возрождает классические сценарии Spectre-второго типа, ранее считавшиеся невозможными.

Первая категория атак, названная history-based, использует особые «исторические» гаджеты внутри ядра для создания нужного контекста переходов. Эксперименты показали, что даже с включённой изоляцией доменов злоумышленник может сформировать предсказатель ветвлений через системные вызовы SECCOMP, доступные любому пользователю. Эта техника позволила исследователям извлечь данные ядра со скоростью 1,7 КБ/с на процессорах Intel Tiger Lake и Lion Cove.

Вторая группа — IP-based — опирается на совпадения адресов в Branch Target Buffer (BTB), когда предсказатель лишён истории и работает только по IP-адресу. В таких условиях два перехода могут непреднамеренно «обучать» друг друга, если их адреса совпадают. Анализ множества системных гаджетов показал, что эта коллизия способна стать практической основой для массовых атак.

Третий вариант, direct-to-indirect, оказался наиболее разрушительным. Учёные выяснили, что на некоторых чипах прямые переходы могут тренировать предсказание косвенных, чего не должно происходить по архитектуре. Это связано с двумя аппаратными дефектами: Indirect Target Selection и ошибкой в процессорах Lion Cove. Благодаря им исследователи смогли считать произвольные данные из памяти ядра со скоростью до 17 КБ/с, а также создать прототип, извлекающий память гипервизора со скоростью 8,5 КБ/с.

Для устранения уязвимостей Intel выпустила обновления микрокода, новые «косвенные переходы» и инструкцию IBHF (Indirect Branch History Fence), очищающую историю переходов. В некоторых системах предлагается использовать специальную последовательность очистки BHB. Также переработаны механизмы IBPB для предотвращения обхода защиты и введены новые схемы размещения ветвлений в кэше, уменьшающие поверхность атаки.

Проблемы затронули широкий спектр процессоров Intel — от Core девятого поколения до новейших Lion Cove в сериях Lunar Lake и Arrow Lake. ARM также выпустила собственные рекомендации. Исправления постепенно распространяются в виде обновлений прошивок и ядра Linux. Полный набор инструментов для тестирования, анализа и проверки уязвимых предсказателей опубликован в открытом виде на GitHub VUSec.