FREAK

FREAK (англ. Factoring RSA Export Keys) — уязвимость в реализации TLS/SSL. Уязвимость заключается в недостаточной проверке при выполнении TLS Handshake на стороне клиента, что приводит к возможности понизить шифрование во время выполнения атаки «человек посередине» до использования 512-битных ключей RSA (RSA_EXPORT ключи), которые могут быть подобраны злоумышленником в течение нескольких часов.

Уязвимость была найдена в 2015 году, а сама ошибка существовала с 1990-х.


История[ | ]

В начале 1990-х был изобретён протокол SSL в Netscape Communications. Примерно с середины XX века, в США действовал закон об ограничении экспорта стойких шифров за пределы страны. Разрешалось экспортировать только специально ослабленные версии шифров, например, с ключами 40 или 56 бит для симметричного и 512 бит для асимметричного шифрования. Для RSA разрешалось иметь 512-битный ключ.

Атака[ | ]

Часть современных TLS клиентов (в их числе Apple TLS/SSL и OpenSSL) имеют ошибку. Эта ошибка позволяет TLS клиенту принимать RSA_EXPORT ключ, даже если клиент не запрашивал этот ключ. Используя данную уязвимость можно инициировать атаку «человек посередине» для ослабления уровня шифрования.

Атака «человек посередине» работает так:

  1. В клиентском Hello сообщении запрашивается стандартный RSA шифр.
  2. Злоумышленник изменяет сообщение, чтобы запрашивался RSA_EXPORT.
  3. Сервер отвечает с 512-битным RSA_EXPORT ключом, подписанным долгосрочным ключом.
  4. Злоумышленник перехватывает сообщение и отправляет клиенту ослабленный ключ.
  5. Клиент принимает ослабленный ключ, так как существует уязвимость в TLS/SSL.
  6. Злоумышленник факторизует RSA модули и выявляет соответствующий RSA ключ для дешифровки.
  7. Когда клиент шифрует «pre-master secret» и отправляет серверу, злоумышленник теперь может расшифровать это и получить TSL «master secret»
  8. С этого момента злоумышленник видит нешифрованный текст.

Подобрать 512-битный RSA ключ на веб-сервисе Amazon EC2 можно за 7-8 часов.

Уязвимые ПО[ | ]

Уязвимости подвержены как клиентские, так и серверные системы, а также разнообразное ПО. В их числе:

  • OpenSSL (уязвимость исправлена в 0.9.8zd, 1.0.0p и 1.0.1k).
  • устаревшие версии Chrome на Mac OS и Android (выпущено экстренное обновление).
  • Internet Explorer на всех клиентских и серверных версиях Windows.
  • Dolphin, Opera и встроенный браузер на Android.
  • Safari и Opera на OS X.
  • Safari и Dolphin на iOS.
  • Opera на Mac OS и Linux.
  • Blackberry Browser.

Firefox проблеме не подвержен, поскольку не использует OpenSSL.

См. также[ | ]

Примечания[ | ]

Ссылки[ | ]