Открыть сервис

Sweet32

Sweet32 — это атака на симметричные блочные шифры с размером блока 64 бита, использующая уязвимость, связанную с коллизиями шифротекста при шифровании в режиме сцепления блоков (CBC). Атака позволяет злоумышленнику, имеющему возможность многократно перехватывать зашифрованные данные, восстановить открытый текст, включая конфиденциальную информацию, такую как сессионные ключи или пароли. Sweet32 была впервые опубликована в 2016 году группой исследователей из INRIA (Французский национальный институт исследований в области информатики и автоматики) и Microsoft Research.

История

Предпосылки

Атака Sweet32 относится к классу атак на основе коллизий шифротекста, известных с 1990-х годов. В 2004 году была опубликована работа, демонстрирующая возможность восстановления данных при использовании шифров с 64-битным блоком в режиме CBC. Однако практическая реализация атаки требовала значительного объёма перехваченного трафика (порядка 2^32 блоков, что эквивалентно 32 ГБ данных), что делало её малозаметной в условиях реального времени.

Публикация

В 2016 году исследователи Каан Йылдыз, Кенни Паттерсон и Барт Пренел представили атаку Sweet32 на конференции ACM CCS (Conference on Computer and Communications Security). Они продемонстрировали, что современные вычислительные мощности и протоколы, такие как HTTPS и OpenVPN, позволяют злоумышленнику собирать необходимый объём данных за несколько часов или дней, в зависимости от пропускной способности канала. Атака получила название «Sweet32» как отсылку к 32-битному размеру блока.

Реакция сообщества

После публикации уязвимость получила идентификатор CVE-2016-2183 (для Triple DES) и CVE-2016-6329 (для Blowfish). Крупные поставщики программного обеспечения, включая OpenSSL, LibreSSL, Microsoft, Google и Mozilla, выпустили обновления, отключающие поддержку 64-битных шифров в своих продуктах. В 2017 году уязвимость была включена в список Top 25 наиболее опасных программных ошибок по версии MITRE.

Механизм атаки

Принцип коллизии

Симметричные блочные шифры с размером блока 64 бита (например, DES, 3DES, Blowfish, IDEA) имеют ограниченное пространство возможных значений шифротекста — 2^64 комбинаций. Согласно парадоксу дней рождения, вероятность коллизии (совпадения двух блоков шифротекста) превышает 50% после обработки примерно 2^32 блоков, что составляет 32 ГБ данных. При использовании режима CBC (Cipher Block Chaining) коллизия приводит к утечке информации: если два блока шифротекста совпадают, то XOR (исключающее ИЛИ) соответствующих блоков открытого текста равен XOR предыдущих блоков шифротекста.

Условия для атаки

Для успешной реализации атаки Sweet32 злоумышленнику необходимо:

  1. Возможность многократно перехватывать зашифрованные данные между клиентом и сервером (например, через прослушивание сети).
  2. Наличие в протоколе шифрования симметричного шифра с 64-битным блоком в режиме CBC.
  3. Способность инициировать отправку большого объёма данных (например, через внедрение JavaScript-кода на веб-страницу, который заставляет браузер отправлять множество запросов).

Этапы атаки

  1. Сбор данных: Злоумышленник перехватывает зашифрованный трафик, содержащий конфиденциальные данные (например, сессионные cookie). Для этого он может использовать уязвимости на стороне клиента (например, XSSмежсайтовый скриптинг) или манипулировать сетевым трафиком.
  2. Накопление коллизий: После сбора около 32 ГБ шифротекста (что при скорости 1 Мбит/с занимает около 3 дней) злоумышленник ищет коллизии — пары одинаковых блоков шифротекста.
  3. Восстановление данных: Используя математическую формулу для режима CBC, злоумышленник вычисляет XOR блоков открытого текста. Если один из блоков известен (например, фиксированная часть HTTP-запроса), то можно восстановить неизвестный блок (например, cookie).

Уязвимые протоколы и системы

Протоколы

Атака Sweet32 затрагивает протоколы, которые поддерживают шифры с 64-битным блоком в режиме CBC:

  • HTTPS (TLS/SSL): Версии TLS 1.0, 1.1 и 1.2, если они используют шифры 3DES или Blowfish. TLS 1.3, выпущенный в 2018 году, исключил поддержку 64-битных шифров.
  • IPsec: Протоколы, использующие 3DES в режиме CBC.
  • OpenVPN: Конфигурации, где используется шифр Blowfish (по умолчанию в старых версиях).
  • SSH: Некоторые реализации SSH поддерживают 3DES, хотя он редко используется.
  • S/MIME: Шифрование электронной почты с использованием 3DES.

Программное обеспечение

  • OpenSSL: Версии до 1.0.2i (2016) поддерживали 3DES и Blowfish. После обновления эти шифры были помечены как слабые.
  • LibreSSL: Аналогичные изменения.
  • Microsoft Windows: Версии до Windows 10 Anniversary Update (2016) поддерживали 3DES в Schannel (библиотека TLS).
  • Браузеры: Google Chrome, Mozilla Firefox и Microsoft Edge отключили поддержку 3DES и Blowfish после 2016 года.
  • VPN-клиенты: OpenVPN версий до 2.4 (2017) использовали Blowfish по умолчанию.

Последствия

Утечка конфиденциальных данных

Основная опасность атаки Sweet32 — возможность восстановления сессионных cookie, паролей или других аутентификационных данных, передаваемых в зашифрованном виде. Это позволяет злоумышленнику перехватить сессию пользователя (например, в веб-приложении) и получить несанкционированный доступ к его аккаунту.

Ограничения

Атака требует значительного объёма данных (32 ГБ) и времени (от нескольких часов до дней). Она не является мгновенной и не подходит для атак в реальном времени. Кроме того, для успеха необходимо, чтобы целевой трафик содержал повторяющиеся блоки (например, в HTTP-запросах с фиксированными заголовками).

Меры защиты

Отключение уязвимых шифров

Основная рекомендация — отключить поддержку шифров с 64-битным блоком (3DES, Blowfish, IDEA) на стороне сервера и клиента. В современных системах (после 2017 года) это сделано по умолчанию. Для администраторов серверов рекомендуется:

  • В настройках TLS (например, в Apache, Nginx, IIS) указать список шифров, исключающий 3DES и Blowfish.
  • Использовать шифры с 128-битным блоком (AES, ChaCha20) или режимы, устойчивые к коллизиям (например, GCM — Galois/Counter Mode).

Обновление программного обеспечения

  • Установить последние версии OpenSSL (1.1.0 и выше), LibreSSL, OpenVPN и других библиотек.
  • Применить обновления операционной системы и браузеров.
  • Для VPN-соединений перейти на шифры AES-256-GCM или ChaCha20-Poly1305.

Мониторинг трафика

Администраторам сетей рекомендуется отслеживать использование устаревших шифров в журналах серверов и блокировать соединения, использующие 3DES или Blowfish.

Критика и ограничения

Практическая реализуемость

Некоторые эксперты отмечают, что атака Sweet32 требует значительных ресурсов (32 ГБ трафика) и времени, что делает её малопригодной для массовых атак. Однако в условиях высокоскоростных сетей (например, 1 Гбит/с) сбор данных может занять менее часа. Кроме того, атака может быть эффективна против долгоживущих сессий (например, в VPN-соединениях).

Альтернативные атаки

Sweet32 не является единственной атакой на 64-битные шифры. Ранее были известны атаки на основе времени (timing attacks) и атаки на основе известного открытого текста (known-plaintext attacks). Однако Sweet32 привлекла внимание к проблеме устаревших криптографических алгоритмов.

Интересные факты

  • Название «Sweet32» происходит от «Sweet 32» — отсылки к 32-битному размеру блока и популярной фразе «Sweet 16» (сладкие 16 лет), что иронично подчёркивает, что 64-битные шифры считались безопасными в 1990-х годах.
  • Атака была продемонстрирована на реальном примере: исследователи смогли восстановить cookie сессии веб-сайта, используя уязвимость в 3DES.
  • После публикации Sweet32 многие организации, включая Национальный институт стандартов и технологий США (NIST), рекомендовали полностью отказаться от 3DES и Blowfish в пользу AES.

Источники

  • K. Yildiz, K. Paterson, B. Preneel. «Sweet32: Birthday Attacks on 64-bit Block Ciphers in TLS and OpenVPN». ACM CCS 2016.
  • CVE-2016-2183 (Triple DES) и CVE-2016-6329 (Blowfish).
  • OpenSSL Security Advisory, 2016.
  • NIST Special Publication 800-131A Rev. 2: «Transitioning the Use of Cryptographic Algorithms and Key Lengths».
  • RFC 8446 (TLS 1.3).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →