Предисловие

Ситуация вокруг форка телеге откровенно подзадолбала. Одни пишут статьи из трех пунктов в духе «все плохо, пользоваться ОПАСНО», но без конкретики: где нашли уязвимость и как она применяется — непонятно. Блогеры же, наоборот, топят за «положительные примеры», но аргументация у них на уровне «поверь мне, брат».

Всё это выглядит неоднозначно. Даже так называемые «детальные разборы» не убеждают, потому что написаны в том же стиле, что и реклама у стримеров, хоть и есть какие никакие аргументы. но их мало для нормизов, а осведомленные люди сами могут все зачекать. Статьи от «задрота» для «задрота»

Я не эксперт, не профессиональный автор и уж точно не претендую на звание грамотея. Но раз уж мы живем в эру нейромусора, решил вкинуть «свой» анализ. Я провел два аудита декомпилированной программы через JADX с помощью VS Code Copilot (модель Opus 4.6).

Ниже привожу всё, что выдала нейронка в качестве финального вывода. Версия программы 2.3.1

Полный аудит безопасности мессенджера «Телега» (ru.dahl.messenger): Разбор по кирпичикам

Дата аудита: 21 февраля 2026 г.
Исследуемая версия: декомпилированный APK клиента «Телега» (ru.dahl.messenger)
Метод: статический анализ декомпилированного Java/Kotlin кода (jadx)

Содержание

  1. Что такое «Телега» и зачем она нужна?

  2. Архитектура приложения: как устроена Телега изнутри

  3. Главный вопрос: читает ли VK/Mail.ru ваши сообщения?

  4. DC Proxy — «Телега-режим» и прокси-серверы

  5. Звонки через серверы Одноклассников

  6. Телеметрия и трекинг: что собирает MyTracker (VK)

  7. Уязвимости TLS/SSL: возможен ли перехват трафика?

  8. Разрешения: зачем мессенджеру 75 разрешений?

  9. Может ли Телега воровать данные из других приложений?

  10. Захардкоженные ключи и секреты

  11. Дополнительные находки

  12. Итоговая оценка: кому стоит беспокоиться?

  13. FAQ: ответы на главные вопросы простым языком

1. Что такое «Телега» и зачем она нужна?

Телега (пакет ru.dahl.messenger) — это форк (модифицированная копия) официального Telegram-клиента. Она создана для работы в условиях блокировки Telegram Роскомнадзором в России.

Контекст ситуации в России (2025–2026)

  • С лета 2025 года в России не работают голосовые и видеозвонки в Telegram

  • С начала 2026 года РКН начал замедлять отправку сообщений и медиафайлов

  • Для обхода этих ограничений Телега предлагает:

    • Собственные прокси-серверы для пересылки трафика

    • Звонки через серверы Одноклассников (VK/Mail.ru) вместо серверов Telegram

    • Автоматическую ротацию прокси при блокировках

Что такое «форк»?

Простым языком: разработчики Телеги скопировали открытый исходный код Telegram и добавили свои модификации. Ядро мессенджера (шифрование, протокол MTProto, хранение сообщений) осталось от оригинального Telegram, но поверх него «надстроили» дополнительный слой — прокси, звонки через VK, аналитику и другие функции.

2. Архитектура приложения: как устроена Телега изнутри

Телега состоит из двух слоёв:

Слой 1: Оригинальный Telegram (пакет org.telegram.*)

Это стандартный код Telegram — протокол MTProto 2.0, шифрование, хранение сообщений, секретные чаты, работа с серверами. Однако в этот код были внесены модификации — найдено более 50 файлов оригинального Telegram с импортами ru.dahl.messenger.*.

Основные изменения в оригинальном коде (org/telegram/):

  • ConnectionsManager.java — добавлены методы isTelegaMode()setDcVersion(), блокировка DNS-запросов и обновлений DC

  • LoginActivity.java — 5 проверок isTelegaMode() при авторизации

  • DialogsActivity.java — управление прокси-баром

  • ProxyListActivity.java — скрытие настроек прокси в Telega Mode

Слой 2: Надстройка Телега (пакет ru.dahl.messenger.*)

Это собственный код разработчиков Телеги:

  • Прокси-система (ru.dahl.messenger.proxy) — автоматические MTProto-прокси

  • DC Proxy (ru.dahl.messenger.dc) — подмена адресов серверов Telegram

  • Телеметрия (ru.dahl.messenger.utils.Tracker) — отправка аналитики через MyTracker (VK)

  • Звонки (ru.dahl.messenger.voip) — интеграция с OK Calls SDK

  • Мост к Telegram (ru.dahl.messenger.bridge) — интерфейс между Телегой и ядром Telegram

Встроенные SDK третьих сторон (VK/Mail.ru/OK)

  • MyTracker 3.5.0 (com.my.tracker) — аналитика VK/Mail.ru

  • OK Calls SDK (ru.ok.android.externcalls) — полный VoIP-стек от Одноклассников

  • OK API SDK (ru.ok.android.sdk.api) — API Одноклассников

  • OK Tracer SDK (ru.ok.tracer) — система крашлитики от OK

  • OK OneLog (ru.ok.android.onelog) — логирование от OK

3. Главный вопрос: читает ли VK/Mail.ru ваши сообщения?

Короткий ответ: НЕТ — прямого доступа к содержимому сообщений у VK/Mail.ru нет.

Подробный разбор

Мы тщательно проверили интерфейс ITelegramBridge — единственный мост между надстройкой Телеги и ядром Telegram.

Файл: sources/ru/dahl/messenger/bridge/ITelegramBridge.java

Этот интерфейс предоставляет Телеге следующие возможности:

  • Получить ID текущего пользователя (getCurrentUserId())

  • Проверить, является ли чат каналом/группой (isChannel()isGroup())

  • Получить push-токен (getPushToken())

  • Получить список каналов (getChannels())

  • Проверить, включён ли VPN (isVpnEnabled())

  • Присоединиться к каналу (joinToChannel())

Чего в этом интерфейсе НЕТ:

  • ❌ Метода для чтения текста сообщений

  • ❌ Метода для перехвата секретных чатов

  • ❌ Доступа к двухфакторному паролю

  • ❌ Доступа к содержимому медиафайлов

  • ❌ Доступа к ключам шифрования

Интерфейс IDahlMessage (sources/ru/dahl/messenger/bridge/IDahlMessage.java) содержит только метаданныеgetId()getDate()getDialogId()isUnread()Метода для получения текста сообщения в этом интерфейсе нет — Телега физически не может прочитать, что вы написали, через свой мост.

Что отправляется на серверы Telega/VK?

Мы проверили все REST-эндпоинты приложения. На api.telega.info отправляется:

  • Профиль: username, имя, телефон, версия приложения, IP, язык, временная зона, модель устройства

  • Push-токен для уведомлений

  • Статистика использования прокси

Через MyTracker (VK) отправляется:

  • Названия событий (auth_startauth_successopenWall) — без содержимого сообщений

  • Пользовательский ID

  • Состояние VPN (включён/выключен)

Двухфакторный пароль

Единственное упоминание 2FA в аналитике — событие auth_cloud_password_success в Tracker.java. Это только факт успешного прохождения 2FA. Сам пароль не отправляется — ни на серверы VK, ни на серверы Telega.

Секретные чаты

  • Содержимое секретных чатов не перехватывается слоем Телеги

  • E2E-шифрование (протокол Диффи-Хеллмана) Telegram не модифицировано в bridge-слое

  • Однако есть ключ disable_secret_chats (DahlSettingsKeys.java) — возможность удалённо отключить создание новых секретных чатов через серверную конфигурацию

Медиафайлы

Телеметрия не включает содержимое медиафайлов. Фото, видео, документы передаются стандартным путём через протокол Telegram (MTProto), а не через серверы VK.

4. DC Proxy — «Телега-режим» и прокси-серверы

Это самая существенная модификация и главная причина, по которой Телега работает при блокировках.

Как работает «Телега-режим» (Telega Mode)

В файле DCVersion.java определены два режима:

TELEGRAM_MODE = 1  // стандартные серверы Telegram
TELEGA_MODE = 2    // прокси-серверы Телеги

Когда включён Telega Mode, происходят три критических изменения:

1) Адреса серверов Telegram подменяются (ConnectionsManager.java, строка 1908):

Метод native_setDcVersion() передаёт в нативный C++ движок Telegram новые адреса дата-центров. Клиент «думает», что подключается к DC1-DC5 серверам Telegram, но на самом деле трафик идёт через прокси-серверы Телеги.

Адреса прокси загружаются с https://api.telega.info/v1/dc-proxy (DCRestService.java).

2) DNS-запросы к Telegram блокируются (ConnectionsManager.java, строка 1160):

if (connectionsManager.isTelegaMode()) {
    FileLog.d("skip DNS request in Telega DC mode");
    return;
}

3) Обновление DC-настроек от Telegram блокируется (ConnectionsManager.java, строка 990):

if (isTelegaMode()) {
    FileLog.d("skip update DC settings in Telega mode");
    return;
}

Схема маршрутизации трафика

Стандартный Telegram:   Телефон ──────────────────→ Серверы Telegram
Телега (Telega Mode):   Телефон → Прокси Телеги → Серверы Telegram → Прокси Телеги → Телефон

Что это означает для пользователя?

Аспект

Telegram Mode

Telega Mode

Маршрут трафика

Напрямую к Telegram

Через прокси Телеги

Кто видитметаданные (кому, когда, размер)

Только Telegram

Telegram + Телега

Кто видитсодержимое обычных чатов

Только Telegram (сервер расшифровывает)

Только Telegram (прокси видит зашифрованный MTProto)

Кто видитсодержимое секретных чатов

Никто (E2E)

Никто (E2E сохраняется)

Кто видит вашIP-адрес

Telegram

Telegram + прокси Телеги

Важный нюанс: трафик между клиентом и сервером Telegram зашифрован протоколом MTProto 2.0. Прокси-серверы Телеги не могут расшифровать содержимое — они лишь пересылают зашифрованные пакеты. Но они видят метаданные: кто, когда, куда и сколько данных отправлено.

Для обычных (облачных) чатов — риск не увеличивается существенно, потому что содержимое и так расшифровывается на серверах Telegram (так работает облачный чат в любом клиенте Telegram).

Для секретных чатов — E2E-шифрование сохраняется, прокси-серверы видят только зашифрованный поток.

Автоматическая ротация прокси

Помимо DC Proxy, Телега также использует систему обычных MTProto-прокси (ProxyRepository.java):

  • Список прокси загружается с api.telega.info/v1/auth/proxy

  • Прокси кэшируются локально (telega_cached_proxies)

  • При блокировке автоматически переключаются на рабочие

  • Статистика работы прокси отправляется на stats.dahlmessenger.com

5. Звонки через серверы Одноклассников

Как это работает

Телега полностью заменила стандартную VoIP-систему Telegram на SDK звонков от Одноклассников (OK Calls SDK). Это полноценный WebRTC-стек:

  • Сигнализация (сигнальный сервер): https://calls.okcdn.ru/ (Extra.java)

  • Версия SDKsdk-sdk-125.1.0.70.6 (зашита в ConversationFactory.java, строка 189)

  • API-ключCHKIPMKGDIHBABABA (зашит в Extra.java)

Ключевые компоненты:

  • ConversationFactory.java — создание/принятие звонков (485 строк)

  • TelegaVoIPHelper.java — основной VoIP-хелпер (1230 строк)

  • WTSignaling.java — WebTransport-сигнализация

  • CallAnalyticsSender.java — отправка аналитики звонков

Какие данные отправляются на серверы OK при звонках

Аналитика звонков отправляется на api.ok.ru через метод API vchat.clientStats (SdkMetricStatEvent.java):

Данные

Описание

platformapp_versionsdk_version

Информация о платформе

Уровень батареи (начало/конец звонка)

Мониторинг батареи

RTT, топология сети

Сетевые метрики WebRTC

webtransport_restartconnectedfailed

Метрики сигнализации

Информация о разговоре

Метаданные звонка (ID, длительность)

Что это значит для пользователя?

Все голосовые и видеозвонки полностью проходят через серверы VK/Mail.ru (Одноклассники), а не через серверы Telegram.

VK/Mail.ru:

  • ✅ Знает, кто кому звонит (метаданные)

  • ✅ Знает длительность звонков

  • ✅ Знает сетевые параметры (IP, RTT, тип сети)

  • ✅ Имеет техническую возможность прослушивания (серверы полностью контролируемы)

  • ⚠️ Звонки шифруются WebRTC (SRTP/DTLS), но ключи создаются при участии сервера OK

Почему так сделано? Потому что стандартные звонки Telegram заблокированы РКН, а серверы Одноклассников — нет.

6. Телеметрия и трекинг: что собирает MyTracker (VK)

MyTracker — что это?

MyTracker — это система аналитики от VK (Mail.ru Group). SDK версии 3.5.0 встроен в Телегу.

Файлы: sources/com/my/tracker/MyTracker.java, sources/com/my/tracker/MyTrackerParams.java

Инициализация

В файле DahlInitializer.java, строка 53:

Tracker.init(trackerKey, application);

Ключ SDK: 84487490501271892386 (Extra.java)

Какие события отслеживаются

Файл Tracker.java определяет полный список событий:

Авторизация:

Событие

Расшифровка

auth_start

Начало авторизации

auth_phone_submit

Отправка номера телефона

auth_code_success

Успешный ввод кода

auth_cloud_password_success

Успешный ввод 2FA

auth_success

Успешная авторизация

auth_error

Ошибка авторизации

Звонки:

Событие

Расшифровка

call_flow_initiated

Начало звонка

call_dialog_shown

Показ диалога звонка

call_dialog_action_tapped

Действие в диалоге звонка

group_call_flow_initiated

Начало группового звонка

Инвайты и «Стена»:

Событие

Расшифровка

invite_action_success

Успешное приглашение

openWallopenChatWallopenMenuWall

Открытие «Стены»

enableChatsWalldisableChatsWall

Включение/выключение «Стены»

Прокси:

Событие

Расшифровка

proxy_pre_auth_auto_start

Автоматическое подключение прокси до авторизации

proxy_post_auth_auto_fail

Ошибка прокси после авторизации

Критическая деталь: трекинг VPN

В файле Tracker.java, метод trackEvent():

map.put(PARAM_VPN_ENABLED, String.valueOf(DahlInitializer.INSTANCE.getBridge().isVpnEnabled()));

К каждому событию аналитики автоматически добавляется параметр vpn_enabled. Информация о том, использует ли пользователь VPN, отправляется на серверы VK/Mail.ru.

Поля для кросс-платформенной идентификации

SDK MyTracker (MyTrackerParams.java) имеет поля для связывания пользователя с другими сервисами:

  • VkId / OkId / IcqId — ID в ВКонтакте, Одноклассниках, ICQ

  • EmailPhone — электронная почта и телефон

  • CustomUserId — ID пользователя Телеги

  • AgeGender — возраст и пол

  • MrgsUserId — ID в Mail.ru Game Services

Примечание: наличие полей не означает, что все они заполняются. В коде Телеги обнаружено заполнение только CustomUserId (метод setUserId() в Tracker.java). Но инфраструктура для cross-platform трекинга уже встроена.

7. Уязвимости TLS/SSL: возможен ли перехват трафика?

7.1 КРИТИЧНО: Разрешён HTTP-трафик без шифрования

Файл: resources/res/xml/network_security_config_release.xml

<base-config cleartextTrafficPermitted="true">

Также в AndroidManifest.xml: android:usesCleartextTraffic="true"

Что это значит: приложение разрешает передачу данных по обычному HTTP (без шифрования). Любой, кто имеет доступ к сети (провайдер, Wi-Fi точка), может перехватить незашифрованные запросы.

7.2 КРИТИЧНО: Полное отключение проверки сертификатов в звонках

Файл: sources/ru/ok/android/externcalls/sdk/wt/WTSignaling.java, строка 121:

Http3Client.newBuilder().disableCertificateCheck().logger(baseLogger)...build();

Это код боевого VoIP-модуля (не тестового!). При установлении QUIC/HTTP3-соединения для сигнализации звонков проверка SSL-сертификатов полностью отключена.

Файл: sources/tech/kwik/core/impl/QuicClientConnectionImpl.java, строка 1009:

protected void trustAnyServerCertificate() {
    X509TrustManager x509TrustManager = new X509TrustManager() {
        public void checkClientTrusted(...) { }  // пусто!
        public void checkServerTrusted(...) { }   // пусто!
        public X509Certificate[] getAcceptedIssuers() { return null; }
    };
}

Что это значит: злоумышленник (или спецслужбы, или провайдер) может подставить свой сервер вместо calls.okcdn.ru и полностью перехватить голосовой/видео трафик звонков, включая содержимое. Это классическая MITM-атака, которая стала возможной из-за отключённой проверки сертификатов.

7.3 ВЫСОКИЙ РИСК: Собственный корневой CA от Одноклассников

Файл: sources/ru/ok/tracer/base/cert/TrustManagerUtils.java, строка 31:

public static final X509TrustManager createTracerTrustManager(Context context) {
    return createTrustManager(
        createDefaultTrustManager(),
        createTrustManager(createKeyStoreFromResource(context, R$raw.rootca_ssl_rsa2022))
    );
}

OK Tracer SDK использует собственный корневой сертификат (rootca_ssl_rsa2022), который добавляется к системным CA через CompositeX509TrustManager. Владелец приватного ключа этого сертификата (предположительно VK/Mail.ru) может выпустить сертификат для любого домена и расшифровать TLS-трафик, проходящий через Tracer SDK.

7.4 Отсутствие Certificate Pinning

В приложении не обнаружено SSL Pinning для основных доменов (api.telega.infocalls.okcdn.ruapi.ok.ru). Это означает, что если корневой CA скомпрометирован или на устройство установлен пользовательский CA — весь TLS-трафик может быть перехвачен.

Сводная таблица уязвимостей TLS

Уязвимость

Файл

Критичность

Что может произойти

HTTP без шифрования

network_security_config_release.xml

ВЫСОКАЯ

Перехват данных по сети

Отключение проверки SSL в звонках

WTSignaling.java

КРИТИЧЕСКАЯ

Полный перехват звонков (MITM)

TrustAllCerts в QUIC

QuicClientConnectionImpl.java

КРИТИЧЕСКАЯ

Подмена сервера

Собственный root CA

TrustManagerUtils.java

ВЫСОКАЯ

Расшифровка трафика Tracer

Нет Certificate Pinning

СРЕДНЯЯ

Уязвимость к корпоративному MITM

8. Разрешения: зачем мессенджеру 75 разрешений?

Файл: AndroidManifest.xml

В приложении заявлено 75 разрешений. Разберём наиболее важные.

Необходимые для мессенджера (ожидаемые)

Разрешение

Зачем нужно

INTERNETACCESS_NETWORK_STATE

Интернет

CAMERARECORD_AUDIO

Фото/видеосообщения, звонки

READ_CONTACTS

Поиск знакомых в Telegram

READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE

Отправка/сохранение файлов

VIBRATEWAKE_LOCK

Уведомления

ACCESS_FINE_LOCATION

Отправка геолокации

Избыточные/подозрительные разрешения

Разрешение

Риск

Комментарий

REQUEST_INSTALL_PACKAGES

КРИТИЧЕСКИЙ

Позволяет приложениюустанавливать другие APK без Play Store. Мессенджеру это не нужно

ACCESS_BACKGROUND_LOCATION

ВЫСОКИЙ

Отслеживание GPSв фоне, когда приложение свёрнуто

SYSTEM_ALERT_WINDOW

ВЫСОКИЙ

Рисование поверх других приложений — может использоваться для фишинга

CALL_PHONE

СРЕДНИЙ

Прямой звонок без подтверждения пользователя

READ_CLIPBOARD

ВЫСОКИЙ

Чтение буфера обмена (пароли, 2FA-коды, крипто-адреса)

FOREGROUND_SERVICE_MEDIA_PROJECTION

СРЕДНИЙ

Захват экрана в фоне

MANAGE_ACCOUNTSAUTHENTICATE_ACCOUNTS

СРЕДНИЙ

Управление аккаунтами устройства

com.google.android.gms.permission.AD_ID

СРЕДНИЙ

Рекламный идентификатор Google

ACCESS_ADSERVICES_ATTRIBUTION

СРЕДНИЙ

Рекламная атрибуция (Android 13+)

Для сравнения

Официальный Telegram не запрашиваетREQUEST_INSTALL_PACKAGESACCESS_BACKGROUND_LOCATIONAD_IDACCESS_ADSERVICES_ATTRIBUTIONREAD_CLIPBOARDFOREGROUND_SERVICE_MEDIA_PROJECTION.

9. Может ли Телега воровать данные из других приложений?

Короткий ответ: НЕТ — прямого доступа к данным других приложений нет.

Подробности

Android Sandbox: каждое приложение в Android работает в изолированной «песочнице». Телега не может прочитать данные WhatsApp, банковского приложения, файлового менеджера или любого другого приложения — это фундаментальное ограничение Android.

Что проверено:

  • ❌ Нет сканирования установленных приложений в целях слежки. queryIntentActivities используется только для стандартных целей — поиск браузера (Browser.java), определение лаунчера для бейджей (NotificationBadge.java), проверка эмулятора (EmuDetector.java)

  • ❌ Нет ContentProvider для доступа к другим приложениям (кроме стандартного доступа к контактам через ContactsContract)

  • ❌ SharedPreferences в MODE_PRIVATE (DahlSettings.java) — данные Телеги недоступны другим приложениям

  • ❌ Нет команд Runtime.exec() для скрытой активности — только в EmuDetector.java для проверки эмулятора

Что Телега может прочитать:

  • ✅ Контакты — стандартная функция мессенджера

  • ✅ Буфер обмена — разрешение READ_CLIPBOARD используется в ToolbarAdapter.java (вставка текста)

  • ✅ Файлы в общем хранилище — для отправки медиа (стандартная функция)

  • ✅ Геолокация — для отправки местоположения

Это не spyware и не троян. Телега не просматривает ваши фотографии в фоне, не записывает звонки в другие мессенджеры, не крадёт пароли из браузера. Но у неё есть избыточные разрешения (см. раздел 8), которые теоретически могут быть использованы через обновление.

10. Захардкоженные ключи и секреты

Файл: sources/ru/dahl/messenger/Extra.java

Константа

Значение

Риск

APP_HASH

a55678cc05c1aad2fb0aaccbf9663241

Позволяет третьей стороне использовать Telegram API от имени Телеги

APP_ID

21882615

То же — идентификация приложения

CALLS_API_KEY

CHKIPMKGDIHBABABA

Доступ к VoIP-инфраструктуре OK

GOOGLE_AUTH_CLIENT

504335149376-c2ju...

OAuth-клиент Google

MYTRACKER_SDK_KEY

84487490501271892386

Отправка аналитики от имени приложения

HUAWEI_APP_ID

115514803

Huawei Mobile Services

Также в AndroidManifest.xml: Google Maps API Key AIzaSyDwsNCdDOuWorTNGVS0M02Hpoukqq5BX8g.

Что это значит для пользователя? Мало. Эти ключи нужны для работы приложения. Но для злоумышленника — это возможность отправлять спам через Telegram API от имени Телеги или использовать VoIP-инфраструктуру OK. Это проблема разработчиков, а не пользователей.

11. Дополнительные находки

11.1 Автоматическая подписка на канал

При авторизации Телега автоматически подписывает вас на канал @dahlmessenger:

Файл: sources/ru/dahl/messenger/data/repository/UserRepository.java, строка 255:

bridge.joinToChannel("dahlmessenger", ...)

11.2 Удалённая конфигурация (Remote Config)

Телега поддерживает двойную систему удалённой конфигурации:

  1. Сервер Телеги (api.telega.info) — через DahlSettingsRemoteManager.java

  2. Серверы OK (api.ok.ru) — через OK SDK

Это означает, что поведение приложения может быть изменено удалённо без обновления через магазин приложений. В том числе:

  • Отключение секретных чатов (disable_secret_chats)

  • Изменение настроек прокси

  • Принудительный перелогин (force_relogin)

  • Переключение между режимами DC

11.3 Переключение режимов по push и deeplink

Push-уведомления (DcPushHandler.java) могут вызвать смену режима DC и принудительный разлогин.

Deeplinks (DCDeepLinkHandler.java) поддерживают URI-схемы telega://dahl://tg://dc_event с параметрами dc_versionforce_reloginforce_reconnect.

11.4 Root-детекция

OK Tracer SDK проверяет наличие root-доступа на устройстве (файлы /system/app/Superuser.apk/system/xbin/su) и отправляет эту информацию на свои серверы (sdk-api.apptracer.ru).

11.5 WebView с JavaScript-мостами

Обнаружено 11 мест с addJavascriptInterface — это JavaScript-мосты в WebView:

  • BotWebViewContainer.java — 2 интерфейса (TelegramWebviewProxyTelegramWebview)

  • WebviewActivity.java, ArticleViewer.java, и др.

Это стандартная функциональность Telegram (веб-боты, просмотр статей), но расширенная поверхность атаки для XSS.

11.6 Firebase Crashlytics

Ошибки приложения отправляются в Firebase Crashlytics (Google), что является стандартной практикой. Отправляются только сообщения об ошибках (логи), не данные пользователя.

12. Итоговая оценка: кому стоит беспокоиться?

Матрица рисков по категориям пользователей

Категория пользователя

Уровень риска

Рекомендация

Обычный пользователь, которому нечего скрывать

🟡 НИЗКИЙ-СРЕДНИЙ

Можно пользоваться с пониманием рисков

Пользователь, ценящий приватность

🟠 СРЕДНИЙ

Стоит задуматься об альтернативах

Журналист, активист, оппозиционер

🔴 ВЫСОКИЙ

Не рекомендуется — метаданные проходят через российскую инфраструктуру

Бизнес с конфиденциальными данными

🔴 ВЫСОКИЙ

Не рекомендуется — уязвимости TLS, телеметрия

Кто пользуется секретными чатами

🟠 СРЕДНИЙ

E2E-шифрование сохраняется, но создание секретных чатов может быть отключено удалённо

Что хорошо в Телеге

  1. ✅ Содержимое сообщений не отправляется на серверы VK/Mail.ru — это подтверждает анализ кода

  2. ✅ Двухфакторный пароль не перехватывается — отправляется только факт прохождения 2FA

  3. ✅ Секретные чаты остаются зашифрованными — E2E-протокол Telegram не модифицирован

  4. ✅ Telegram работает при блокировках — основная задача приложения выполняется

  5. ✅ Локальные данные зашифрованы AES-256-GCM (Google Tink) через AndroidKeyStore

  6. ✅ Нет шпионского ПО — приложение не крадёт данные из других программ

Что плохо в Телеге

  1. ❌ Весь MTProto-трафик проходит через серверы Телеги — метаданные видны третьей стороне

  2. ❌ Звонки полностью проходят через серверы VK/Mail.ru — с отключённой проверкой SSL

  3. ❌ Отключение проверки SSL-сертификатов в звонках — критическая уязвимость для MITM

  4. ❌ Телеметрия VK отправляет состояние VPN — спецслужбы могут узнать, пользуетесь ли вы VPN

  5. ❌ 75 разрешений, включая установку APK и фоновую геолокацию — значительно больше, чем нужно

  6. ❌ Собственный root CA от Одноклассников — потенциальная возможность расшифровать трафик

  7. ❌ Возможность удалённо отключить секретные чаты — через серверную конфигурацию

  8. ❌ Автоподписка на канал @dahlmessenger без спроса

  9. ❌ Поведение может быть изменено удалённо без обновления через магазин

13. FAQ: ответы на главные вопросы простым языком

«Читает ли VK мои сообщения?»

Нет. В коде нет механизма для передачи текста сообщений на серверы VK. Ваши переписки проходят через протокол Telegram (MTProto 2.0), который шифрует их. Прокси-серверы Телеги лишь пересылают зашифрованные пакеты — они не могут их расшифровать. Содержимое (текст, медиа) расшифровывается только на серверах Telegram — как и в обычном клиенте.

«А что насчёт секретных чатов?»

Секретные чаты используют end-to-end шифрование (E2E). Это означает, что никто — ни Telegram, ни Телега, ни VK — не может прочитать их содержимое. Этот механизм не был изменён в Телеге. Однако есть нюанс: через удалённую конфигурацию Телега может отключить возможность создания новых секретных чатов (ключ disable_secret_chats). Уже существующие секретные чаты это не затрагивает.

«Видит ли VK мой двухфакторный пароль?»

Нет. На серверы VK отправляется только факт: «пользователь успешно прошёл 2FA». Сам пароль не передаётся.

«Может ли Телега украсть мои фотки, данные из банковского приложения?»

Нет. Android не позволяет одному приложению читать данные другого. Телега не может заглянуть в WhatsApp, приложение банка, браузер или файловый менеджер. Она может получить доступ только к тому, что вы ей разрешите: камера, контакты, геолокация, файлы для отправки.

«Мне нечего скрывать. Стоит ли беспокоиться?»

Для обычного пользователя, который:

  • Не занимается чем-то незаконным

  • Не является журналистом/активистом

  • Хочет, чтобы Telegram работал в условиях блокировки

Телега — разумный компромисс. Да, ваши метаданные проходят через дополнительные серверы, звонки идут через VK, аналитика отправляется в MyTracker. Но содержимое переписок остаётся зашифрованным, данные из других приложений не крадутся.

Аналогия: это как использовать VPN от российского провайдера для обхода блокировок. VPN-провайдер видит, куда вы ходите (метаданные), но не может прочитать зашифрованный трафик (содержимое). Решение — доверяете ли вы этому «провайдеру» (VK/Mail.ru) в обмен на работающий Telegram.

«А если я ставлю Телегу маме/бабушке/другу, им нормально?»

Для «мамонтов» (неопытных пользователей) — да, для обычного общения Телега безопасна. Их сообщения, фотки, видео не будут «утекать» куда-то помимо серверов Telegram. Главное понимать:

  1. Звонки проходят через серверы VK — не Telegram

  2. Базовая аналитика (факт использования, приложений, VPN) отправляется в VK

  3. Приложение автоматически подпишет на канал @dahlmessenger

Для обычного общения с родственниками и друзьями — это некритично.

«Зачем тогда столько разрешений?»

Часть разрешений (камера, микрофон, контакты) — стандартные для мессенджера. Часть (REQUEST_INSTALL_PACKAGESACCESS_BACKGROUND_LOCATIONAD_ID) — избыточны. Скорее всего, они добавлены для:

  • REQUEST_INSTALL_PACKAGES — возможность обновления вне Play Store

  • ACCESS_BACKGROUND_LOCATION — отправка геолокации даже из свёрнутого приложения (Live Location)

  • AD_ID — рекламная аналитика (MyTracker)

Это не идеально, но не является вредоносной функциональностью.

«Есть ли альтернативы?»

Если вы не готовы к компромиссам Телеги:

  • Официальный Telegram + ручной MTProto-прокси или VPN — но требует настройки

  • Telegram X — альтернативный клиент от Telegram (но тоже может не работать при блокировках)

  • Другие мессенджеры (Signal, Matrix/Element) — другая экосистема контактов

Приложение: карта всех серверов и потоков данных

┌─────────────────┐
│   Ваш телефон   │
│    (Телега)      │
└────────┬────────┘
         │
    ┌────┴─────────────────────────────────────────┐
    │                                               │
    ▼                                               ▼
┌──────────────────┐                    ┌──────────────────────┐
│ Прокси Телеги    │                    │  calls.okcdn.ru      │
│ (DC Proxy)       │                    │  (VoIP OK/VK)        │
│ api.telega.info  │                    │  + API: api.ok.ru    │
└────────┬─────────┘                    └──────────────────────┘
         │                                        │
         ▼                                        │
┌──────────────────┐                              │
│ Серверы Telegram │                    Данные: метрики звонков,
│ (DC1-DC5)        │                    аналитика, метаданные
│ Расшифровка      │
│ cloud-чатов      │
└──────────────────┘

Дополнительные серверы:
├── stats.dahlmessenger.com    → Статистика прокси
├── events.telega.info         → Аналитические события
├── my.com (MyTracker)         → Телеметрия VK
├── sdk-api.apptracer.ru       → Крашлитика OK Tracer
└── Firebase (Google)          → Крашлитика Google

Приложение: список всех файлов с уязвимостями

#

Файл

Уязвимость

Критичность

1

WTSignaling.java

disableCertificateCheck() в боевом VoIP

КРИТИЧЕСКАЯ

2

QuicClientConnectionImpl.java

trustAnyServerCertificate() — принимает любой сертификат

КРИТИЧЕСКАЯ

3

network_security_config_release.xml

cleartextTrafficPermitted="true" в production

ВЫСОКАЯ

4

TrustManagerUtils.java

Собственный root CA rootca_ssl_rsa2022

ВЫСОКАЯ

5

ConnectionsManager.java

Подмена DC-адресов, блокировка DNS

ВЫСОКАЯ

6

Tracker.java

Трекинг VPN состояния

СРЕДНЯЯ

7

Extra.java

Захардкоженные ключи API

СРЕДНЯЯ

8

UserRepository.java

Автоподписка на канал

НИЗКАЯ

9

DahlSettingsKeys.java

Удалённое отключение секретных чатов

СРЕДНЯЯ

10

AndroidManifest.xml

75 разрешений, включая REQUEST_INSTALL_PACKAGES

СРЕДНЯЯ

Данная статья основана на статическом анализе декомпилированного кода. Динамический анализ (перехват трафика в реальном времени) не проводился. Выводы могут быть неполными — в нативном C++ коде (.so библиотеки) могут присутствовать дополнительные модификации, не доступные для анализа.