Исследователи сетевого трафика обнаружили, что клиент российского мессенджера Max обращается к нескольким зарубежным сервисам для определения внешнего IP‑адреса пользователя, а также к доменам, связанным с другими мессенджерами, такими как Telegram и WhatsApp.
Позже появился подробный разбор, где авторы проанализировали работу приложения с помощью обратной разработки. Они пришли к выводу, что мессенджер Max в процессе анализа собирает информацию о типе соединения, данные об операторе и IP-адресе, а также проверяет, подключён ли на устройстве VPN.
После выхода материала команда Max заявила, что выводы о слежке за пользователями неверны и основаны на неправильной интерпретации кода.
Что насторожило авторов
При анализе сетевой активности Android-клиента исследователь заметил, что приложение отправляет запросы к нескольким публичным сервисам, которые возвращают пользователю его внешний IP-адрес. Среди них упоминаются:
По данным исследователей, такие сервисы обычно используют в технических целях — например, для установки соединения при совершении P2P-звонков. Однако обычно для такой задачи достаточно одного сервиса. Несколько источников могут использоваться, чтобы собрать более полную картину о том, как именно пользователь выходит в интернет — например, пользуется ли он прокси и VPN, настроена ли у него раздельная маршрутизация для доступа к зарубежным и русскоязычным ресурсам и так далее.
Кроме сервисов определения IP, авторы обнаружили сетевые обращения к доменам, связанным с другими мессенджерами. Среди них:
- main.telegram.org;
- mmg.whatsapp.net.
Это может использоваться для проверки сетевой среды пользователя — в частности, заблокирован ли у него доступ к конкурентам.
Какие данные изучает Max
Исследование на основе обратной разработки показало, что Max использует встроенный модуль для проверки доступности определённых сервисов, как иностранных, так и российских — вроде «Госуслуг» и «Яндекса».
По данным исследования, мессенджер считывает:
- тип соединения — Wi-Fi, мобильное медленное или быстрое соединение;
- доступность хостов — проверяется доступность различных сервисов;
- IP-адрес — собираются данные о внешнем IP-адресе пользователя;
- оператора связи — информацию о мобильном операторе, в том числе код страны и оператора;
- VPN — флаг, указывающий на то, используется ли VPN на устройстве.
Также авторы выяснили, что модуль работает скрытно и может быть включён и выключен удалённо с сервера. При входе в систему или обновлении сессии приложение получает конфигурацию с флагом host-reachability, что позволяет включать или выключать проверку для отдельных аккаунтов по мере необходимости.
Официальный ответ команды Max
Команда мессенджера отреагировала на публикацию и заявила, что выводы о слежке за пользователями не соответствуют действительности. Они дали пояснения по основным претензиям авторов к мессенджеру:
«1. Информация об IP-адресах используется исключительно для обеспечения корректной работы звонков. Для установки P2P-соединения (звонков) технология WebRTC требует внешний IP, чтобы построить прямой маршрут „телефон-телефон“. Это стандарт для всех сервисов, которые осуществляют звонки при помощи данной технологии;
2. Запросы на серверы, например Apple и Google, необходимы для проверки доставки push-уведомлений пользователям. В сложных сетевых условиях и ограничениях мобильной связи в отдельных регионах — это необходимая мера для корректной работы уведомлений;
3. Мax не отправляет запросы на серверы WhatsApp и Telegram. Используемые технические решения направлены на обеспечение высокого качества работы сервисов — в первую очередь звонков и уведомлений. К персональным данным или пользованию другими сервисами, включая VPN, они не имеют никакого отношения».
Из официального ответа команды Max пресс-службе «Хабра».
Уязвимость при обработке изображений
Позже исследователи сообщили о ещё одной проблеме безопасности. В веб-версии мессенджера Max была обнаружена уязвимость, которая позволяет любому пользователю открыть изображения из личных сообщений по прямой ссылке, даже без авторизации.
Если злоумышленник знает точный веб-адрес изображения, он может получить доступ к нему без входа в систему, что теоретически позволяет ему с помощью ботов и парсеров перебирать такие ссылки автоматически. Проблема сохраняется, даже если изображение удалено из переписки, — ссылка остаётся активной ещё некоторое время.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!