Найти тему
Герман Геншин

Новая атака Marvin возрождает 25-летний дефект дешифрования в RSA

Дефект, связанный с подшивкой PKCS #1 v1.5 в серверах SSL, обнаруженный в 1998 году и считавшийся устраненным, до сих пор оказывает влияние на несколько широко используемых проектов.

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

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

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

Red Hat предупреждает, что уязвимость не ограничивается RSA, а распространяется на большинство асимметричных криптографических алгоритмов, делая их восприимчивыми к атакам по побочным каналам.

"Хотя основным объектом атаки являются серверы TLS, основные проблемы, вызвавшие ее широкое распространение, применимы к большинству асимметричных криптографических алгоритмов (Diffie-Hellman, ECDSA и т.д.), а не только к RSA." - Red Hat.

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

  • OpenSSL (уровень TLS) : Оракул времени при расшифровке RSA - CVE-2022-4304
  • OpenSSL (уровень API) : Сделать API расшифровки RSA безопасным для использования с подложкой PKCS#1 v1.5 - нет CVE
  • GnuTLS (уровень TLS) : Время отклика на некорректные RSA-шифротексты в ClientKeyExchange отличается от времени отклика на шифротексты с корректной подложкой PKCS#1 v1.5. - CVE-2023-0361
  • NSS (уровень TLS) : Улучшение постоянства времени в операциях RSA. - CVE-2023-4421
  • pyca/cryptography : Попытка ослабить атаки Блейхенбахера на расшифровку RSA; признана неэффективной; вместо этого требуется исправление на уровне OpenSSL. - CVE-2020-25659
  • M2Crypto : Устранение временных атак Блейхенбахера в API расшифровки RSA; обнаружена неэффективность; вместо этого требуется исправление на уровне OpenSSL. - CVE-2020-25657
  • OpenSSL-ibmca : Исправления постоянного времени для RSA PKCS#1 v1.5 и OAEP padding в версии 2.4.0 - нет CVE
  • Go : crypto/rsa DecryptPKCS1v15SessionKey имеет ограниченную утечку - Нет CVE
  • GNU MP : mpz_powm_sec имеет утечку нулевых старших битов в результате - Нет CVE

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

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

Исследователи не рекомендуют использовать шифрование RSA PKCS#1 v1.5 и призывают пострадавших пользователей искать или запрашивать у производителей альтернативные варианты обратной совместимости.

Простое отключение RSA не означает, что вы в безопасности, предупреждает раздел Q&A на странице Marvin Attack.

Риск одинаков, если ключ или сертификат RSA используется на других серверах, которые его поддерживают (почтовые серверы SMTP, IMAP, POP, а также вторичные HTTPS-серверы).

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

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

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

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