Процессоры Intel подвержены новой атаке Downfall, позволяющей похищать ключи шифрования и конфиденциальные данные

2023-08-09 3932 комментарии
Старший исследователь 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:

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

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

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

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

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

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

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

Оценка угроз и влияние на производительность микрокода

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

Тем не менее, локальная программа, например, вредоносное ПО, потенциально может использовать эту уязвимость для кражи конфиденциальной информации.

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

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

Intel сообщает, что проблема не затрагивает процессоры 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)

Вивек Тивари (Vivek Tiwari), вице-президент Intel по разработке средств устранения и реагирования, считает, что «попытка проэксплуатировать эту проблему вне контролируемой лабораторной среды была бы сложной задачей».

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

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

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

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

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

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

Программные средства защиты

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

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

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

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

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

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

Компания Intel выпустила бюллетень безопасности по уязвимости CVE-2022-40982, которая в настоящее время имеет «Средний» рейтинг серьезности 6.5. Также доступен технический документ компании и интервью с Могими о Downfall.

© . По материалам Bleepingcomputer
Комментарии и отзывы

Нашли ошибку?

Новое на сайте