Чтобы защититься от DROWN, администраторы сервера должны обеспечить, чтобы их личные ключи нигде не использовались с
серверным программным обеспечением, которое допускает соединения SSLv2.
Для зашифрованих з'єднань зараз повсюдно використовується протокол TLS, що прийшов на зміну аналогічним протоколами SSLv3 і SSLv2, досить вразливим за нинішніми стандартами. Коли ви підключаєтеся до веб-сайту по протоколу HTTPS, всередині працює як раз цей самий TLS. З ним поки проблем немає, але є нюанс. Досить багато серверів у мережі підтримують застарілий протокол SSLv2. Ну підтримують і добре, якщо комусь прийде в голову використовувати його для встановлення з'єднання (в стандартному браузері у вас не вийде таке зробити ненавмисно), то так йому і треба. Але тут з'ясувалося, що використовуючи цю саму підтримку SSLv2 можна розшифрувати і нормально зашифрований за допомогою SSL трафік.
Атака, якщо сильно не вдаватися в деталі, проводиться наступним чином. Зловмисник перехоплює захищену трафік жертви. Потім робить серію запитів до сервера з використанням SSLv2 таким чином, що сервер віддає йому дані, достатні для розшифровки трафіку TLS. У двох різних сценаріїв атак розшифровка займає час, але зовсім небагато — кілька годин на потужному сервері (або $440 оренди процесорних потужностей на Amazon), або взагалі за хвилину на могутньому ПК. У другому випадку «допомагає» підтримувана досить великою кількістю серверів «експортна», тобто завідомо ослаблена криптографія. Тобто вимог до зловмиснику небагато: невеликі обчислювальні потужності, прямі руки і можливість перехоплення чужого трафіку. Це справді небезпечна штука.
Одна треть всех серверов могла быть уязвима для атаки «DROWN»
1 марта исследователи опубликовали подробности о новой уязвимости к протоколу SSL / TLS. Анализ показал, что от 20 до 30% всех серверов могут
быть затронуты. К счастью, эта атака, вероятно, не использовалась злонамеренными сторонами, и защита вашего сервера очень проста.
Как и самые последние уязвимости SSL / TLS, эта атака называется с аббревиатурой. «DROWN» или расшифровка RSA с использованием
устаревшего и ослабленного eNcryption - это сложная атака, использующая уязвимости как в самом протоколе, так и в ошибках в OpenSSL,
самой популярной библиотеке для реализации протокола SSL / TLS. DROWN полагается на ваш сервер, поддерживающий SSLv2 - старейшую
версию протокола, публично выпущенную. Используя уязвимости в этой версии протокола, DROWN может скомпрометировать любой сеанс SSL,
созданный с использованием того же открытого ключа, даже если эти сеансы используют более новую версию протокола.
Уникальность DROWN заключается в том, что она позволяет злоумышленникам скомпрометировать шифрование, даже если соединения
вашего пользователя не используют SSL v2. «Простое разрешение сервера SSLv2» ставит их под угрозу. Есть несколько факторов, которые
могут сделать ваш сервер уязвимым для DROWN, и некоторые факторы значительно облегчают для злоумышленников возможность
использовать DROWN успешно и быстро. Сервера, которые наиболее подвержены серьезному воздействию, могут подключаться к
своим пользовательским соединениям «за минуту с использованием одного ПК», что поразительно быстро.
По мнению исследовательской группы, которая обнаружила DROWN, эта уязвимость может быть затронута 20-30% всех серверов.
Что сделать и не делать чтобы не УТОНУТЬ ?
Вам НЕ нужно переиздавать свой сертификат.
Атака DROWN не может украсть или узнать о вашем закрытом ключе. Это означает, что ваш сертификат (и его закрытый ключ) не скомпрометирован,
и вам не нужно переиздавать сертификат. DROWN может только компрометировать отдельные сеансы SSL
Вам необходимо предпринять действия с каждым сервером и устройством, используищй SSL в вашей сети.
Одна из сложностей DROWN заключается в том, что злоумышленникам, использующим этот метод, нужно только найти одно устройство в вашей сети,
в котором включен SSLv2. Если это устройство использует сертификат, который использует один и тот же открытый ключ (и, следовательно,
тот же закрытый ключ), с другим сертификатом (или копией того же сертификата), то все эти устройства подвержены риску.
Обычно сертификаты используются на нескольких устройствах или серверах. Например, ваш сертификат может использоваться на вашем
основном веб-сервере и на вашем почтовом сервере. Исследования, проведенные командой DROWN, показали, что многие организации
уже имеют свои основные веб-серверы, защищенные от этой атаки, но оставили почтовые серверы или другие менее значимые серверы
с плохой конфигурацией, поставив их под угрозу. Во-первых, укажите все свои устройства, используя SSL, и убедитесь, что знаете,
какие устройства, если таковые имеются, используют сертификаты или ключи. После того, как вы наметили свою сеть, вы можете быстро
устранить проблему в следующие два шага.
Проверьте ваш сайт на онлаин сервисе DROWN. Обратите внимание, что этот тест не
является исчерпывающим, а не динамическим. Это означает, что у вас могут быть уязвимые серверы, которые здесь не указаны, и что
если вы обновите серверы, результаты теста не изменятся. Пожалуйста, используйте это только для диагностики, и не предполагайте,
что вы не пострадали из-за этих результатов теста.
Вам нужно исправить доступные версии SSL.
Каждый сервер (и другое сетевое оборудование) использует «криптографическую библиотеку» (например, программное обеспечение
для криптографии) для реализации протокола SSL / TLS. Наиболее популярной библиотекой является OpenSSL.
Если вы используете OpenSSL, немедленно исправьте его. Были выпущены исправления ошибок, которые могут помочь предотвратить DROWN.
Если на вашем сервере запущен Apache или NGINX, вы, вероятно, используете OpenSSL. Если на вашем сервере установлена ОС Microsoft,
вы, скорее всего, не используете OpenSSL. Если у вас есть сетевое оборудование предприятия или другие устройства, такие как брандмауэр,
вам необходимо проконсультироваться с этим производителем, чтобы узнать, используют ли они OpenSSL и как (или если) вы можете
загружать любые заплатки.
Вам необходимо отключить поддержку SSLv2
DROWN полагается на злоупотребление небезопасными шифрами и недостатки протокола в SSLv2. Вам необходимо уменьшить эту проблему,
отключив поддержку SSLv2 на всех устройствах в вашей сети.
Вы в безопасности!
Если вы исправили OpenSSL и отключили поддержку SSLv2 в своей сети, вы больше не уязвимы для DROWN.
Если ЛЮБОЕ устройство в вашей сети поддерживает SSLv2, это позволит злоумышленникам скомпрометировать КАЖДОЕ устройство,
которое разделяет ту же пару открытого и закрытого ключей. Убедитесь, что вы обновляете конфигурацию на всех своих устройствах,
а не только на своем основном веб-сервере.