Проект OpenSSL представил обновленные версии 1.0.2g и 1.0.1s, в которых была устранена опасная уязвимость CVE-2016-0800. Данная брешь позволяет злоумышленнику провести межпротокольную атаку, которой исследователи дали имя DROWN (Decrypting RSA with Obsolete and Weakened eNcryption).
Проблема актуальна для сайтов, работающих с протоколами SSLv2 и TLS, то есть ставит под угрозу около 33% всех сайтов и почтовых серверов интернета.
Проблему обнаружила и помогла устранить сводная команда из 15 человек, в которую вошли ученые из университетов Германии и США, а также специалисты в области информационной безопасности. На официальном сайте уязвимости представлен их подробный доклад.
Исследователи обнаружили в SSLv2 уязвимость, на базе которой сумели построить атаку, во многом копирующую Bleichenbacher-атаку на RSA, известную с 90-х годов. Смысл данной методики в том, что перед установкой зашифрованного соединения, клиент случайным образом выбирает ключ сессии, который зашифровывает RSA и отправляется серверу. Таким образом клиент проходит валидацию, и устанавливается защищенное HTTPS-соединение. Атака Bleichenbacher позволяет узнать оригинальный RSA-ключ, основываясь лишь на ответах сервера: простом «да/нет», которое сервер отвечает за запрос «это RSA-ключ сессии?». Эксперты сумели обойти защиту, добавленную в SSLv2, для предотвращения подобных атак и нашли новый способ реализации атаки Bleichenbacher,
«При обычном раскладе злоумышленнику понадобится отследить 1000 TLS-хендшейков, инициировать 40 0000 SSLv2-соединений, и совершить 2^50 оффлайновых операций для расшифровки 2048-битного шифротекста RSA TLS», — пишут исследователи.
Несмотря на такие числа, суперкомпьютер для реализации атаки не потребуется. В докладе сказано, что в среднем для расшифровки сессионного 2048-битного ключа RSA понадобится 8 часов работы облака Amazon EC2, что обойдется атакующему примерно в $440. Но есть и более дешевый и быстрый способ: если добавить в уравнение недавно обнаруженные в OpenSSL уязвимости CVE-2016-0703 и CVE-2015-3197, на расшифровку шифротекста TLS у обычного ПК уйдут считанные минуты. Этого вполне хватит для осуществления man-in-the-middle атаки на любой современный браузер.
Также исследователи отмечают, что под угрозой находятся не только ресурсы, использующие SSLv2 и TLS. Простого отключения SSLv2 можно оказаться недостаточно, если сайт использует сертификат или RSA ключ совместно с другим сервером: распространенные примеры, это почтовые серверы SMTP, IMAP и POP, а также вторичные HTTPS-серверы веб-приложений. Если отключив SSLv2 на сайте, администратор сайта забудет сменить RSA-ключи и позаботиться о смежных ресурсах, они будут по-прежнему уязвимы перед DROWN.
В докладе сказано, что в наши дни около 17% всех HTTPS-серверов в мире до сих пор разрешают SSLv2-соединения, хотя протокол SSLv2 давно устарел. Помимо них, из-за совместного использования ключей, еще 17% HTTPS-серверов оказываются под ударом, что суммарно дает 33% уязвимых серверов. Это приблизительно 11,5 млн сайтов, включая ресурсы Yahoo, Weibo, Alibaba, xHamster, DailyMotion, BuzzFeed, Flickr, StumbleUpon, 4Shared и так далее.
Всем настоятельно рекомендуется обновиться до OpenSSL 1.0.2g и 1.0.1s. Проверить свои ресурсы на уязвимость перед DROWN можно на официальном сайте атаки. Также, помимо официального доклада исследователей, можно почитатьстатью Мэтью Грина (Matthew Green) — известного криптографа и профессора университета Джона Хопкинса.
Google решила навести порядок в одной из самых раздражающих мелочей при работе с VPN на Android. В Android 17 Beta 3 появится системный механизм для раздельного туннелирования (split tunneling) — исключения отдельных приложений из VPN-туннеля. В корпорации отмечают, что для этого в Android 17 вводится стандартизированный метод.
Для рядового пользователя это значит, что теперь можно будет оставить VPN включённым для всего смартфона, но при этом разрешить отдельным приложениям работать через обычный интернет.
Например, чтобы банковское приложение или стриминг не капризничали из-за VPN, а всё остальное продолжало ходить через защищённый канал. Такая проблема давно знакома пользователям Android, потому что многие приложения работают через VPN нестабильно или вообще отказываются запускаться.
Сейчас split tunneling уже есть у многих популярных VPN-сервисов, но реализован он кто во что горазд. Где-то функция спрятана глубоко в настройках, где-то работает нестабильно, а где-то её вообще нет.
В Android 17 это хотят вынести на уровень самой системы: появится отдельный системный экран настроек, где можно будет выбрать приложения, которые должны обходить VPN. После этого изменения будут применяться сразу, если VPN уже активен, или при следующем подключении.
По сути, Google делает довольно простую, но очень практичную вещь: забирает важную функцию из разрозненных реализаций у разных VPN-разработчиков и пытается сделать её нормальной, предсказуемой и одинаково понятной для всех.
Свидетельство о регистрации СМИ ЭЛ № ФС 77 - 68398, выдано федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) 27.01.2017 Разрешается частичное использование материалов на других сайтах при наличии ссылки на источник. Использование материалов сайта с полной копией оригинала допускается только с письменного разрешения администрации.