Семь новых атак на механизм спекулятивного выполнения в CPU

Группа исследователей безопасности, из которых трое (Daniel Gruss, Michael Schwarz, Moritz Lipp) участвовали в выявлении первых уязвимостей Meltdown и Spectre, опубликовали сведения о семи новых атаках, затрагивающих механизм спекулятивного выполнения инструкций современных процессоров. Возможность проведения атак протестирована на CPU Intel, AMD и ARM. Две новые атаки являются вариантами уязвимости Meltdown (Meltdown-PK для CPU Intel и Meltdown-BR для Intel и AMD), а оставшиеся пять представляют собой варианты уязвимости Spectre (применимы для Intel, AMD и ARM). Для всех семи атак подготовлены работающие прототипы эксплоитов.

Как и ранее выявленные уязвимости данного класса новые проблемы основываются на создании условий для спекулятивного выполнения определённых операций, результат которых отбрасывается процессором после определения неудачного прогноза, но следы выполнения оседают в общем кэше и могут быть восстановлены при помощи методов определения содержимого кэша по сторонним каналам, анализирующих изменение времени доступа к прокэшированным и не прокэшированным данным. Успешное проведение атаки, в зависимости от вида утечки информации, позволяет определить содержимое памяти сторонних процессов, ядра и виртуальных машин, что может использоваться в многопользовательских системах, например, для извлечения ключей шифрования или конфиденциальных данных.

Выявленные проблемы класса Meltdown (позволяют получить доступ к памяти приложений других пользователей, операционной системы и виртуальных окружений):

  • Meltdown-PK — атака проявляется только на CPU Intel и позволяет обойти ограничения, установленные при помощи ключей защиты памяти
    (PKU, Protection Keys for Userspace). В обычных условиях попытка доступа к области памяти с неверным ключом приводит к генерации исключения. В ходе спекулятивного выполнения инструкций выполняется фактический доступ к содержимому памяти и результат в случае несоответствия ключей отбрасывается, но прочитанное значение оседает в кэше;

  • Meltdown-BR — атака проявляется на CPU Intel и AMD и связана с утечкой данных после спекулятивного выполнения инструкций проверки границ, определённых в расширении MPX (Memory Protection eXtensions). При попытке доступа к области памяти, вне определённых при помощи MPX границ, возможно создание условий для спекулятивного обращения к памяти, результат которого будет отброшен после определения ошибки доступа, но осядет в кэше.
  • Исследователи попытались разработать ещё шесть Meltdown-подобных атак, манипулируя исключениями, возникающими при делении на ноль, некорректном выравнивании памяти, превышении лимита на число сегментов, нарушении защиты SMAP (Supervisor mode access prevention), выполнении некорректных объектных кодов и манипуляции с областями памяти, в которых запрещено выполнение кода. Данные попытки не увенчались успехом.

Выявленные проблемы класса Spectre:

  • Spectre-BTB-SA-IP, Spectre-BTB-SA-OP — два новых варианта атаки на буфер предсказания ветвления (BTF, Branch Target Buffer). Атаки создают условия для влияния на состояние блока предсказания переходов с целью совершения целенаправленного спекулятивного косвенного перехода, после которого считанный из памяти адрес перехода (искомые данные), остаётся в кэше. Атаки позволяют получить доступ к памяти приложений только в рамках привилегий одного уровня, например, для атаки на браузеры, sandbox-окружения и системы совместного изолированного выполнения кода. Проблемам подвержены CPU AMD, ARM и Intel.
  • Spectre-PHT-CA-OP, Spectre-PHT-CA-IP, Spectre-PHT-SA-OP — три варианта атаки с использованием таблицы с историей шаблонов переходов (PHT, Pattern History Table). Spectre-PHT-CA-OP позволяет получить доступ к произвольным областям памяти, а Spectre-PHT-CA-IP и Spectre-PHT-SA-OP ограничены доступом к памяти в рамках привилегий одного уровня. Проблемам подвержены CPU AMD, ARM и Intel.

По заявлению компании Intel все из упомянутых в отчёте уязвимостей могут быть блокированы с использованием уже применяемых для Spectre и Meltdown методов защиты (производители процессоров и операционных систем были заранее уведомлены о проблемах).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.