Новость

13 августа, 2019

Трафик Telegram теперь может маскироваться под протокол HTTPS

Благодаря нововведениям трафик Telegram теперь может маскироваться под протокол HTTPS (TLS + HTTP/2.0) – с этой целью в код клиента был добавлен префикс секрета «ee». Также вдобавок к base16 (hex) появилась возможность шифровать секрет в адресе прокси-сервера с помощью base64.

Сейчас в Telegram используется собственный протокол MTProto, появившийся около года назад, как и официальный прокси для него. В MTProto отсутствуют служебные заголовки, позволяющие идентифицировать его. Но выявить использование протокола, а заодно и самого мессенджера, всё-таки можно по длине пакетов. Дело в том, что при установке соединения между клиентом и прокси-сервером происходит обмен пакетами определенной длины, а при работе – пакетами одной и той же длины. Это дало провайдерам возможность выявлять трафик Telegram по длине пакетов, передаваемых по MTProto.

Для решения вышеуказанной проблемы в целях маскировки протокола разработчики мессенджера добавили случайный байт в каждый пакет. Тем не менее, данный шаг влиял на совместимость, из-за чего разработчики добавили в секрет префикс «dd».

Поскольку использование MTProto продолжал выдавать трафик Telegram (поэтому его успешно блокируют в Иране и Китае с помощью атак повторного воспроизведения), разработчики решили реализовать в нем возможность маскировки под другие протоколы. В частности, был добавлен дополнительный слой инкапсуляции поверх TCP, и теперь данные словно «заворачиваются» в записи TLS. Также была реализована эмуляция TLS-рукопожатия.

 

Смотрите также

Подпишись на новости!
Подписаться