Процессоры компании Intel стали объектом новой уязвимости под названием Downfall

Старший исследователь Google разработал новые методы атаки на процессоры, чтобы использовать уязвимость Downfall, которая затрагивает ряд семейств микропроцессоров Intel. Эта уязвимость позволяет извлекать пароли, ключи шифрования и конфиденциальные данные, такие как электронная почта, сообщения и банковская информация, у пользователей, работающих на одном компьютере.

Уязвимость, обозначенная как CVE-2022-40982, представляет собой проблему в побочном канале выполнения и затрагивает весь спектр процессоров на основе микроархитектур Intel, начиная от Skylake и заканчивая Ice Lake.

В случае успешной атаки возможно извлечение конфиденциальной информации, защищенной технологией Software Guard eXtensions (SGX), аппаратным средством шифрования памяти Intel, которое обеспечивает разделение кода и данных в памяти от операционной системы.

Технология SGX применяется только в серверных процессорах и представляет изолированную доверенную среду для программного обеспечения, к которой нет доступа из операционной системы.

Дэниел Могими (Daniel Moghimi), исследователь из Google, обнаруживший данную уязвимость, утверждает, что его методы атаки Downfall включают использование инструкции gather. Эта инструкция позволяет «извлекать содержимое внутреннего векторного регистра во время спекулятивного выполнения».

Инструкция gather входит в оптимизации памяти процессоров Intel и предназначена для ускорения доступа к фрагментированным данным в памяти. В техническом документе, опубликованном Могими, отмечается:

По-видимому, инструкция gather использует временный буфер, который разделяется между потоками процессора, и передает данные транзитно последующим зависимым инструкциям. Эти данные принадлежат другому процессу и операции gather, выполняемой на одном и том же ядре.

Могими разработал два метода атаки Downfall:

1. Gather Data Sampling (GDS) — также известный как Intel GDS.
2. Gather Value Injection (GVI), объединяющий GDS с методом Load Value Injection (LVI), о котором было объявлено в 2020 году.

С использованием метода GDS Могими смог извлечь 128- и 256-битные криптографические ключи AES на контролируемой виртуальной машине. Эти системы были на родственных потоках одного и того же ядра процессора.

За меньше чем 10 секунд, по 8 байт за раз, исследователю удалось извлечь раундовые ключи AES и объединить их для взлома шифрования.

Исследователь сообщает:

При проведении атаки для 100 различных ключей, первый прогон был успешным на 100% для AES-128. Для AES-256 первый прогон атаки был успешным на 86%.

Неудачные попытки означали, что для полного извлечения ключа необходимо было провести атаку несколько раз, так как данные для мастер-ключа появлялись с низкой частотой в течение 10 секунд.

Могими также описывает варианты атаки GDS, которые позволяют извлекать произвольные данные в состоянии покоя, благодаря двум условиям, при которых процессор предварительно загружает такую информацию в регистровые буферы SIMD.

Оценка Угроз и Влияния на Производительность Микрокода​


Атаки, связанные с Downfall, требуют нахождения атакующего на одном физическом ядре с жертвой, что обеспечивается современными моделями параллельных вычислений. Тем не менее, локальные программы, включая вредоносное ПО, могут использовать данную уязвимость для кражи конфиденциальных данных.

В августе прошлого года Intel обнаружила уязвимость Downfall/GDS и совместно с Могими работала над ее решением. Обновление микрокода, исправляющее проблему, теперь доступно.

Детали уязвимости оставались конфиденциальными в течение почти года. Этот период использовался оригинальными производителями оборудования (OEM) и поставщиками услуг связи (CSP) для тестирования, проверки решения и подготовки обновлений для клиентов.

Проблема не затрагивает процессоры Alder Lake, Raptor Lake и Sapphire Rapids. Downfall влияет на следующие три семейства процессоров:

  • Skylake (Skylake, Cascade Lake, Cooper Lake, Amber Lake, Kaby Lake, Coffee Lake, Whiskey Lake, Comet Lake)
  • Tiger Lake
  • Ice Lake (Ice Lake, Rocket Lake)

Вивек Тивари, вице-президент Intel по разработке средств устранения и реагирования, считает, что "попытка эксплуатации этой проблемы вне контролируемой лабораторной среды представляет собой сложную задачу".

Intel предоставляет клиентам рекомендации по оценке рисков и возможности отключения микрокодовой защиты через механизмы, доступные в Windows, Linux и менеджерах виртуальных машин (VMM).

Такой выбор может быть обусловлен опасениями по поводу возможных негативных последствий для производительности, связанных с снижением производительности Downfall/GDS, либо тем, что данная проблема не является угрозой для конкретной среды.

Intel предоставляет клиентам информацию оценки рисков и анализа производительности, согласно которой влияние проблемы в некоторых средах может быть минимальным.

Существует потенциальное влияние в условиях частой загрузки инструкций gather, что актуально для сред с высокой производительностью (HPC).

Согласно Intel, эта проблема может не рассматриваться как серьезная угроза для HPC из-за особенностей атаки и типичной конфигурации таких сред:

- Например, атакующий должен находиться на том же физическом ядре, что и цель, и обладать способностью запускать ненадежный код, что в данном контексте не является характерной ситуацией.

Программные Средства Защиты​


Для устранения риска атак Downfall/GDS необходима аппаратная модификация чипов, что связано с значительными затратами, на которые отрасль еще не готова.

Существуют программные альтернативы, но они обладают определенными недостатками и являются временными решениями. Могими предлагает четыре такие альтернативы, из которых три имеют свои недостатки:

1. Отключение Simultaneous MultiThreading (SMT) может частично снизить риски атак GDS и GVI, но это также приводит к потере производительности на 30%, и утечки через контекстное переключение продолжают возникать.
2. Запрет затронутых инструкций через операционную систему и компилятор для предотвращения утечки данных. Однако этот метод может привести к нарушению работы некоторых приложений, и некоторые инструкции все равно могут быть упущены.
3. Отключение инструкции gather. Это может вызвать снижение производительности или даже неработоспособность приложений, использующих эту инструкцию.
4. Предотвращение передачи данных после инструкции gather через добавление заграждения (например, инструкции lfence). Этот подход выбран Intel в последнем обновлении микрокода.

Могими предупреждает, что без устранения корневой причины проблемы "автоматизированное тестирование может обнаружить новые уязвимости в процессорах".

Создание таких инструментов - непростая задача, поскольку они должны полностью охватывать аппаратное обеспечение и поддерживаемые инструкции. Это усложняется сложностью аппаратного обеспечения и наличием
проприетарных барьеров.

Исследователь опубликовал код Downfall в репозитории GitHub, чтобы другие могли с ним ознакомиться.

Intel выпустила бюллетень безопасности по уязвимости CVE-2022-40982, которая в настоящее время оценивается как "Средний" уровень серьезности (6.5). Кроме того, компания предоставила технический документ

Интервью с Могими о Downfall.
 
Немного демо
 
Назад
Сверху Снизу