Новый вариант атаки Foreshadow, потенциально не ограничивающийся процессорами Intel

Материал из Викиновостей, свободного источника новостей
Перейти к навигации Перейти к поиску

8 августа 2020 года

Wikinews-logo-ru.svg

Группа исследователей из Грацского технического университета (Австрия) и Центра Гельмгольца по информационной безопасности (CISPA), выявила (PDF) новый вектор применения атаки по сторонним каналам Foreshadow (L1TF), позволяющей извлечь данные из памяти анклавов Intel SGX, SMM (System Management Mode), областей памяти ядра ОС и виртуальных машин в системах виртуализации. В отличие от предложенной в 2018 году изначальной атаки Foreshadow новый вариант не специфичен для процессоров Intel и потенциально затрагивает CPU других производителей, таких как ARM, IBM и AMD. Кроме того, новый вариант не требует высокой точности измерений и атака может быть осуществлена даже при помощи запуска кода на JavaScript и WebAssembly в web-браузере.

Атака Foreshadow пользуется тем, что при доступе к памяти по виртуальному адресу, приводящему к исключению (terminal page fault), процессор спекулятивно рассчитывает физический адрес и загружает данные, если они имеются в L1-кэше. Спекулятивное обращение выполняется до завершения перебора таблицы страниц памяти и независимо от состояния записи в таблице страниц памяти (PTE), т.е. до проверки наличия данных в физической памяти и их доступности для чтения. После завершения проверки доступности памяти, в случае отсутствия флага Present в PTE операция отбрасывается, но данные оседают в кэше и их можно извлечь при помощи методов определения содержимого кэша по сторонним каналам (через анализ изменения времени доступа к прокэшированным и не прокэшированным данным).

Исследователи показали, что имеющиеся методы защиты от Foreshadow неэффективны и реализованы с неверной трактовкой проблемы. Уязвимость Foreshadow может быть эксплуатирована независимо от применения в ядре механизмов защиты, которые ранее считались достаточными. В итоге исследователями была продемонстрирована возможность совершения атаки Foreshadow в системах с относительно старыми ядрами, в которых включены все имеющиеся режимы защиты от Foreshadow, а также с новыми ядрами, в которых отключена только защита от Spectre-v2 (используется опция ядра Linux nospectre_v2).

В том числе было обнаружено, что эффект упреждающей загрузки не связан с программными инструкциями prefetch или аппаратным эффектом упреждающей загрузки в процессе доступа к памяти, а возникает при спекулятивном разыменовании регистров пространства пользователя в ядре. Подобное неверное толкование причины возникновения уязвимости привело к предположению, что утечка данных в Foreshadow может произойти только через кэш L1, в то время как наличие в ядре определённых отрывков кода (prefetch-гаджетов) может способствовать утечке данных вне L1-кэша, например, в кэш L3.

Для блокирования атаки Foreshadow через кэш L3 показал эффективность метод защиты Spectre-BTB (Branch Target Buffer), реализованный в наборе патчей retpoline. Таким образом, исследователи считают необходимым оставление retpoline включённым даже на системах с новыми CPU, в которых уже имеется защита от известных уязвимостей в механизме спекулятивного выполнения инструкций CPU. При этом представители Intel завили, что не планируют добавлять в процессоры дополнительные меры защиты от Foreshadow и считают достаточным включения защиты от атак Spectre V2 и L1TF (Foreshadow).

 

Источники[править]

OpenNET logo.png
Creative Commons
Эта статья содержит материалы из статьи «Новый вариант атаки Foreshadow, потенциально не ограничивающийся процессорами Intel», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Cartoon Robot.svg
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Новый вариант атаки Foreshadow, потенциально не ограничивающийся процессорами Intel