Новый вариант атаки Foreshadow, затрагивающий процессоры Intel, AMD, ARM и IBM

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

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

Группа исследователей из Грацского технического университета (Австрия) и Центра Гельмгольца по информационной безопасности (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.

Выявленная особенность также открывает возможности по созданию новых атак, нацеленных на процессы трансляции виртуальных адресов в физические в изолированных окружениях и определение адресов и данных, сохранённых в регистрах CPU. В качестве демонстраций исследователи показали возможность использования выявленного эффекта для извлечения данных из одного процесса в другой с производительностью около 10 бит в секунду на системе с CPU Intel Core i7-6500U. Также показана возможность утечки содержимого регистров из анклава Intel SGX (на определение 32-разрядного значения, записанного в 64-разрядный регистр ушло 15 минут). Некоторые виды атак оказалось возможным реализовать на JavaScript и WebAssembly, например, удалось определить физический адрес JavaScript-переменной и заполнить 64-разрядные регистры значением, контролируемым атакующим.

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

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


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

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.