В шифровальных протоколах RSA и SSL жива и пригодна к использованию «дыра», которой 25 лет
Эксперты Red Hat обнаружили, что метод атаки на алгоритм шифрования RSA, выявленный в 1998 г. и сегодня вполне употребим. Причём вариантов его столько, что нейтрализовать всех одним патчем технически невозможно.
А было то в 1998 году
Недостаток в шифровальном алгоритме SSL, впервые выявленный 25 лет назад, в 1998 г., до сих пор может быть использован в кибератаках, пусть и с небольшими изменениями. Об этом заявили эксперты компании Red Hat.
В ходе исследований они выявили сразу несколько вариантов такой атаки, дав им сборное определение Marvin Attack (атака Марвина). Все существующие методы защиты от исходного варианта атаки они позволяют обходить.
Злоумышленники в теории могут расшифровывать закодированную RSA информацию, подделывать цифровые подписи или даже расшифровывать целые сессии, записанные на уязвимом TSL-сервере.
Суть метода заключается в том, что атакующий на основании разной реакции сервера и разного времени выполнения операций может отделить корректные и некорректные блоки добавочного заполнения (padding oracle), добавленные в соответствии со стандартом PKCS #1 v1.5 для выравнивания зашифрованных данных по границе блока.
Манипулируя информацией о корректности блоков добавочного заполнения злоумышленник может воссоздать подходящий шифротекст или сформировать поддельное подписанное сообщение.

Для успешного проведения оригинальной атаки, известной как метод Блайхенбахера (Bleichenbacher) требуется отправка очень большого объёма пробных сообщений для расшифровки.
Метод Marvin позволяет усовершенствовать процедуры разделения корректных и некорректных добавочных данных, фильтрации ложных срабатываний, и позволяет добиться более точного определения задержек при вычислениях и задействованию дополнительных сторонних каналов при измерении.
Дело не в одном RSA
В Red Hat утверждают, что уязвимость, на самом деле, не ограничивается RSA: угроза затрагивает большинство алгоритмом асимметричного программирования, делая их уязвимыми перед атаками побочного канала. В числе уязвимых названы алгоритмы Диффи-Хеллмана (Diffie Hellman), ECDSA и другие.
В ходе экспериментов установлено, что перед атаками Marvin гарантированно уязвим протокол OpenSSL на уровне TLS и API. Для TLS уязвимости присвоен индекс CVE-2022-4304, для API такого индекса ещё нет.
Также уязвимости подвержен GnuTLS на уровне TSL, где время реагирования на искажённые шифротексты RSA в ClientKeyExchange отличаются от время реагирования на шифротексты с корректными блоками добавочного заполнения. «Багу» присвоен индекс CVE-2023-0361.
Уязвимость содержится также в NSS, на уровне TLS. Ей присвоен индекс CVE-2023-4421.

В пакете pyca/cryptography для Python присутствуют технические меры против атаки по методу Блайхенбахера, но, как выясняется, неэффективные: необходимо исправление на уровне OpenSSL. Индекс уязвимости - CVE-2020-25659.
То же касается M2Crypto, набора инструментов для шифрования и работы с SSL. Присвоен индекс CVE-2020-25657.
В отчёте также упомянуты OpenSSL-ibmca, компонент языка Go и GNU MP. CVE-индексы для них не присвоены.
В совокупности Атака Марвина не получила единого CVE-индекса, несмотря на то, что во всех случаях речь идёт о фундаментальной ошибке в RSA.
Однако варианты реализации и сложности в разных проектах отличаются настолько существенно, что выпустить какое-то единое исправление для всех разом абсолютно не представляется возможным.
- В зависимости от того, насколько легко или сложно будет эти уязвимости эксплуатировать чисто технически, зависит от того, насколько она критична в принципе, - считает Михаил Зайцев, эксперт по информационной безопасности компании SEQ. - Уже тот факт, что их очень непросто устранить, повышает угрозу. Ещё больше - то, что RSA в самых разных вариантах очень широко распространён. Принятие срочных мер просто необходимо.
Фундаментальная ошибка требует фундаментальных исправлений
Исследователи Red Hat рекомендуют прекратить использовать стандарт RSA PKCS#1 v1.5 и запросить у вендоров альтернативные средства обеспечения обратной совместимости.
Простое отключение RSA не поможет: если где-то ещё на сервере используется ключ RSA или подписанный таким образом сертификат (в протоколах SMTP, IMAP, POP или вторичных серверах HTTPS), угроза будет той же.
Также Red Hat предупреждает, что FIPS-сертификация ниже четвёртого уровня также не гарантирует защиту от атак Марвина. Четвёртый уровень обеспечивает высокую сопротивляемость атакам побочного канала.