Цифровые технологии

Новый тип атаки позволяет обойти защиту процессоров и получить доступ к закрытой памяти

Исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (MIT CSAIL) обнаружили новый класс атак на современные процессоры, получивший название TONTOU. Он позволяет обходить защитные механизмы, предназначенные для предотвращения утечек данных через систему предсказания ветвлений.

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

Производители процессоров разработали защиту, которая очищает или изолирует механизмы предсказания. Однако Даниэл Трухильо и доцент MIT Мэнцзя Янь обнаружили, что между очисткой этих структур и их последующим использованием всегда существует короткий промежуток. Исследователи научились попадать в него с помощью аппаратных прерываний.

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

Метод проверили на четырёх поколениях процессоров Intel и AMD. На чипах Intel исследователи смогли обойти две разные системы защиты. На AMD они атаковали механизм saferet, где уязвимое окно составляет всего две инструкции и обычно длится десятки наносекунд. Учёным удалось использовать его, искусственно замедляя процессор в нужный момент.

Практическую опасность метода исследователи продемонстрировали на компьютере AMD под управлением современного ядра Linux. Получив возможность читать защищённую память со скоростью около пяти байт в секунду, они смогли обнаружить и скопировать файл /etc/shadow, содержащий хэши паролей, примерно в половине попыток.

Исследователи предложили повторно очищать механизмы предсказания после завершения прерывания. На AMD такой подход может работать, однако на некоторых процессорах Intel дополнительная очистка потенциально способна повысить надёжность атаки. Ещё один вариант — временно блокировать прерывания, но это может слишком сильно снизить производительность.

Трухильо и Янь сообщили об атаке AMD и Intel в феврале, а в марте связались с разработчиками Linux. AMD уже выпустила исправление, которое снижает уязвимость, и его можно получить вместе с обновлением операционной системы.

Исследование было представлено на конференциях Black Hat USA и USENIX Security.

Подпишитесь на нас: Вконтакте / Telegram / Дзен Новости / MAX
Back to top button