WhatsApp, Telegram и Signal выдают телефонные номера всех пользователей

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
50.822
Репутация
61.675
Реакции
269.894
RUB
0
hexav6evzu_vwnsp50g0em1oxqa.jpeg


Синхронизация мессенджера с контактами из адресной книги (contact discovery) — очень удобная функция. Когда новый человек ставит приложение, то в него автоматически добавляется большой список контактов, а если кто-то впервые установил мессенджер, то уведомление об этом приходит всем его знакомым. К сожалению, данную функцию могут использовать государственные службы и другие злоумышленники для выслеживания людей. Существующие методы защиты пока не очень эффективны.

Масштаб утечек оценили специалисты из Вюрцбургского университета и Дармштадтского технического университета (Германия), который провели с краулингом телефонных номеров в трёх мессенджерах: WhatsApp, Telegram и Signal. Результаты неутешительные: WhatsApp и Signal сливают номера пользователей в большом масштабе.

Хотя у Telegram очень жёсткие лимиты на количество запросов к API, он тоже не полностью защищён.
Протоколы пересечения закрытых множеств

Для поиска по контактам без раскрытия информации предназначены криптографические протоколы (private set intersection). Эта техника вычисляет пресечение входного множества одной стороны («клиент») с входным множеством второй стороны («сервер»), так что клиенту известен только набор пересечений, а серверу известен только размер входного набора клиента.

Однако эти протоколы в настоящее время для мобильных приложений с миллиардами пользователей. Кроме того, PSI всё равно не решает абсолютно всех вопросов конфиденциальности, поскольку не может предотвратить атаки методом перебора номеров.

Утечка социального графа

На прошлогодней конференции по компьютерной безопасности USENIX Security 2019 был представлен с доказательством, что многие мобильные мессенджеры (в том числе WhatsApp) облегчают обнаружение контактов, загружая на сервер все контакты из адресной книги пользователя, и впоследствии хранят их на сервере, даже если совпадение не найдено. Благодаря этому сервис может уведомлять пользователя о новых зарегистрированных контактах, а также строить полный социальный граф каждого человека. Эти графы дополняются информацией из других источников. Главная проблема конфиденциальности заключается в том, что контактные данные могут утечь в открытый доступ и использоваться для мошенничества, дискриминации, шантажа, вреда репутации или полицейского расследования. Сервер также может быть скомпрометирован, что приводит к раскрытию конфиденциальной информации, даже если разработчики мессенджера сами не продавали накопленную базу.

Чтобы защититься от этой угрозы, некоторые мобильные приложения (включая Signal) хэшируют контакты. К сожалению, низкая энтропия телефонных номеров , поэтому такая защита неэффективна.

Краулинг

Но основной метод сбора контактных данных — это краулинг. Поскольку в сервисах обычно нет ограничения на регистрацию новых пользователей, то вы можете зарегистрировать любое количество фейковых аккаунтов со случайным набором контактов в адресной книге. Таким образом вы проверяете наличие в базе каждого телефонного номера — и собираете доступную информацию на их владельцев.

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

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

Предыдущие научные работы показали, что отслеживая метаданные пользователей в мессенджерах (время появления в онлайне), можно .

eci2x1i_100bey1dikwtrrrx1dc.png


Сопоставление такой информации с другими социальными сетями и общедоступными источниками данных позволяет третьим лицам построить .

В коммерции такие знания используются для таргетированной рекламы или мошенничества, с персональной точки зрения — для шантажа или планирования преступления, а с точки зрения государства — . Так власти Гонконга вычисляли пользователей, которые состоят в протестных группах Telegram. Данные нескольких тысяч пользователей телеграм-канала в России в 2019 году (как показало расследование, источником данных является МВД).

hu6etd7pflafkke7iwxzf9zbcpk.png


Известно, что для краулинга российских пользователей работает программа-деанонимизатор Insider Telegram. Разработчики , что перебор номеров позволил составить базу из более чем 10 млн пользователей. Сервис якобы показывает, какой номер телефона соответствует аккаунту Telegram.





Insider Telegram работает в составе системы (только для юрлиц и государственных органов), ходят слухи об аналогичной системе «Криптоскан» и других разработках.

Есть свидетельства, что силовые структуры Беларуси тоже начинают использовать аналогичные техники краулинга, как в России, поскольку сейчас Telegram стал основным инструментом общения у граждан.

Атака на мессенджеры: результаты

Немецкие исследователи в своей научной работе продемонстрировали два вида атак на мессенджеры:


  • обращение хэша: создание больших словарей со всеми возможными значениями хэшей для всех телефонных номеров в мире, брутфорс в hashcat, радужные таблицы новой конструкции.
  • краулинг: в течение нескольких недель исследователи смогли проверить 10% всех номеров мобильных телефонов США в WhatsApp и 100% в Signal. Результаты показаны в таблице ниже.

Сравнение мессенджеров


WhatsAppSignalTelegram
Метод раскрытия контактовЧистым текстомХэшЧистым текстом
Лимиты сканирования60 тыс. в день120 тыс. в день5 тыс. + 100 в день
Метод краулингаUI Automator(Старые) API API
Проверено американских номеров46,2 млн505,7 млн0,1 млн
Доля от общего количества американских номеров10%100%менее 0,02%
Процент успеха для случайного номера9,8%0,5%0,9%
Найдено американских пользователей5,0 млн2,5 млн908
Всего американских пользователей (оценка)49,6 млн2,5 млн4,6 млн
Настройки приватности по умолчанию:
Картинка профиляПубличнаяЯвная команда поделитьсяПубличная
СтатусПубличныйПубличный
Последний раз в онлайнеПубличныйПубличный
Опция скрыть нахождение в онлайнеНетЕстьЕсть
Опция отключить поиск по контактамНетНетЕсть

Для краулинга исследователи использовали скромные ресурсы:


  • бесплатное приложение для регистрации клиентов с новыми телефонными номерами;

    kxnhgnimyffrwxdfdpfguiurnhq.png

  • подписка VPN для смены IP-адресов;
  • один ноутбук с эмуляторами нескольких Android-устройств.

Для краулинга контактов WhatsApp в эмуляторе запускалось официальное приложение, с интерфейсом которого взаимодействовал фреймворк UI Automator. В адресную книгу устройства для начала вставили 60 000 телефонных номеров. Если кто-то из них зарегистрирован в WhatsApp, то извлекались данные его профиля. Новые аккаунты WhatsApp регистрировались в ручном режиме через фейковые телефонные номера Hushed.

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

Для Signal был написан скрипт Python для отправки запросов на регистрацию и поиска контактов.

Исследователи выяснили лимиты на количество запросов в каждом мессенджере, а также ряд других интересных фактов. Например, что Telegram API раскрывает конфиденциальные метаданные, в том числе о телефонах, не зарегистрированных в Telegram и о количестве пользователей, у которых в адресной книге есть этот незарегистрированный номер (см. описание переменной importer_count в ).

WhatsApp и Telegram передают контактную информацию открытым текстом (по зашифрованным каналам). WhatsApp хранит номера зарегистрированных пользователей на серверах в открытом виде, а номера незарегистрированных пользователей хэширует в MD5.

Signal не хранит контакты из адресных книг пользователей на сервере. Вместо этого каждый клиент периодически отправляет на сервер хэши всех своих контактов для сверки с базой зарегистрированных пользователей. Но эти хэши легко расшифровать.

Выводы

В научной работе исследователи количественно оценили усилия, злоумышленникам для сбора конфиденциальных данных пользователей в большом масштабе. К сожалению, это по-прежнему возможно даже с относительно скромными ресурсами для атаки.

Сейчас у 50% пользователей WhatsApp фотография аккаунта выложена в открытый доступ, а у 90% открыта информация «О себе». Интересно, что у 40% пользователей защищённого и приватного мессенджера Signal имеются полностью открытые профили в WhatsApp.

До публикации этой работы результаты были отправлены в WhatsApp, Signal и Telegram. Компания Signal признала проблему, уменьшила лимиты на количество запросов и пообещала внедрить другие методы защиты от краулинга. Facebook выплатил исследователям вознаграждение за найденные уязвимости и развернул улучшенную защиту для синхронизации контактов WhatsApp. Наконец, Telegram разработал дополнительные контрмеры против скрапинга данных в пределах установленных лимитов. Теперь система пытается определить краулинг базы номеров по специфическим признакам — и блокирует его после 20-100 совпадений вместо 5000.

На сегодняшний день Telegram лучше всех мессенджеров борется с краулингом пользователей. После гонконгских протестов 2019 года с в Telegram были установлены жёсткие лимиты и таймауты, которые делают краулинг очень сложной технической задачей.

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




 
Если вы планируете сделку с его участием, мы настоятельно рекомендуем вам не совершать ее до окончания блокировки. Если пользователь уже обманул вас каким-либо образом, пожалуйста, пишите в арбитраж, чтобы мы могли решить проблему как можно скорее.
Именно по-этому необходимо переходить на пользование менее заметными продуктами, не имеющих отношения к корпорациям, и не разрекламированных, как супер-пупер защищенные, ключи от которых передаются по первому блеску звёзд в дверном проёме.
 
Собака, хм, Сэр, спасибо за полезную информацию. Такое чувство, что вообще никак не защититься. На каждую хитрую задницу найдётся болт с резьбой.
 
Если телефон кроулера не добавлен в твою книгу, то можно через настройки отгородиться
 
А я думал какие же хорошие, надежные продукты! А главное бесплатные!)
 
То самое чувство, когда всю чернуху ведёшь в Threema ?
 
То самое чувство, когда всю чернуху ведёшь в Threema ?

Хоть они и недавно открыли свой исходный код, но почему его тогда нет до сих пор в F-droid ? Крайне спорно там что-то делать, во времена когда код был закрыт, так вообще выстрел себе в ногу.

Нормальные мессенджеры как минимум те, что есть в маркетплейсе F-droid и проверены на все дыры и уязвимости "армией" сообщества.

Element.io (он же бывший riot) для переписок
ChatSecure (аналог на протоколе jabber)
Briar (когда нет интернета\во время митингов)

Telegram только для чтения каналов, не более. + соблюдение всех пунктов, что в данной статье, номер в идеале виртуальный, купленный на сервисах не в рф(ру) среде, оплаченный понятным образом.
 
но почему его тогда нет до сих пор в F-droid
Пришлось даже загуглить.... чтоб понять что же такое "до сих пор в F-droid"

Нашёл, доверюсь , - рекламная помойка халтурщегов на ведройде:
"F-Droid — каталог приложений для операционной системы Android. Главный репозиторий проекта содержит только свободное программное обеспечение.
Публикуются только бесплатные версии приложений. Реклама в приложениях, за редкими исключениями отсутствует."

Короче, совершенно не показатель и никак не может порочить репутацию ПЛАТНОГО мессенджера Threema.
 
Сверху Снизу