Downgrade-атака (атака с понижением версии протокола) — атака, в рамках которой злоумышленник вмешивается в соединение между двумя узлами сети (например, клиентом (браузером) и сервером веб-сайта) и вынуждает их использовать незащищенный или слабо защищенный стандарт передачи данных (например, протокол HTTP вместо HTTPS или протокол шифрования SSL вместо TLS). Эта атака представляет собой разновидность атаки «человек посередине». В случае успешной downgrade-атаки злоумышленник может воспользоваться уязвимостями соединения, чтобы перехватить и прочитать передаваемые данные.
Почему возможны downgrade-атаки
При переходе на наиболее новые и защищенные версии сетевых протоколов веб-ресурсы часто продолжают поддерживать старые версии для обеспечения обратной совместимости. Если и сервер, и клиент, который к нему подключается, поддерживают уязвимую версию сетевого протокола, то злоумышленники могут провести downgrade-атаку.
Классификация downgrade-атак
Существует множество разновидностей атак с понижением версии протокола. Их можно классифицировать по следующим признакам:
- Элемент, то есть что именно злоумышленники пытаются понизить: собственно версию протокола, алгоритм шифрования, который он использует, и т. д.
- Уязвимость, то есть что именно делает атаку возможной. Такой уязвимостью может быть, например, избыточная поддержка устаревших версий сетевого протокола.
- Метод атаки. Чтобы понизить уровень защиты соединения, злоумышленники могут, например, модифицировать запрос на установку защищенного соединения, сбросить его, чтобы клиент или сервер попытался установить менее защищенное, или отправить одной из сторон поддельное сообщение от имени другой стороны.
- Ущерб. В результате downgrade-атаки безопасность соединения может быть полностью нарушена или ослаблена.
Защита от downgrade-атак
К основным методам защиты от атак с понижением версии протокола относятся:
- Отказ от поддержки устаревших версий сетевых протоколов и алгоритмов шифрования.
- Использование строгих политик безопасности, запрещающих установку уязвимого соединения. Например, почтовые серверы по умолчанию обмениваются информацией по незащищенному каналу, но могут использовать надстройку, шифрующую соединение. Администраторы почтового сервера также могут запретить ему устанавливать соединение, если зашифровать трафик не удалось.
Стоит отметить, что узел сети, не поддерживающий небезопасные соединения, окажется недоступным для узлов, которые по той или иной причине не поддерживают актуальные версии сетевых протоколов. Например, если политики безопасности организации запрещают использовать протокол HTTP для подключения к сайтам, пользователи не смогут из корпоративной сети открывать сайты, не поддерживающие зашифрованное соединение.