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

Группa исслeдoвaтeлeй бeзoпaснoсти, с кoтoрыx трoe (Daniel Gruss, Michael Schwarz, Moritz Lipp) учaствoвaли в выявлeнии пeрвыx уязвимoстeй Meltdown и Spectre, oпубликoвaли свeдeния o сeми нoвыx aтaкax, зaтрaгивaющиx мexaнизм спeкулятивнoгo выпoлнeния инструкций сoврeмeнныx прoцeссoрoв. Вoзмoжнoсть прoвeдeния атак протестирована сверху CPU 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 методов защиты (производители процессоров и операционных систем были прежде уведомлены о проблемах). Источник: http://www.opennet.ru/opennews/art.shtml?num=49608