Уязвимости процессоров: TONTOU в действии
7 августа 2026 года стало известно о новой технике атаки, получившей название TONTOU (Time-of-Neutralization to Time-of-Use). Эта методика направлена на обход механизмов защиты от уязвимостей класса Spectre v2, затрагивая процессоры Intel и AMD. Исследователи из MIT CSAIL успешно продемонстрировали эксплойт, способный красть данные с систем под управлением Linux.
Механизм атаки TONTOU
Ключевая особенность TONTOU заключается в использовании мимолетного временного окна. Ученые обнаружили, что после очистки состояния механизма предсказания переходов в процессоре существует небольшой, но неизбежный промежуток времени до его следующего использования. Этот интервал, иногда составляющий всего несколько инструкций, критичен для атаки.
- Принцип действия: Если в этот короткий момент принудительно вызвать обработку прерывания, состояние предсказателя можно снова скомпрометировать.
- Аналогия с TOCTOU: Название TONTOU выбрано по аналогии с известным классом уязвимостей TOCTOU (Time-of-Check to Time-of-Use). В TOCTOU объект изменяется между проверкой и использованием. В случае TONTOU, состояние предсказателя нейтрализуется, но прерывание успевает его изменить до того, как оно будет снова использовано.
Хотя скорость утечки данных через TONTOU невысока, уникальный способ обхода существующих защитных механизмов делает эту атаку значительной угрозой в сфере процессорных уязвимостей.
Очень интересно, как именно TONTOU удается использовать это «мимолетное временное окно». Если я правильно понял, то прерывание должно быть идеально синхронизировано. Какие именно типы прерываний наиболее эффективны для такой атаки? И насколько реально это реализовать в условиях обычной работы ОС, когда таких окон может быть крайне мало, а синхронизация требует высокой точности? Было бы здорово узнать мнения других читателей!