Семь новых атак на механизм спекулятивного выполнения в CPU
14 ноября 2018 года
Группа исследователей безопасности, из которых трое (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 методов защиты (производители процессоров и операционных систем были заранее уведомлены о проблемах). Выявившие проблемы исследователи, утверждают, что имеющиеся методы защиты эффективны только для новых атак Spectre, а новые варианты атак Meltdown могут быть проведены и на системах с применением всех доступных патчей.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.