Исследователи сетевого трафика обнаружили, что клиент российского мессенджера 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. МАХ не отправляет запросы на серверы WhatsApp и Telegram. Используемые технические решения направлены на обеспечение высокого качества работы сервисов — в первую очередь звонков и уведомлений. К персональным данным или пользованию другими сервисами, включая VPN, они не имеют никакого отношения».
Из официального ответа команды Max пресс-службе «Хабра».
Уязвимость при обработке изображений
Позже исследователи сообщили ещё об одной проблеме безопасности. В веб-версии мессенджера MAX была обнаружена уязвимость, которая позволяет любому пользователю открыть изображения из личных сообщений по прямой ссылке, даже без авторизации.
Если злоумышленник знает точный веб-адрес изображения, он может получить доступ к нему без входа в систему, что теоретически позволяет ему с помощью ботов и парсеров перебирать такие ссылки автоматически. Проблема сохраняется, даже если изображение удалено из переписки — ссылка остаётся активной ещё некоторое время.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!