Недавнее исследование показало, что клиент Telega (форк официального клиента Телеграмм) перенаправляет трафик через серверы, использует чужой RSA‑ключ и отключает PFS, позволяя перехватывать сообщения Telegram.
Telegram публикует официальные мобильные клиенты под лицензией GPLv2, позволяя любому желающему собрать приложение из исходного кода. Telega взял базу официального Android‑клиента, но, согласно анализу, вносит изменения, которые не раскрыты в репозитории, нарушая требования открытой лицензии.
В рекламных материалах проект обещает «сквозное шифрование Telegram» и возможность работы без VPN, а его Telegram‑канал когда‑то имел более пяти миллионов подписчиков. При этом реальная работа клиента отличается от заявленного.
Под капотом
Первое заметное отклонение – обращение к api.telega.info/v1/dc-proxy сразу после запуска. Сервера этого домена отдают JSON‑список «дата‑центров», которые клиент подменяет вместо официальных IP‑адресов Telegram. В результате все соединения идут через прокси‑инфраструктуру Telega, а не напрямую к серверам мессенджера.
Если клиент использует открытый ключ Telegram, такой прокси может лишь перенаправлять зашифрованный поток, но не расшифровывать его. В Telega найден дополнительный открытый RSA‑ключ, отсутствующий в оригинальном коде. Наличие собственного ключа подразумевает, что серверы Telega владеют соответствующим закрытым ключом и способны установить зашифрованный канал с клиентом без участия официальных серверов.
Комбинация подмены адресов и собственного RSA‑ключа открывает путь к атаке типа «человек посередине»: злоумышленник, контролирующий прокси‑сервер, получает возможность читать, изменять и подделывать любой трафик, включая содержимое личных сообщений, историю чатов и действия с учётной записью.
Дополнительно в коде обнаружены механизмы, позволяющие отключать Perfect Forward Secrecy (PFS) и поддержку секретных E2E‑чатов. Эти функции либо выключаются по умолчанию, либо управляются удалённой конфигурацией, получаемой тем же dc‑proxy. UI‑элементы для создания секретных чатов скрыты, а клиент игнорирует их.
Отдельный эндпоинт api.telega.info/v1/api/blacklist/filter позволяет серверу подавать клиенту список скрываемых каналов, профилей и чатов. Таким образом, пользователь может увидеть неполный набор контента, отфильтрованный по решению удалённого сервера.
| Функция | Официальный клиент Telegram | Telega |
|---|---|---|
| Подключение к официальным дата‑центрам | Да, без посредников | Перенаправление через dc‑proxy |
| Используемый RSA‑ключ | Только открытый ключ Telegram | Дополнительный собственный открытый RSA‑ключ |
| PFS (Perfect Forward Secrecy) | Включено по умолчанию | Отключено или управляется удалённо |
| Секретные E2E‑чаты | Поддержка и UI‑элементы | Отключены, UI скрыт |
| Фильтрация контента | Отсутствует | Удалённый чёрный список через blacklist/filter |
Текущий механизм Telega позволяет полностью контролировать зашифрованный трафик, что делает невозможным гарантировать конфиденциальность сообщений, даже если пользователь считает, что использует «сквозное шифрование Telegram».
Нарушение условий GPLv2, связанное с сокрытием изменений, может привести к юридическим претензиям со стороны Telegram. Технически, исправление потребует удаления собственного RSA‑ключа и возвращения к прямому подключению к официальным дата‑центрам, а также восстановления PFS и поддержки секретных чатов. Пока сообщество не получит официальных патчей, пользователям рекомендуется отдавать предпочтение проверенным клиентам, распространяемым под открытой лицензией без скрытых модификаций.