Разработчики Telegram добавили в код мессенджера возможность маскировки трафика под HTTPS (TLS + HTTP/2.0). Очевидно, что это было сделано для более эффективного обхода блокировки в России, Китае, Иране и других странах.
В Telegram используется собственный протокол прокси, данные по которому передаются в зашифрованном виде. Проблема в том, что власти некоторых стран заставляют провайдеров на всякий случай блокировать неизвестный трафик, а это приводит к неработоспособности Telegram или к тому, что у пользователей перестают загружаться и передаваться изображения и видео. В России формально провайдеры не могут урезать какой-либо тип трафика по указанию властей, но судя по тому, что с Telegram иногда возникают описанные сложности, они занимаются этим неформально в качестве эксперимента. В ноябре 2019 года в нашей стране в силу вступит закон о суверенном интернете, и тогда провайдеры будут обязаны блокировать тот или иной тип трафика, если он используется ресурсами и сервисами, попавшими под блокировку.
Создатели прокси-серверов теперь могут использовать это нововведение в своих утилитах, работающих с протоколом MTProto. Технические особенности новой возможности описаны в статье на Habr.com.
В протоколе между клиентом Telegram и прокси-сервером добавлен ещё один слой инкапсуляции поверх TCP.Попытка замаскировать Telegram под популярный протокол выглядит вполне логичной и закономерной. Теперь мессенджер может прикидываться сайтом, обращение к которому происходит по IP-адресам в зашифрованном протоколе HTTPS, причём эти адреса могут постоянно меняться. Блокировка Telegram на уровне определения протокола становится невозможной, а для ограничения его работы потребовалось бы закрыть доступ к большинству сайтов.
Для демонстрации был доработан и поднят прокси-сервер на языке Python, к которому можно подключаться десктопным клиентом Telegram последних версий и смотреть передающийся трафик с помощью Wireshark:
tg://proxy?server=178.62.232.110&port=3256&secret=7gAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29t
iGuides в Telegram — t.me/igmedia
iGuides в Яндекс.Дзен — zen.yandex.ru/iguides.ru