Технологии безопасности

Сайт посвященный вопросам безопасности

FREAK — TLS Downgrade атака на Android и iOS

В реализации TLS в OpenSSL и Apple TLS/SSL, исследователями из INRIA, IMDEA и Microsoft была обнаружена уязвимость, которой они дали название FREAK (Factoring attack on RSA-EXPORT Keys). Уязвимость заключается в недостаточной проверке при выполнении TLS Handshake на стороне клиента, что приводит к возможности понизить шифрование во время выполнения атаки «человек посередине» до использования 512-битных ключей RSA, которые могут быть подобраны злоумышленником в течение нескольких часов.

EXPORT Ciphersuites

Примерно в середине 20 века, в США ввели закон об ограничении экспорта стойких шифров за пределы страны. Разрешалось экспортировать только специально ослабленные версии шифров, например, с ключами 40 или 56 бит для симметричного и 512 бит для асимметричного шифрования. Серьезные ограничения действовали до конца 1992 года, а к началу 2000 большинство ограничений были сняты, хотя некоторые сохраняются и по сей день.
Современные стандарты TLS все еще позволяют использовать такие нестойкие типы шифрования, и некоторые веб-серверы (26.3% всего интернета по статистике zmap) до сих пор позволяют их использовать для установки TLS-соединения.

Выяснилось, что в реализации OpenSSL (Браузер в Android) и Apple TLS/SSL (Safari) существует баг, который позволяет «человеку посередине» заставить клиента использовать EXPORT-шифрование, даже если клиент не заявлял о его поддержке. Для этого должны выполняться сразу несколько условий:

Клиент использует уязвимую версию OpenSSL или Apple TLS/SSL
Поддержка EXPORT-шифрования включена на сервере
Наличие закрытого ключа RSA 512 бит у злоумышленника

Хоть исследователям и удалось подобрать закрытую часть 512-битного RSA-ключа для сайта nsa.gov, эксплуатировать уязвимость в реальной жизни затруднительно из-за того, что EXPORT-ключи либо генерируются каждый раз при перезапуске веб-сервера, либо являются уникальными для каждого клиента (алгоритм работы такой же, как и с DH-ключами).

Что делать?

Пользователям Android следует временно отказаться от встроенного браузера и использовать Chrome (или любой другой сторонний браузер).
Если вы используете OpenSSL в своей программе, убедитесь, что у вас установлена версия 1.0.1k или новее.
iOS-пользователям остается ждать исправления уязвимости от Apple.

Ссылки

Описание уязвимости от исследователей
Страница с топом сайтов, использующих EXPORT
Статья от Matthew Green