LazyFP - новая уязвимость в процессорах Intel

Автор denkin, июня 16, 2018, 13:40:35

« предыдущая - следующая »

denkin

ЦитироватьКомпания Intel опубликовала сведения о новой уязвимости (CVE-2018-3665) в механизме спекулятивного выполнения инструкций, которая получила кодовое название LazyFP. Проблема затрагивает только процессоры линейки Intel Core и проявляется при использовании "ленивого" (lazy) режима переключения контекста FPU, при котором реальное восстановление состояния регистров производится не сразу после переключения контекста, а только при выполнении первой инструкции, которая манипулирует восстанавливаемыми регистрами. На чипах Intel Atom/Knights и CPU AMD проблема не проявляется.

Новость на Opennet.

Подробности

"Уязвимости присвоен средний уровень опасности (CVSS 4.3 из 10) - через проведение атаки по сторонним каналам атакующий может определить значения регистров FPU, MMX, SSE, AVX и AVX-512, используемых другим процессом. Например, в данных регистрах могут содержаться параметры для криптографических вычислений и имеющий доступ к локальной системе злоумышленник может попытаться использовать их для определения ключа шифрования. При использовании систем виртуализации проблема может применяться для определения состояния регистров другой гостевой системы или другого процесса в текущей гостевой системе.

По своей сути уязвимость LazyFP близка к обнародованной в конце мая проблеме Spectre 3a (CVE-2018-3640, RSRE - Rogue System Register Read). Публикация детального описания атаки отложена до августа по просьбе представителей Intel, чтобы дать пользователям время для установки исправлений. В качестве меры для блокирования уязвимости рекомендуется разработчикам ОС перейти от использования режима Lazy FP к режиму Eager FP через установку соответствующих флагов XSAVE или XCR0. Предложенный метод защиты не оказывает негативного влияния на производительность.

В ядре Linux защита была реализована ещё в феврале 2016 года, путём применения по умолчанию режима Eager FP (eagerfpu=on) и удаления возможности активации Lazy FP. Уязвимость затрагивает ядра Linux до версии 4.6 или системы с процессорами без поддержки инструкции XSAVE (до Sandy Bridge), в которых по умолчанию применялся режим Lazy FP. В старых ядрах Linux для защиты можно использовать опцию "eagerfpu=on", которая присутствует начиная с ядра 3.7. Обновления пакетов с ядром подготовлены для Debian и ожидаются для Ubuntu, SUSE/openSUSE и RHEL (RHEL 7 подвержен уязвимости частично, так как уже использует по умолчанию режим переключения контекста Eager FP на CPU Intel Sandy Bridge и более новых системах). Патчи с устранением проблемы также приняты в кодовые базы FreeBSD, OpenBSD и DragonflyBSD. Отдельно исправления выпущены для гипервизора Xen.

Дополнение: Изначально Intel планировал опубликовать сведения об уязвимости в августе, но поводом к досрочному раскрытию информации стал доклад Тео де Раадта на конференции BSDCan 2018 (неофициальное видео), в рамках которого были презентованы свежие доработки ядра OpenBSD. Филипп Гюнтер (Philip Guenther) на основании слухов о некоей непонятной уязвимости в механизме загрузки/сохранения регистров сопроцессора подготовил и добавил в OpenBSD патч, который, как выяснилось позднее, действительно исправлял уязвимость. Так как проект OpenBSD не был официально проинформирован об уязвимости, он не подпадал под эмбарго на разглашение. После доклада Колин Персиваль (Colin Percival), базируясь на озвученной информации, за пять часов написал эксплоит. В итоге корпорация Intel была вынуждена досрочно публично признать факт наличия очередной уязвимости в процессорах."
(ц)

[свернуть]