Схема эксплоита. Слева направо: 1) скрипт генерирует контакт-лист с 10 000 телефонных номеров по порядку, 2) добавляется в группу протестующих, 3) Telegram сообщает, какие пользователи из контакт-листа уже есть в группе, 4) скрипт генерирует новый контакт-лист и повторяет вышеописанные действия, пока не переберёт все номера
«Защищённый» мессенджер Telegram с шифрованием коммуникаций предположительно помогает сохранить анонимность пользователей — и поэтому широко используется участниками протестных акций в Гонконге. Но в последние дни среди них поднялась настоящая паника: по каналам распространяется сообщение, что у полиции есть способ определять телефонные номера пользователей Telegram.
Компания Telegram признала баг с утечкой конфиденциальных данных. Она также пояснила, что это не баг, а фича.
Схема предположительных действий полиции показана на скриншотах вверху:
- Полиция генерирует контакт-лист с тысячами телефонных номеров по порядку.
- Добавляется в группу протестующих.
- Telegram сообщает, какие пользователи из контакт-листа уже есть в группе.
Эту схему можно легко автоматизировать для перебора большого количества телефонных номеров.
Активисты говорят, что таким способом можно узнать номера телефонов даже в том случае, если пользователь указал в настройках Telegram никому не показывать свой телефонный номер.
Привязка к телефонному номеру — один из главных недостатков мессенджера, который пытается сохранить анонимность пользователей. У властей есть богатые инструменты для деанонимизации пользователей по их телефонным номерам, для отслеживания их перемещений, определения других телефонных номеров, которые всегда находятся рядом и так далее.
Основную информацию правоохранительные органы могут сразу запросить у телекоммуникационной компании.
После появления информации об эксплоите Teegram информацию проверили и подтвердили несколько специалистов по информационной безопасности.
«Конфиденциальность телефонных номеров [Telegram] обсуждалась с начала этого года, — говорит Чу Ка-Чонг (Chu Ka-cheong), директор Интернет-общества Гонконга и один из инженеров-программистов, которые независимо подтвердили эту ошибку. — Мы знали, что установка конфиденциальности номера в значение «Мои контакты» позволит людям из контакт-листа видеть ваш номер, поэтому активисты всегда просили людей установить настройку «Никто», ожидая, что это скроет номер телефона в публичной группе. До сегодняшнего дня мы не знали, что установка «Никто» по-прежнему позволит пользователям, которые сохранили свой номер телефона в адресной книге, сопоставить номер телефона с общедоступными членами группы. Это стало открытием для всех нас».
Установка «Никто» по-прежнему позволит пользователям, которые сохранили свой номер телефона в адресной книге, сопоставить номер телефона с общедоступными членами группы
После раскрытия этого бага пользователи начали активно покидать группы протестующих в Telegram. Активисты беспокоятся, что это затруднит координацию будущих демонстраций и действий.
Чу сказал, что на данный момент нет обходного пути, чтобы избежать этой утечки данных. Протестующие советуют перейти на одноразовые SIM-карты, зарегистрированные анонимно или на чужое имя вместо свои основных телефонных номеров. Но очевидно, что основная масса пользователей не сможет этого сделать.
К сожалению, для многих пользователей уже слишком поздно.
«Мы подозревали, что некоторые спонсируемые правительством злоумышленники использовали эту ошибку и использовали её для вычисления гонконгских протестующих, в некоторых случаях создавая непосредственную опасность для жизни протестующих», — говорит Чу о так называемых «титушках», то есть бандитах, которые приехали в Гонконг из материкового Китая и выполняет неформальные задания спецслужб, в том числе разбираясь с активистами.
Чу Ка-Чонг говорит, что Telegram сейчас является основным каналом коммуникации, и отказаться от него очень сложно: «Переход на другое приложение, такое как Signal, не является для нас жизнеспособным вариантом, — сказал он. — Потому что способ общения протестующих сильно зависит от поддержки очень больших групп […], у которых Telegram имеет действительно хорошую поддержку», — сказал Чу.
«С другой стороны, группы Signal или Wire ограничены несколькими сотнями человек, а Signal в любом случае показывает всем ваш номер телефона. Некоторые из нас уже используют Signal и Wire в небольшой закрытой группе, но общественные обсуждения и объявления будут по-прежнему сильно полагаются на Telegram».
Ответ Telegram
Вчера издание ZDNet обратилось за комментариями к Telegram, и компания изучила проблему: «У нас есть защитные меры, чтобы предотвратить импорт слишком большого количества контактов — именно для предотвращения такого сценария», — сказал представитель Telegram [фактически подтверждая, что баг с утечкой конфиденциальных данных является фичей]. — Наши данные показывают, что бот на скриншотах был заблокирован для импорта контактов через две секунды — и ему удалось успешно импортировать 85 контактов (а не 10 000). После того, как вы получите запрет на импорт контактов, вы можете добавить максимум пять новых номеров в день. Остальные контакты, которые вы добавляете, будут выглядеть так, как будто они не используют Telegram, даже если используют».
Однако специалисты говорят, что это ограничение можно обойти. Злоумышленник с богатыми ресурсами, вроде правительственной спецслужбы, может легко использовать несколько ботов, а не один — и в конечном итоге импортируют всю последовательность телефонных номеров, которую хочет охватить.
Суть проблемы в том, что сами пользователи не ожидали такого подвоха от мессенджера. Они ожидали, что настройка «Никто» запретит просмотр их телефонных номеров, независимо от того, были они в списке контактов или нет.
Но Telegram сказал, что эта конкретная настройка работает не так, и она никогда так не работала: «Нет никакой ошибки: так же, как WhatsApp или Facebook Messenger, мессенджер Telegram основан на телефонных контактах. Это означает, что вы должны иметь возможность видеть свои контакты, которые также используют приложение, — говорится в сообщении компании. — Настройки номера телефона контролируют видимость номера телефона для пользователей, у которых НЕТ вашего номера (в отличие от WhatsApp, который показывает ваш номер телефона всем в любой группе)».
Таким образом, Telegram подтверждает, что как только ваш номер телефона будет добавлен в любой список контактов, этот человек (злоумышленник) сможет ассоциировать его с «анонимным» ником пользователя, независимо от настроек.
Telegram предупреждает пользователей, что настройка «Никто» на самом деле действует не так, как они думают. И это не ошибка, всё работает как положено.
Получается, что разработчики Telegram (как и большинства остальных мессенджеров) умышленно пожертвовали анонимностью пользователей ради роста социального графа. Через адресные книги пользователям легче устанавливать контакты со своими знакомыми. Это помогает «вирусному» распространению мессенджера и росту аудитории.
Минутка заботы от НЛО
Этот материал мог вызвать противоречивые чувства, поэтому перед написанием комментария освежите в памяти кое-что важное:
Как написать комментарий и выжить
- Не пишите оскорбительных комментариев, не переходите на личности.
- Воздержитесь от нецензурной лексики и токсичного поведения (даже в завуалированной форме).
- Для сообщения о комментариях, нарушающих правила сайта, используйте кнопку «Пожаловаться» (если доступна) или форму обратной связи.
Что делать, если: минусуют карму | заблокировали аккаунт
→ Кодекс авторов Хабра и хабраэтикет
→ Полная версия правил сайта
Автор: alizar