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

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

Маскировка нужна для сокрытия факта использования мессенджера.

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

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

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

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

Ищем темную материю и подписчиков!

Одно найти легче, чем другое. Спойлер: это не темная материя

Станьте частью научной Вселенной — подпишитесь