В протоколе HTTPS обнаружена серьёзная уязвимость, которой подвержены почтовые и веб-серверы, платёжные системы и другие онлайн-сервисы, требующие авторизации. По мнению автора исследования Надии Хенинджер (Nadia Heninger) из Университета Пенсильвании, она могла использоваться АНБ для получения доступа к зашифрованным данным, в том числе – передаваемых посредством VPN.

На транспортном уровне безопасность соединения при подключении по HTTPS должна обеспечиваться криптографическим протоколом TLS, который пришёл на смену SSL v.3.0 и последний раз обновлялся в 2008 году. Его уязвимость связана с ограничениями, которые по требованию правительства США ещё в середине девяностых были использованы разработчиками в отношении алгоритма Диффи-Хеллмана. Ирония в том, что в TLS он вводился как дополнительная мера безопасности и применялся для передачи общего секретного ключа по незащищенным от прослушивания каналам связи.

Heartbleed, FREAK, LogJam... HTTPS теряет остатки надёжности.
Heartbleed, FREAK, LogJam… HTTPS теряет остатки надёжности.

Обнаруженная уязвимость получила названием Logjam (затор). Она позволяет злоумышленникам вклиниться между клиентом и сервером с поддержкой обмена секретными ключами по алгоритму Диффи-Хеллмана. Используя модифицированные запросы, возможно заставить сервер использовать во всех соединениях слабый ключ длиной 512 бит.

Атака базируется на алгоритме факторизации больших целых чисел под названием «общий метод решета числового поля» и требует выполнения значительного количества предварительных вычислений. Однако за прошедшие с момента внедрения HTTPS двадцать лет задача перестала быть достаточно сложной для 512-битных ключей. Автор исследования выполнял факторизацию на компьютерах университетского кампуса, и за две недели получил два самых распространённых ключа (их использовали 92% сайтов).

При достаточном объёме предварительных вычислений можно скомпрометировать любой принудительно ослабленный ключ, передающийся по протоколу Диффи-Хеллмана (изображение: David Adrian et al.).
При достаточном объёме предварительных вычислений можно скомпрометировать любой принудительно ослабленный ключ, передающийся по протоколу Диффи-Хеллмана (изображение: David Adrian et al.).

При доступе к специализированным конфигурациям с векторными ускорителями (в том числе на базе топовых видеокарт) или ПЛИС подбор ключа упрощается на порядок. Правительственные агентства имеют доступ к суперкомпьютерам из TOP 500 и могут выполнять эту атаку как рутинную операцию. Заставив сервер использовать слабый ключ и подобрав его, можно использовать классический метод атаки «человек посередине» для перехвата и (опционально) модификации всего «защищённого» трафика.

Просканировав несколько миллионов узлов из адресного пространства IPv4, Хенинджер приходит к выводу, что атака на протокол HTTPS http://arstechnica.com/security/2015/05/https-crippling-attack-threatens-tens-of-thousands-of-web-and-mail-servers/ затрагивает примерно 8,4 процента из первого миллиона самых популярных сайтов и чуть больший процент почтовых серверов. В частности, те из них, которые поддерживают протокол StartTLS, а также безопасную авторизацию POP3 или IMAP. По её оценкам, среди них сейчас уязвимы соответственно 14,8%, 8,9% и 8,4% почтовых серверов.

Реклама на Компьютерре

Особенность атаки в том, что она долго остаётся незаметной и может происходить в режиме реального времени. Хенинджер уверена: в АНБ её использовали годами. Мы знаем, что Сноуден обнародовал свыше 1,7 млн секретных файлов, а лёгкость атаки на одну из популярных реализаций HTTPS проливает свет на то, как именно их могло получить агентство.

Проблема состоит ещё и в том, что схожий метод компрометации ключей может использоваться против любых серверов, которые поддерживают обмен ключами по протоколу Диффи-Хеллмана (DH). В теории он позволяет двум сторонам передать секретный ключ по незащищённому каналу связи, но на практике не должен использоваться как самодостаточный метод. В надёжных системах дополнительно используется двусторонняя аутентификация или реализация DH на эллиптических кривых (ECDHE).

Сайт Фонд а электронных рубежей не подвержен атаке Logjam.
Сайт Фонд а электронных рубежей не подвержен атаке Logjam.

Политика администрации Клинтона позволяла без проблем шпионить за иностранными субъектами, которые были уверены в надёжности шифрования трафика. «Logjam снова показал нам, насколько ужасна идея умышленного ослабления криптографических продуктов, на которой настаивает ФБР и другие правительственные агентства, – комментирует один из авторов исследования Алекс Хальдерман (J. Alex Halderman). – Из-за политики экспортных ограничений эпохи девяностых, сегодня мы сталкиваемся с широко распространёнными бэкдорами. Они делают уязвимой большую часть интернета и подрывают основы обеспечения информационной безопасности».

При использовании ключей с длиной от 2048 бит протокол Диффи-Хеллмана сильно усложняет расшифровку защищённого трафика, поскольку злоумышленникам приходится каждый раз получать новый ключ и факторизовать его. Это существенно повышает безопасность HTTPS по сравнению с другими ассиметричными схемами шифрования, где ключ передаётся только один раз (например, RSA). Однако многие серверы легко принуждаются к использованию слабых ключей, а их клиенты даже не знают об этом.

Слабый ключ в протоколе доступа к облачному хранилищу Яндекс.Диск.
Слабый ключ в протоколе доступа к облачному хранилищу Яндекс.Диск.

По идее, о слабом шифровании на сервере пользователя должен предупреждать браузер. Пока соответствующая функция была добавлена только в Internet Explorer, но Хенинджер уверяет, что производители других популярных браузеров тоже вскоре выпустят обновления. В частности, результаты своих исследований она направила разработчикам Firefox, Chrome и Safari.

По своей сути Logjam похож на другую атаку – FREAK (Factoring attack on RSA-EXPORT Keys), продолжившую список уязвимостей в OpenSSL и также снижающую защищённость HTTPS-подключения за счёт принудительного использования слабого шифрования. Она затронула 36,7% сайтов с поддержкой HTTPS. После выхода обновлений их число снизилось до 6,5%. Не все администраторы оперативно закрывают дыры в безопасности, не говоря уже о пользователях.

Проверить сайт на подверженность атаке FREAK можно на сайте Keycdn. Для проверки на уязвимость к атаке Logjam воспользуйтесь сайтом WeakDH.