Все началось с наблюдений, сделанных участниками профильного форума NTC. Пользователи перехватили трафик официального APK-файла Max с помощью PCAPdroid и анализа в эмуляторе и заметили, что мессенджер регулярно обращается к нескольким сервисам определения внешнего IP-адреса, включая зарубежные (api.ipify.org, checkip.amazonaws.com, ifconfig.me), наряду с российскими (ip.mail.ru, сервисы «Яндекса»). Помимо этого, в дампах трафика были замечены обращения к доменам main.telegram.org и mmg.whatsapp.net — последний используется WhatsApp для загрузки медиа и в настоящее время блокируется Роскомнадзором.
Вскоре на «Хабре» появился более подробный разбор с результатами реверс-инжиниринга клиента Max. Исследователь пишет, что перехватил трафик через mitmproxy в режиме WireGuard, разобрал проприетарный бинарный протокол приложения (на базе MessagePack) и написал аддон для расшифровки данных.
Среди перехваченных сообщений обнаружился event-тип GET_HOST_REACHABILITY, в рамках которого клиент отправляет на сервер api.oneme.ru подробный отчет: IP-адрес пользователя, тип соединения (Wi-Fi, мобильная сеть), PLMN-код мобильного оператора, флаг активности VPN (определяется через стандартный Android API — NetworkCapabilities.TRANSPORT_VPN) и результаты проверки доступности ряда хостов — включая gosuslugi.ru, gstatic.com, main.telegram.org и mmg.whatsapp.net. Каждый хост проверяется по двум параметрам: ping (ICMP) и TCP-подключение на порт 443.
Исследователь считает, что этот модуль не является чем-то случайным или заброшенным. Анализ через JADX показал, что список проверяемых хостов и URL для получения IP зашит в конкретных классах приложения, IP-адрес запрашивается асинхронно из перемешанного пула российских и зарубежных источников, а ответ 127.0.0.1 отбрасывается. Модуль активируется при сворачивании и разворачивании приложения, а включается и отключается удаленно, через серверный флаг host-reachability, что позволяет активировать его таргетно для отдельных аккаунтов.
По мнению автора исследования, такая схема позволяет определять, пользуется ли человек VPN (по расхождению IP-адресов от российских и зарубежных сервисов), проверять эффективность блокировок на ТСПУ (ping проходит, а TCP:443 — нет), а также вычислять IP-адреса приватных VPN-серверов. При этом телеметрия смешивается с основным трафиком мессенджера по проприетарному протоколу, что делает невозможной ее блокировку без отключения самого Max.©