Атака DROWN (CVE-2016-0800)
Что такое Атака DROWN (CVE-2016-0800)?
Атака DROWN (CVE-2016-0800)Межпротокольная атака 2016 года: сервер с включённым SSLv2, делящий ключи с TLS, используется для расшифровки современных TLS-сессий, подрывая безопасность HTTPS, SMTPS и IMAPS.
DROWN (Decrypting RSA with Obsolete and Weakened eNcryption), CVE-2016-0800, был раскрыт 1 марта 2016 года исследователями Aviram, Schinzel, Somorovsky и др. Это межпротокольная атака: SSLv2 по-прежнему согласует экспортные RSA-шифронаборы с 40-битным ключом, а его рукопожатие выдаёт, корректно ли дополнен шифртекст по PKCS#1 v1.5. Это превращает SSLv2-сервер в padding-оракул Bleichenbacher. Принципиально важно, что уязвимая служба SSLv2 не обязана быть целью: если хотя бы одна служба использует тот же закрытый RSA-ключ/сертификат (например, старый SMTP- или IMAP-сервер, переиспользующий ключ веб-сервера), атакующий может пассивно записывать современные TLS-рукопожатия и расшифровывать сеансовые ключи в офлайне.
Общий вариант атаки требовал около 1000 записанных TLS-соединений и примерно 2^50 операций — что на тот момент было выполнимо менее чем за 440 USD облачных вычислений. Куда более опасный вариант «special DROWN» эксплуатировал ошибку OpenSSL (CVE-2016-0703), позволявшую активному атакующему расшифровать одну TLS-сессию за минуты на ноутбуке. Исследователи оценили, что около 33 % всех HTTPS-серверов были уязвимы. Меры защиты: отключить SSLv2 на каждой службе, обновить OpenSSL до 1.0.2g/1.0.1s и никогда не переиспользовать закрытый ключ или сертификат между конечными точками с поддержкой SSLv2 и современными.
flowchart TD A[Клиент] -->|Современное TLS-рукопожатие| B[Защищённый TLS-сервер] C[Атакующий] -->|Пассивно записывает<br/>зашифрованные RSA рукопожатия| B C -->|Отправляет подготовленные шифртексты| D[SSLv2-сервер<br/>тот же ключ/сертификат RSA] D -->|Ответы padding-оракула<br/>экспортный шифр| C C --> E[Восстанавливает сеансовый ключ TLS<br/>Bleichenbacher / DROWN] E --> F[Расшифровывает перехваченную сессию<br/>HTTPS / SMTPS / IMAPS]
● Примеры
- 01
Атакующий расшифровывает перехваченное HTTPS-рукопожатие через SMTP-сервер с SSLv2, использующий тот же сертификат.
- 02
Быстрое отключение SSLv2 на почтовых, FTP и legacy-шлюзах после публикации DROWN.
● Частые вопросы
Что такое Атака DROWN (CVE-2016-0800)?
Межпротокольная атака 2016 года: сервер с включённым SSLv2, делящий ключи с TLS, используется для расшифровки современных TLS-сессий, подрывая безопасность HTTPS, SMTPS и IMAPS. Относится к категории Уязвимости в кибербезопасности.
Что означает Атака DROWN (CVE-2016-0800)?
Межпротокольная атака 2016 года: сервер с включённым SSLv2, делящий ключи с TLS, используется для расшифровки современных TLS-сессий, подрывая безопасность HTTPS, SMTPS и IMAPS.
Как защититься от Атака DROWN (CVE-2016-0800)?
Защита от Атака DROWN (CVE-2016-0800) обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Атака DROWN (CVE-2016-0800)?
Распространённые альтернативные названия: CVE-2016-0800, Межпротокольная атака на SSLv2.