Китай начал блокировать HTTPS-соединения, устанавливаемые с TLS 1.3 и ESNI

Китай внедрил блокировку HTTPS-соединений, в которых используется протокол TLS 1.3 и TLS-расширение ESNI (Encrypted Server Name Indication), обеспечивающее шифрование данных о запрашиваемом хосте. Блокировка осуществляется на транзитных маршрутизаторах как для соединений, устанавливаемых из Китая во внешний мир, так и из внешнего мира в Китай.

Для блокировки выполняется отбрасывание пакетов от клиента к серверу, а не подстановка пакетов с флагом RST, которая ранее выполнялась при выборочной блокировке по содержимому SNI. После срабатывания блокировки пакета с ESNI в течение от 120 до 180 секунд также блокируются все сетевые пакеты, соответствующие связке из исходного IP, целевого IP и номера порта назначения. HTTPS-соединения на основе старых версий TLS и TLS 1.3 без ESNI пропускаются как обычно.

Напомним, что для организации работы на одном IP-адресе нескольких HTTPS-сайтов было разработано расширение SNI, осуществляющее передачу имени хоста в открытом виде в сообщении ClientHello, передаваемом до установки шифрованного канала связи. Подобная особенность даёт возможность на стороне интернет-провайдера выборочно фильтровать HTTPS-трафик и анализировать какие сайты открывает пользователь, что не позволяет добиться полной конфиденциальности при применении HTTPS.

Новое TLS-расширение ESNI, которое может применяться совместно с TLS 1.3, устраняет этот недостаток и полностью исключает утечку сведений о запрашиваемом сайте при анализе HTTPS-соединений. В сочетании с обращением через сеть доставки контента применение ESNI также даёт возможность скрыть от провайдера и IP-адрес запрашиваемого ресурса. Системы инспектирования трафика будут видеть только обращения к CDN и не смогут применить блокировку без подмены TLS-сеанса, в случае которой в браузере пользователя будет показано соответствующее уведомление о подмене сертификата. Возможным каналом утечки остаётся DNS, но для скрытия обращения к DNS клиентом может применяться DNS-over-HTTPS или DNS-over-TLS.

Исследователи уже выявили несколько обходных путей для обхода китайской блокировки на стороне клиента и сервера, но они могут потерять актуальность и их следует рассматривать лишь как временную меру. Например, в настоящее время блокируются только пакеты с идентификатором расширения ESNI 0xffce, но пока пропускаются пакеты с дополнительными идентификаторами 0xff02, 0xff03 и 0xff04, использование которых допускается в спецификации.

Другим вариантом обхода является использование нестандартного процесса согласования соединения, например, блокировка не срабатывает при предварительной отправке дополнительного SYN-пакета с неверным номером последовательности, манипуляциями с флагами фрагментирования пакетов, отправке пакета с одновременно выставленными флагами FIN и SYN, подстановке RST-пакета с некорректной контрольной суммой или отправке до начала согласования соединения пакета с флагами SYN и ACK. Описанные методы уже реализованы в форме плагина к инструментарию Geneva, развиваемого для обхода методов цензурирования.

Источник: http://www.opennet.ru/opennews/art.shtml? num=53520

©  OpenNet