Уязвимость анонимности в Telegram: как получить номер телефона любого пользователя

Telegram требует номер телефона для начала обмена сообщениями, привязывая все сообщения к личности пользователя. Этот механизм не только устарел, но и создаёт значительные риски для приватности. Одна из таких уязвимостей позволяет любому получить номер телефона пользователя в группе Telegram, используя функцию синхронизации контактов приложения.
Для демонстрации рассмотрим открытый групповой чат, в котором виден целевой пользователь «Sergey Lebedev».

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

Далее необходимо убедиться, что синхронизация контактов включена в настройках приватности Telegram (Настройки — Конфиденциальность и безопасность). Эта функция автоматически добавляет контакты с устройства в приложение, если они зарегистрированы в Telegram.

Если предполагаемый номер телефона зарегистрирован в Telegram, приложение добавит пользователя в список контактов. В данном примере угаданный номер оказался верным.

Telegram затем заменит отображаемое имя пользователя на имя, указанное в телефонной книге устройства. Вернувшись в исходный групповой чат, видим, что «Sergey Lebedev» теперь отображается как «Testing Phone ID», что подтверждает, что угаданный номер принадлежит ему.

Хотя угадать номер телефона из миллионов кажется нереальным, злоумышленники могут значительно сузить диапазон с помощью социальной инженерии, определив страну и оператора цели. Более того, простое мобильное приложение может автоматизировать добавление больших диапазонов номеров в адресную книгу устройства, сделав перебор технически осуществимым. Эта уязвимость представляет серьёзную угрозу приватности пользователей, особенно для публичных лиц, инвесторов и активистов. Приложения, требующие регистрации по номеру телефона, часто несут скрытые риски для приватности.