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

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 16 Nov 2018.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,373
    Likes Received:
    6,619
    Reputations:
    693
    Группа исследователей безопасности, из которых трое (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). Для всех семи атак подготовлены работающие прототипы эксплоитов.

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

    [​IMG]
    Выявленные проблемы класса 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 могут быть проведены и на системах с применением всех доступных патчей.

    [​IMG]

     
    BlackDot, b3, user100 and 1 other person like this.