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

Уязвимость CVE-2022-40982 представляет собой side-channel баг типа transient execution и затрагивает все процессоры Intel на микроахитертурах от Skylake до Ice Lake. Эксплуатируя эту проблему, злоумышленник получает возможность извлекать конфиденциальную информацию, которая защищена с помощью Software Guard eXtensions (SGX), аппаратного шифрования Intel, которое отделяет код и данные в памяти от софта в системе.

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

Gather используется для оптимизации памяти в процессорах Intel и применяется для ускорения доступа к разрозненным данным в памяти.

«Инструкция gather, по-видимому, использует временный буфер, который делят между собой родственные потоки CPU, и передает данные другим зависимым инструкциям, причем данные принадлежат другому процессу и выполнению gather, работающим на одном ядре», — объясняет специалист.

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

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

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

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

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

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

Разработчиков Intel уведомили о проблеме Downfall еще в августе 2022 года, и весь последний год Могими помогал компании в разработке микрокода для устранения проблемы.

Все это время детали уязвимости хранились в тайне, чтобы OEM-производители и поставщики услуг связи могли протестировать и проверить исправления, а также подготовить необходимые обновления для своих клиентов.

Как теперь сообщает Intel, проблема не влияет на Alder Lake, Raptor Lake и Sapphire Rapids, но представляет угрозу для следующих семейства процессоров:

  • семейство 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 предлагают ознакомиться с руководством по оценке рисков и самостоятельно принять решение об использовании или неиспользовании предлагаемых микрокодов. Дело в том, что существуют определенные опасения по поводу того, что применение исправлений может быть чревато потенциальными проблемами с производительностью.

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

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

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии