Исследование, недавно опубликованное специалистами по безопасности, выявило серьезные уязвимости в Telega, альтернативном клиенте Telegram. По данным экспертов, изменения, внедренные разработчиками Telega, могут привести к реализации MITM-атак и отключению ключевых элементов криптозащиты, обеспечиваемых официальным мессенджером.
Telega использует исходный код оригинального Android-клиента Telegram, распространяемый под лицензией GPLv2. Однако, вопреки требованиям лицензии, разработчики не раскрывают внесенные изменения, что вызывает дополнительные опасения.
Основные технические находки, выявленные после анализа APK-пакета и сетевых вызовов, указывают на следующие проблемы:
- Клиент Telega перенаправляет трафик через собственную инфраструктуру. При запуске приложение обращается к адресу api.telega.info/v1/dc-proxy для получения списка "дата-центров", которые подставляются вместо официальных серверов Telegram. Это заставляет клиент устанавливать соединения через прокси Telega, что может быть обосновано попыткой обхода блокировок доступа к серверам Telegram. Однако, если использовать официальные открытые ключи Telegram, прокси-серверы не смогут получить доступ к содержимому шифрованных сообщений без закрытых ключей, используемых на официальных серверах.
- В сборке обнаружен дополнительный RSA-ключ, отсутствующий в официальных клиентах Telegram. Этот открытый ключ может использоваться для установки шифрованных сеансов со своими серверами Telega, что создает возможность проведения MITM-атак.
- Комбинация подмены адресов и использования собственного открытого ключа позволяет злоумышленникам перехватывать все входящие и исходящие сообщения, просматривать историю переписки, подменять содержимое сообщений и выполнять действия с учетной записью пользователя без его ведома.
- Механизмы Perfect Forward Secrecy (PFS) и поддержка секретных E2E-чатов либо отключены по умолчанию, либо управляются удаленной конфигурацией через dc-proxy. Это приводит к игнорированию секретных чатов и скрытию UI-элементов для их создания.
- В коде выявлены удаленные фильтры/черные списки, которые позволяют скрывать каналы, профили и чаты на стороне клиента по решению сервера. Эти фильтры запрашиваются у api.telega.info/v1/api/blacklist/filter.
Telega позиционируется как клиент Telegram, созданный на базе открытого кода мессенджера и способный работать без использования VPN. На странице проекта заявлено, что "вся информация надежно защищена сквозным шифрованием Telegram". Ранее Telegram-канал Telega с более чем 5 миллионов подписчиков был верифицирован, но на момент написания статьи эта отметка отсутствует. Бот авторизации Telega ежемесячно использует более 6 миллионов пользователей.