В Telegram для Android нашли способ деанонимизировать пользователей

Клик по «безобидной» ссылке раскрывает IP, User-Agent и данные об аккаунте — Android-версия под угрозой.


8mco2khia88pyze6890m15n49v2asawl.jpg

Обычное нажатие на юзернейм или ссылку в Telegram для Android может без предупреждения запустить mini app и передать владельцу веб-приложения технические сведения об устройстве вместе с данными профиля. Автор канала Chekist42 сообщил о подобном поведении в актуальной и нескольких предыдущих версиях мессенджера.

Сценарий использует специальную ссылку с параметром startapp , предназначенным для запуска mini app прямо внутри Telegram. Документация Telegram подтверждает, что подобные ссылки открывают встроенное приложение одним нажатием и передают веб-приложению заданный разработчиком параметр запуска.

После перехода Telegram загружает страницу во встроенном браузере WebView. По словам исследователя, сервер mini app может получить IP-адрес, строку User-Agent, разрешение экрана и другие доступные браузеру характеристики, а JavaScript позволяет собрать цифровой отпечаток устройства. Речь идет не о выполнении команд в операционной системе, а о работе веб-кода внутри страницы, как при посещении обычного сайта.

Версия Telegram для Android дополнительно включает в User-Agent версию мессенджера, производителя и модель устройства, версию Android, версию SDK и класс производительности смартфона. Набор параметров позволяет точнее различать устройства и связывать повторные посещения с одним пользователем.

Mini Apps также получают данные встроенной авторизации Telegram. В зависимости от способа запуска мессенджер может передать идентификатор аккаунта, имя, фамилию, юзернейм, язык интерфейса, признак подписки Premium и адрес фотографии профиля. Номер телефона требует отдельного согласия пользователя.

По версии автора поста, владелец вредоносного mini app способен связать данные аккаунта с IP-адресом и отпечатком устройства сразу после нажатия на внешне безобидную ссылку или юзернейм. Дополнительное подтверждение или предупреждение перед загрузкой страницы в проверенном исследователем сценарии не появлялось.

Исследователь также предупредил о возможности маскировать запуск mini app под безопасно выглядящую ссылку. Пользователь может увидеть адрес Telegram или знакомый юзернейм, тогда как нажатие откроет веб-приложение с контролируемой злоумышленником страницей. Фактический адрес загружаемого ресурса при открытии mini app может остаться незаметным.

Отдельный сценарий связан с бизнес-ботами, способными отправлять крупные цветные кнопки со ссылками. По словам автора, подобная кнопка позволяет обойти ограничение, из-за которого обычные ссылки при первом контакте остаются некликабельными. Представители Telegram Security ранее отнесли описанную механику к социальной инженерии.

За сообщение о поведении Android-клиента исследователю, по данным канала, предложили вознаграждение в размере $100. Автор публикации посчитал сумму несоразмерной риску сбора данных пользователей после единственного нажатия.