Безопасность как искусство
169,07
рейтинг
4 марта 2015 в 15:36

Разработка → FREAK — TLS Downgrade атака на Android и iOS

UPD: уязвимы также Internet Explorer, Chrome на Mac OS и Android, Safari на Mac OS и iOS, Blackberry Browser и Opera на Mac OS и Linux

В реализации 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
Автор: @ValdikSS
Digital Security
рейтинг 169,07
Безопасность как искусство

Похожие публикации

Комментарии (6)

  • +2
    Я тут провел мини-исследование, и выяснилось, что веб-серверы более половины веб-сайтов из топа используют динамические ключи на клиента.

    Всего хостов в листе: 415
    Хосты с EXPORT: 374
    Хосты со случайным ключом на каждое соединение: 215
    Хосты со статическими ключами на каждое соединение: 159

    gist.github.com/ValdikSS/f4ba45198fe69c349e9c
    • 0
      Обновленные данные:

      Всего хостов в листе: 415
      Хосты с EXPORT: 368
      Хосты со случайным ключом на каждое соединение: 137
      Хосты со статическими ключами на каждое соединение: 231

      Я довольно сильно ошибся из-за ошибки в скрипте, но все равно много.
  • 0
    У меня Chrome под Android по ссылке из статьи показывает, что он уязвим. Видимо, тоже придётся ждать обновления
  • 0
    Хром под iOS 8.1.3 на этой странице пишет, что не подвержен уязвимости. Сафари пишет, что уязвим. Странно, это правда или баг теста?
    • +2
      это правда
      Скорее всего, так как у Chrome свой TLS-стек.

      С сайта:
      Update (Mar. 5): Further testing confirms that far more browsers are susceptible to the FREAK attack than originally believed. The following browsers appear to be vulnerable:
      •Internet Explorer
      •Chrome on Mac OS and Android < — нет iOS
      •Safari on Mac OS and iOS
      •Blackberry Browser
      •Opera on Mac OS and Linux

      (Earlier versions of our browser test gave incorrect results for IE; it is vulnerable.)
      • 0
        О, спасибо за апдейт!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка