Вектор атаки Marvin воскресил 25-летнюю уязвимость в алгоритме RSA

Вектор атаки Marvin воскресил 25-летнюю уязвимость в алгоритме RSA

Вектор атаки Marvin воскресил 25-летнюю уязвимость в алгоритме RSA

Новый вектор атаки, получивший имя «Marvin Attack», вдохнул новую жизнь в древнюю уязвимость в криптографическом алгоритме RSA. С помощью Marvin злоумышленники могут обойти выпушенные ранее фиксы для бреши, обнаруженной аж в 1998 году.

В теории подобная атака может помочь киберпреступникам расшифровать тексы, подделать подписи и даже получить в открытом виде сессии, записанные на уязвимом TLS-сервере.

Исследователи из Red Hat с помощью стандартного набора «железа» показали, что Marvin можно запустить буквально в течение двух часов. Причём эксперты обращают внимание на широкий охват уязвимости: она затрагивает не только RSA, но и большинство ассиметричных криптографических алгоритмов.

«Несмотря на то что основными целями таких атак будут, безусловно, TLS-серверы, корень проблемы влияет на большинство ассиметричных криптографических алгоритмов: Diffie-Hellman, ECDSA и т. п.», — пишут специалисты.

В Red Hat выделили следующие имплементации, которые находятся в зоне риска:

  • CVE-2022-4304 — OpenSSL (на уровне TLS).
  • Без CVE-идентификатора — OpenSSL (на уровне API).
  • CVE-2023-0361 — GnuTLS (на уровне TLS).
  • CVE-2023-4421 — NSS (уровень TLS).
  • CVE-2020-25659 — pyca/cryptography.
  • CVE-2020-25657 — M2Crypto.
  • Без CVE-идентификатора — OpenSSL-ibmca.
  • Без CVE-идентификатора — Go.
  • Без CVE-идентификатора — GNU MP.

Сам вектор Marvin не получил единый CVE, поскольку отдельные имплементации могут ощутимо варьироваться. Другими словами, сейчас нет и одного патча, который бы разом устранил уязвимость. Исследователи порекомендовали использовал RSA PKCS#1 версии 1.5.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

Домас показал, что изменение одного регистра может перенастроить это преобразование уже после срабатывания вышестоящих средств защиты. В результате появляется альтернативный адрес, ведущий к тем же ячейкам DRAM. Охраняемый вход остаётся заперт, но контроллер внезапно рисует вторую дверь прямо в стене.

 

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

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru