Что такое Sweet32?

Sweet32 - это название атаки, проведенной двумя исследователями из Французского национального исследовательского института компьютерных наук (INRIA). Результаты исследования были присвоены CVE-2016–2183 и CVE-2016–6329. Атака использует недостатки конструкции некоторых шифров. Эти шифры используются в распространенных протоколах, таких как TLS, SSH, IPsec и OpenVPN. Хотя уязвимость, лежащая в основе исследования, давно известна криптографам, возможность таких атак делает новый акцент на необходимости для разработчиков программного обеспечения и поставщиков продуктов поэтапно отказаться от устаревших шифров в своих продуктах. Атака Sweet32 позволяет злоумышленнику восстанавливать небольшие части открытого текста при шифровании с помощью 64-битных блочных шифров (таких как Triple-DES и Blowfish) при определенных (ограниченных) обстоятельствах.

Блочные шифры - это тип симметричного алгоритма, который, как следует из названия, шифрует открытый текст блоками, а не побитно. Одна из определяющих характеристик таких шифров - длина блока; это определяет размер кусков, на которые открытый текст разбивается и затем шифруется. Важно отметить, что длина блока шифра не зависит от длины ключа. Таким образом, даже если вы выберете большой размер ключа для своего шифрования, длина блока шифра может наложить свои собственные ограничения и, в данном случае, уязвимости.

Исследователи продемонстрировали, что злоумышленник, способный отслеживать трафик жертвы и выполнять JavaScript в браузере жертвы, может успешно восстановить файлы cookie сеанса HTTP, отправленные по каналу с шифрованием TLS или OpenVPN, в течение одного-двух дней. Это возможно из-за того, что блочные шифры в определенных режимах (CBC, CTR, GCM, OCB и т. Д.) Могут зашифровать только ограниченное количество блоков открытого текста, прежде чем они могут вызвать конфликт или идентичный зашифрованный текст. Для 64-битных блочных шифров этот предел составляет около 32 ГБ данных. Используя JavaScript для отправки высокоскоростного потока данных из браузера жертвы на уязвимый сервер, исследователи смогли сгенерировать достаточно данных для возникновения коллизий, что позволило им восстановить файлы cookie сеанса HTTP. Посетите сайт Sweet32, чтобы узнать больше об атаке.

Кто пострадал?

Как отмечают исследователи, уязвимые шифры (Triple-DES и Blowfish) используются в распространенных интернет-протоколах. Особое беспокойство вызывает тот факт, что OpenVPN использует Blowfish в качестве симметричного шифра по умолчанию, а это означает, что большое количество пользователей VPN потенциально уязвимы для этой атаки. Кроме того, хотя почти все веб-серверы HTTPS не поддерживают ничего более сильного, чем наборы шифров на основе Triple-DES, большинство из них предпочтет выбрать более надежный набор шифров при инициировании сеансов с современными браузерами. Исследователи обнаружили, что 1-2% всех веб-серверов HTTPS используют Triple-DES, и еще меньше (0,6%) настроены так, что они уязвимы для этой атаки. По общему признанию, это очень небольшая часть веб-серверов, но некоторые известные сайты остаются уязвимыми:

Я должен беспокоиться?

К счастью, успешное выполнение TLS-варианта атаки Sweet32 требует от злоумышленника очень определенного набора возможностей. Во-первых, злоумышленник должен иметь возможность выполнять JavaScript в браузере жертвы. Это сделано для того, чтобы злоумышленник мог сгенерировать данные для отправки на сервер. Наиболее вероятный способ сделать это - заманить жертву на вредоносный веб-сайт, контролируемый злоумышленником.

Во-вторых, злоумышленник должен удерживать жертву на странице, на которой размещен вредоносный JavaScript, в течение одного-двух дней, чтобы сгенерировать достаточное количество блоков зашифрованного текста для обнаружения коллизии. Помните, что использование 64-битного блочного шифра может вызвать коллизию после 32 ГБ данных, но для практической атаки исследователи обнаружили, что требуется до 785 ГБ данных.

Наконец, злоумышленник должен находиться в привилегированном положении в сети, чтобы иметь возможность отслеживать зашифрованный трафик жертвы на веб-сервер. Это может быть выполнено, если злоумышленник контролирует маршрутизатор или включает локальную сеть (LAN) пользователя, если жертва находится на небезопасной точке доступа Wi-Fi или если злоумышленник контролирует инфраструктуру Интернета (так называемую глобальную сеть). противник).

Учитывая этот список требований, а также тот факт, что только около 0,6% веб-серверов HTTPS уязвимы, эта атака вряд ли затронет большинство случайных пользователей Интернета.

Что я должен делать?

По большей части, обычным пользователям не нужно вносить какие-либо изменения в свои обычные привычки или программное обеспечение. Единственным исключением являются пользователи OpenVPN, которые могут смягчить атаку, настроив более частую смену ключей (с помощью директивы конфигурации reneg-bytes), или, если они контролируют конфигурацию VPN-сервера, изменив шифр по умолчанию с Blowfish на что-то более безопасное, например AES. -128-CBC. Поставщики программного обеспечения были уведомлены об уязвимости и работают над созданием и выпуском исправлений.

Администраторы серверов захотят проверить конфигурацию своих веб-серверов и серверов VPN, чтобы отключить слабые и устаревшие шифрокомплекты, такие как Triple-DES и Blowfish. Существуют службы для оценки конфигураций TLS ваших серверов [1], а руководства по настройке TLS можно найти для распространенных серверов, таких как Apache, Nginx и IIS [2] [3].

[1] https://www.ssllabs.com/ssltest/

[2] https://cipherli.st/

[3] https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices

Ресурсы:

Https://sweet32.info/

Https://www.openssl.org/blog/blog/2016/08/24/sweet32/

Http://blog.cryptographyengineering.com/2016/08/attack-of-week-64-bit-ciphers-in-tls.html

Https://access.redhat.com/articles/2548661

Https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet

Дэн Стейплз - старший аналитик по безопасности в Independent Security Evaluators.

Твиттеры: @ISESecurity | @_Dismantl