Новый вектор атаки по сторонним каналам затрагивает ряд поколений процессоров Intel. На этот раз конфиденциальные данные могут утечь через регистр флагов EFLAGS и анализ тайминга выполнения инструкций.
На этот вектор обратили внимание специалисты Цинхуа и Мэрилендского университета в Колледж-Парке. По словам экспертов, их находка отличается от атак по сторонним каналам, которые встречались в прошлом.
Вместо расчёта на систему кеширования, как это делают большинство подобных методов, новый вектор задействует уязвимость в процессе временного выполнения. Эта брешь позволяет извлекать конфиденциальные данные из пространства пользовательской памяти с помощью анализа тайминга.
Новый вектор атаки можно назвать ответвлением печально известной Meltdown, о которой стало известно в январе 2018 года. Напомним, Meltdown использует функцию оптимизации производительности — спекулятивное выполнение.
Технические детали новой атаки специалисты представили в отчёте (PDF), где описали уязвимость смены регистра EFLAGS при временном выполнении. Эта брешь затрагивает тайминг JCC-инструкций (jump on condition code).
Злоумышленник может реализовать атаку в два этапа:
- Спровоцировать временное выполнение и зашифровать «секреты» через регистр EFLAGS.
- Замерить время выполнения инструкции JCC для расшифровки данных.
Тесты исследователей показали, что новый вектор обеспечивает 100-процентную результативность извлечения данных с процессорами Intel i7-6700 и Intel i7-7700. В случае с более новым CPU — Intel i9-10980XE — слить сведения получилось лишь в отдельных случаях. Эксперименты проводились на Ubuntu 22.04 с ядром Linux версии 5.15.0.