March 22

Максим не следит?

Твой смартфон знает где ты спишь. С кем переписываешься в три часа ночи. Сколько денег на счету. Какие лекарства гуглишь. Какие фотографии хранишь. Он слышит через микрофон, видит через камеру, считает шаги через акселерометр и определяет твоё положение в пространстве с точностью до метра. Всё это делает кусок стекла и алюминия, который лежит рядом 24 часа в сутки. Ближе, чем любой человек.

Вопрос не в том, что смартфон это умеет. Вопрос в том, кому из установленных приложений он об этом рассказывает.

Я решил посмотреть. Взял 13 приложений и разобрал каждое по двум осям. Первая - техническая. Исходный код, конкретные файлы, строки и методы. Факты, которые можно проверить. Вторая - субъективная. Моё мнение, настроенное скептически к каждому без исключения. Telegram получит столько же подозрительности, сколько TikTok.

Некий енот в чёрных очках, назовём его информатором - принёс декомпилированные исходники этих 13 приложений. Не сетевой перехват (трафик можно подменить), не эмулятор (его можно обнаружить) - исходный код APK. Юридические вопросы - к еноту. Мы читаем то, что он принёс.

Оговорка №1. Рассматриваем только Android-приложения (APK). Что творится на iOS - это адище и отдельная история.
Оговорка №2. Мы видим код, не поведение. Код показывает что приложение МОЖЕТ делать. Серверные настройки включают и выключают функции. Но если в коде есть вызов чтения контактов - эту функцию вызовут когда захотят. Код - факт. Намерение - интерпретация. Мы работаем с фактами.

Что анализировали. 13 приложений, три категории. Мессенджеры: Telegram, ВКонтакте, WhatsApp, WeChat, IMO, Keet, MAX, Яндекс Мессенджер, Telemost. Банки: Сбербанк, T-Bank. Соцсети: Facebook*, TikTok. Разные юрисдикции (Россия, Китай, Запад, нейтральные). Одна методология: статический анализ декомпилированного кода.

Напомню, что * Meta - организация, признанная экстремистской и запрещённая в РФ.

Рейтинг и спойлеры

Если у тебя нет сил читать 13 разборов - вот таблица. Что собирает каждое приложение и насколько глубоко оно залезает в твой телефон. Три минуты вместо трёх часов. Подробности по каждому - под спойлерами ниже.

Датчики — количество типов, данные которых уходят на сервер. «все» = полный перебор через getSensorList(-1).

  • Антианализ - детекция root/Frida/Xposed (мешает исследовать приложение).
  • ML откуда - локальная = встроена в APK, с сервера = скачивается после установки.
  • RCE - возможность выполнить чужой код с правами приложения. WeChat единственный с тройной угрозой.
  • KWS - нейросеть анализирует аудио при звонках. MAX и ВК через общий OK Calls SDK.

Далее, подробно о каждом приложении...

Мессенджеры


Telegram

Что хорошо

Ноль аналитических SDK. Ноль снятия отпечатка устройства. Не сканирует WiFi, не сканирует Bluetooth, не проверяет root, не детектит VPN. Firebase стоит, но аналитика деактивирована - конкретный код, который говорит Google «иди нахуй со своей аналитикой». Root, Frida, Xposed, Magisk - не ищет.

Секретные чаты с полным E2E, собственная реализация Diffie-Hellman с re-keying, TTL сообщений, уведомление о скриншотах. Все ML-модели поставляются с APK, нет онлайн-загрузки. Passkey через FIDO2. Файловый доступ WebView заблокирован.

Что плохо

Контакты при синхронизации летят на сервер без хеширования. Plain text, батчами по 500 штук. Мини-приложения из attach menu читают буфер обмена без диалога подтверждения. Формально окно 10 секунд после клика, но таймер сбрасывается при любом клике внутри WebView - пока взаимодействуешь с мини-приложением, буфер доступен постоянно. Скопировал мнемонику, открыл мини-приложение - бот прочитает при первом клике.

Что удивило

Telegram не собирает данные сам. Telegram построил платформу, через которую их собирают другие - Mini Apps API.

Клиент без SDK по сбору телеметрии? А зачем? Серверная сторона и так видит всё: какие каналы читаешь, когда онлайн, кому звонишь, какие стикеры шлёшь.

Реклама в Telegram есть, таргетинг без данных не работает. Telegram не нужен AppsFlyer на клиенте - у него MTProto на сервере.

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

Монетизация разрослась до блокчейна: Premium, Stars, подарки, NFT-юзернеймы, TON-интеграция. Не получилось пролезть на рынок Европы и США? Ну, хотя б СНГ аудиторию обскамили. Заработали, заработали они.


MAX (One.Me, бывший TamTam)

Что хорошо

Нет AdMob, нет Facebook Ads, нет IronSource - ничего. IMEI и IMSI не собираются. WiFi-сканирование окружения вырезано в последних версиях. MyTracker (ВКонтакте) подключён в минимальной сборке - 2 из 10 модулей, антифрод-сенсоры (гироскоп, барометр, магнитометр) не активны. Буфер обмена и датчики - только по действию пользователя: proximity для «у уха», датчик света для автотемы, ротация для сферического видео. На сервер ничего из этого не летит. Root и VPN детектируются, но не блокируются - пишут единичку в аналитику и живут дальше.

Что плохо

При OutOfMemoryError приложение снимает полный дамп памяти Java-процесса и отправляет на sdk-api.apptracer.ru. В дампе - всё, что было в памяти (только дамп Макса): сессионные токены, фрагменты переписки, временные ключи. Приложение работает нормально до первого обморока. А в обмороке - недержание на apptracer.
Каждые сутки DailyAnalyticsWorker отправляет фоновый отчёт: статус всех разрешений (push, контакты, галерея, камера, микрофон, геолокация), включены ли уведомления, фоновая передача данных, игнорируется ли оптимизация батареи, из какого магазина установлено.
SDP при звонках содержит реальные IP-адреса обоих участников и летит на api.ok.ru. Секреты сессий (sessionKey, sessionSecret, authToken) лежат в toString() в открытом виде - утекают через logcat, crash reports и те самые heap dumps.

Что удивило

HOST_REACHABILITY - MAX проверяет доступность Telegram, WhatsApp, Google FCM, Госуслуг и собственного CDN. TCP-коннект на 443 порт, ICMP ping. Коды результатов: 0 - недоступен, 1 - пинг есть, HTTPS нет (DPI-блокировка), 3 - полная доступность. Параллельно шесть сервисов определяют твой IP - три российских (Яндекс, Mail.ru) и три зарубежных (ifconfig.me, ipify, AWS). Если IP на Яндексе отличается от IP на AWS - split-tunneling VPN обнаружен. Фактически устройства пользователей работают как распределённый мониторинг блокировок (но у ВК чуть ниже реализация еще веселее). Про то, как спрятаны эти шесть сервисов - я расказал в отдельной статье в Брюс Stars.
При каждом VoIP-звонке (инфраструктура Одноклассников) скачивается нейросетевая модель и подключается к аудиопотоку. Модель слушает что ты говоришь. Пока детектирует одну фразу - «не слышу» - и отправляет событие с confidence-скором. Заявленное назначение - мониторинг качества связи. Но управление удалённое, модель скачивается динамически. То есть можно отдать определеному клиенту нейросетевую модель, которая распознает иные слова, но отправлять будет тег "не слышу" с рейтом. Сервер же сопоставит что и как. Надо было добавить тег "я не слушаю".


ВКонтакте (com.vkontakte.android)

Что хорошо

Серверы для звонков полностью динамические - ничего не захардкожено, адреса выдаются при каждом звонке с TLS-политикой SECURE. Буфер обмена не мониторится - фонового прослушивания нет. Bluetooth строго для гарнитуры. Root-детекция не блокирует приложение - четыре независимых системы проверяют и все четыре просто пишут единичку в метрику. Хочешь сидеть в VK с Magisk - пожалуйста. Телеметрия не будит телефон ночью - метрики батчатся через WorkManager, просыпаются по расписанию Android. Для приложения с десятью системами аналитики внутри - хотя бы батарею берегут. Passkey через Google Play Services. Звонки со встроенным нейросетевым шумоподавлением - звучат прилично. Канал доставки защищён. А вот что по нему доставляется - следующий вопрос.

Что плохо

Десять систем телеметрии работают параллельно. Не десять обёрток вокруг одного API - десять отдельных сетевых конвейеров с собственными HTTP-клиентами и эндпоинтами. Пять из них объединены фасадом, который дублирует каждое событие во все вложенные трекеры одновременно. Нажал кнопку - событие полетело на пять серверов. Остальные пять работают автономно. Параллельно MyTracker сливает GPS-координаты, пять ближайших WiFi-точек с адресами, данные сотовых вышек и рекламный идентификатор. Переменная, управляющая геосбором, называется mytrackerLocationCrapEnabled. Crap - это дерьмо. Включена по умолчанию. Разработчики назвали функцию дерьмом и залили в продакшн.
VPN-детекция скрытная - статус пишется минимум в восемь телеметрических схем, пользователь не информируется. Ты думаешь, что сидишь через VPN анонимно - VK знает и сообщает в каждом батче. Список установленных приложений собирается по умолчанию. Серверные флаги управляют набором собираемых данных - сегодня одно, завтра включат другое без обновления приложения. Отдельный модуль Reef строит карту перемещений по WiFi-точкам - без GPS, просто по роутерам вокруг.
Как и у Макса - нейромодель «не слышу» интегрирована в аудиозвонки.

Что удивило

Мини-приложения раздают 50+ JavaScript-интерфейсов - акселерометр, гироскоп, датчики движения, email, телефон, буфер обмена, управление вспышкой камеры, скачивание файлов. Мини-приложение узнаёт, когда ты делаешь скриншот. WebView с доступом к файловой системе плюс JavaScript включён - отдельная поверхность атаки. И встроенный WhitelistTracker с сервера проверяет доступность произвольных хостов каждые пять минут - список приходит удалённо, в коде следов не остаётся. у Макса список сервисов для проверки захардкожен, а у ВК он динамический. То есть каждый пользователь ВК потенциально без разрешения становится участником проверки доступности того или иного сервиса автоматически по взмаху палочки с серверной части. Круто?
VK SAK - собственная поведенческая аналитика - около 1200 шаблонов, определяющих поведение человека. Лента, видео, маркетплейс, клипы, музыка, мессенджер, геолокация, звонки, профиль. Каждый клик, скролл, просмотр улетает через API на сервера ВК. Дрочешь? Мы знаем даже с какой интенсивностью вибрации!
Reef WiFi Tracker - собственная система VK для геолокации без GPS. ReefWifiReceiver подписывается на SCAN_RESULTS - пассивный сбор окружающих WiFi-точек. Данные накапливаются в ReefWifiInfoState. По BSSID можно строить граф перемещений - где ты был, когда пришёл, сколько находился. GPS не нужен. Достаточно знать, какие роутеры вокруг. Дополнительно GpsLocationReceiver отслеживает PROVIDERS_CHANGED - приложение узнаёт, когда ты включаешь или выключаешь GPS. Три слоя геосбора: спутники + WiFi + мониторинг настроек.
38 ML-моделей в enum MLFeatures. AR-эффекты: распознавание лиц по 468 точкам, 18 классов жестов (PALM, OK, POINTER, KHABIB, FIST, VICTORY, NOT_GESTURE, NOT_HAND, THUMB_UP, THUMB_DOWN, THUMB, OTHER, ONE, ROCK, CROSS, HOMMIE, HEART_LEFT, HEART_RIGHT), детекция кошек и собак, морфинг (ребёнок, старик, мультик), сегментация человека и неба. Всё на устройстве через TensorFlow Lite + OpenCV 4. Отдельно доставляет enum-значение KHABIB среди жестов. Распознавание одного конкретного бойца - это, видимо, критическая бизнес-фича.


WhatsApp (com.whatsapp)

Что хорошо

Шифрование (постквантовое) - лучшее из реализации в мессенджерах. Шесть уровней проверки сертификатов. Перевод сообщений работает прямо на телефоне, без серверов - используются локальные нейросети прямо у тебя на смартфоне. Ни одного стороннего аналитического SDK. Firebase Analytics явно деактивирован. Экраны платежей защищены от скриншотов. Экраны чатов - нет. Деньги важнее переписки, официально.

Что плохо

900+ типов внутренних телеметрических событий (шаблонов поведения пользователя как у ВК). 12 собственных систем аналитики работают параллельно. Отправка сообщения, просмотр статуса, создание группы, взаимодействие с AI, загрузка медиа, настройки приватности, расход батареи, состояние памяти, размер данных на диске, запуск приложения - всё отдельные события с детальными полями отправляются в Meta. Есть даже «подозрительные взаимодействия в групповых чатах» - кто решает что подозрительное ты сделал, ты не узнаешь. Каждые сутки WhatsApp автоматически собирает профиль твоего устройства: рутован ли телефон, стоит ли кастомная прошивка, модифицирован ли клиент, размер адресной книги и сколько из неё в WhatsApp. Плюс статус всех разрешений поимённо - какие ты дал и какие отклонил. Двести с лишним метрик. Каждые сутки. Без твоего ведома.
Полный рентген устройства: IMEI, рекламный идентификатор (для ЕС отключено, кек), серийный номер SIM-карты, WiFi-точки вокруг тебя, модель и т.д.. И вишенка - список ВСЕХ когда-либо спаренных Bluetooth-устройств с именем и MAC-адресом каждого. Наушники, часы, колонка, машина, фитнес-браслет. Уникальная комбинация Bluetooth-устройств - такой же отпечаток, как список установленных приложений. Каждый день WhatsApp проверяет, стоят ли на телефоне Facebook и Instagram.

Что удивило

Внутри WhatsApp сидит VPN-клиент Psiphon - инструмент обхода государственных блокировок, которым пользуются в некоторых странах любители поорать про свободу. а еще Meta* может менять экраны приложения прямо с сервера, без обновления в магазине - ты видишь новую кнопку, а APK тот же, но внутри например появится окошко, что ты в опасности и срочно должен сделать определенные нехорошие действия.
В нативных библиотеках лежит LLaMA - две версии, обычная и премиум. Забавно, что премиум модель можно технически скачать и использовать, а вот кто-то технически неподкованный за это платит.


WeChat (com.tencent.mm)

Что хорошо

Внутренний аудитор чувствительных API - Privacy Proxy Framework. Перехватывает 13 опасных вызовов (getDeviceId, getSubscriberId, clipboard и другие) и логирует, кто лезет. Единственное из 13 приложений, которое аудитирует доступ к буферу обмена. Ирония: сам WeChat тоже мониторит clipboard для обнаружения ссылок на мини-программы. Но хотя бы честно фиксирует, кто ещё лезет. Платежи защищены серьёзно - оверлейные атаки заблокированы на пяти экранах, биометрия через аппаратный TEE с тремя типами (отпечаток, лицо, голос - голосовая аутентификация уникальна среди всех 13). Нейросетевой детектор приватности на фотографиях - находит лица, номера, документы, банковские карты и предлагает размыть. Работает на устройстве, не на сервере. Данные внутри экосистемы Tencent - сторонней аналитики минимум, утечки к третьим сторонам не обнаружено. Оплата по ладони. Распознавание рисунка вен - поднёс руку к терминалу, деньги списались.

Что плохо

Device fingerprinting - полный набор. 12+ собственных систем телеметрии работают параллельно - все мультиплексируются через непрозрачный протокол MMTLS, который не может отаудитировать ни Wireshark, ни mitmproxy. Каждые 24 часа на сервер улетает статус всех разрешений. Tinker позволяет подменить исполняемый код без обновления через магазин. Буфер обмена мониторится постоянно. WiFi-позиционирование по BSSID с 10-минутным интервалом. JNI-хук снимает ограничения скрытых API Android. Root-детекция на 8+ механизмов. VPN-детекция активная с нативным callback. WeChat будит телефон для heartbeat через exact alarm с обходом Doze.

Что удивило

Anti-spoofing через нейросеть, которая анализирует отражения в зрачках - чтобы подделать, нужно обмануть не камеру, а нейросеть. 7 типов OCR на устройстве: текст, документы, таблицы, книги, сертификаты, платёжные QR, абзацы. Сфоткал таблицу в журнале - распознал с сохранением структуры.
iBeacon определяет, рядом с каким магазином ты стоишь. Шагомер синхронизирует шаги на серверы Tencent.


IMO (com.imo.android.imoim)

Что хорошо

Буфер обмена не мониторится - ноль подписок на изменения, все операции по действию пользователя. BLE-сканирование мёртвое, Nearby мёртвый. SQLCipher для базы данных.

Что плохо

Семь рекламных SDK одновременно: AdMob, Pangle, Facebook Audience Network, Unity Ads, Vungle, Fyber, Digital Turbine. 26 SDK в сумме. Каждый собирает fingerprint устройства и отправляет в свою компанию. Полный список установленных приложений улетает на сервер - банки, VPN, медицинские, дейтинг. Плюс hardcoded проверка ~20 конкретных пакетов поимённо. AppsFlyer получает IMEI через рефлексию в обход ограничений Android 10+ и регистрирует listener на три типа сенсоров для fingerprinting. VPN-детекция есть. Список всех спаренных Bluetooth-устройств в телеметрию. Клавиатуры с языками каждые 14 дней. cross-app wakeup через Bigo Live и Likee - три приложения поднимают друг друга. Оценка контента с помощью нейросетей на softporn и horror.

Что удивило

В коде лежит 40 скрытых классов которые собирают touch-биометрию: давление, координаты, площадь касания, длительность. Шифруют публичным ключом Google и отправляют. Пользователь не знает.
Domain fronting через семь CDN: Google Cloud Run маскирует трафик под chrome.com, для Ирана фронт через redditstatic.com, для Туркменистана DNS-over-TLS через Google metric. Модуль Overwall - SOCKS5, TLS-туннели, нативный JNI. IMO маскирует весь трафик под легитимные сервисы.
IMO - это Bigo Live внутри. User-Agent «BigoLive-Android». JOYY Inc. (NASDAQ: YY) → Bigo → IMO. Общий Jenkins, общие репозитории, CDN на yy.com. 17 ML-моделей зашифрованы нестандартным AES с ключом «bigo1» .


Keet (io.keet.app)

Что хорошо

Ноль рекламных SDK. Ноль attribution. Ноль аналитики. Firebase Analytics принудительно отключён в манифесте. Sentry отключён. Google Ad ID заблокирован. Не сканирует установленные приложения, WiFi-окружение, Bluetooth-устройства.

Что плохо

expo-clipboard тихо слушает буфер обмена - при каждом изменении генерируется событие с типом контента. Работает пока приложение на переднем плане. React Native/Expo-костыль, который никто не вычистил - не целенаправленная слежка, но факт остаётся. Системный прокси принудительно отключён - кастомный ProxySelector возвращает NO_PROXY для всех URI. VPN работает, прокси нет. Install Referrer из Expo-шаблона - мусор в манифесте. Google ML Kit для QR вместо офлайн-библиотеки - лишняя зависимость.

Что удивило

Bare Kit Worklet - нативный JavaScript runtime. Это не React Native приложение с P2P-модулем, это P2P-стек Holepunch, завёрнутый в мобильную обёртку. Два Firebase URL обфусцированы interleaving-чередованием символов - единственное место с обфускацией строк, при grep не видно. Всё остальное - DHT discovery без захардкоженных адресов.
Единственное из 13 приложений, которое можно назвать чистым без оговорок. Ноль рекламных SDK, ноль fingerprinting, глубокий аудит - чисто. P2P на Hyperswarm DHT, шифрование на libsodium. Нарекания - expo-clipboard listener, отключённый прокси и 15 полей на серверах Google.


Яндекс Мессенджер (com.yandex.yamb)

Что хорошо

Firebase Analytics не обнаружен - Firebase только для push. Нет Adjust, AppsFlyer, Amplitude, Mixpanel, Crashlytics. IMEI и IMSI не собираются. Номер телефона только в Passport UI, в аналитику не уходит. VPN-детекция отсутствует. Clipboard не прослушивается. Установленные приложения не сканируются. Мини-приложения в sandbox с единственным нативным методом через JSON - у VK 50+ JS-методов с акселерометром и вспышкой, здесь один метод.

Что плохо

WiFi-сканирование через AppMetrica: полный список видимых сетей (BSSID, SSID, уровень сигнала), не только текущая. Плюс сотовые вышки (LAC, MCC, MNC, Cell ID). GPS включён по умолчанию. Координаты касаний отправляются в аналитику - AppMetrica записывает куда тыкаешь на каждом экране.

Что удивило

Это не мессенджер - это агрегатор Яндекса. Алиса с WebSocket для голосового ввода. DivKit - Server-Driven UI, где сервер присылает JSON-описание экранов, клиент рендерит. Любой экран можно заменить с сервера без обновления. Telemost/Goloom для видеоконференций с SFU (Simulcast 4 слоя), ИИ-суммаризацией, записью конференций и трансляцией. Двухуровневая система звонков: P2P через JSON-RPC для один-на-один, SFU через Protobuf для групповых. Кодеки VP8/H264/VP9/AV1, Opus с DTX и DRED. TURN/STUN динамические, захардкоженных нет. Passport credentials зашифрованы нестандартно - SHA-256 от каждого слова фразы «yandex account manager» XOR-ится в AES-ключ. SSO между всеми приложениями Яндекса через signature-level разрешения - Такси, Маркет, Браузер делят авторизацию.

Самый тихий из российских приложений в обзоре.


Банки

С банками другая арифметика. Телефонные мошенники звонят людям, представляются «службой безопасности», просят установить TeamViewer и выводят деньги. Бабушки, дедушки, люди под стрессом - реальные жертвы, реальные украденные деньги. Банк обязан остановить это. Для этого ему нужно видеть что происходит на устройстве.


Сбербанк Онлайн (ru.sberbankmobile)

Что хорошо

28 закреплённых сертификатов с динамическим обновлением с сервера - самый серьёзный SSL pinning среди 13 приложений. Полный стек ГОСТ-криптографии: шифрование, хеш, ЭЦП, цифровой рубль (подробно описал в Брюс Stars). Локальные нейронки: ONNX Runtime + SaluteSpeech для сканирования карт и документов, голосовой ассистент. BiZone CallerID в отдельном процессе - перехватывает звонки до того, как телефон зазвонит, может блокировать звонки из WhatsApp и Telegram от незнакомцев. Clipboard не мониторится.

Что плохо

161-поле Device Fingerprint - абсолютный рекорд. Начиная с IMEI, заканчивая списоком VPN-приложений. Kaspersky SDK, как часть приложения, как часть корабля: сбор списка приложения, сканирование файлов, перехват уведомлений, WiFi reputation. 36 приложений удалённого доступа отслеживаются - включая Zoom, Discord, Скайп и Госуслуги. VPN-детекция в 4 механизма, isVpn с каждым событием. Поведенческая биометрия на 7 сенсорах плюс координаты касаний - как держишь телефон, как двигаешь пальцем, как ходишь. Root блокирует NFC-платежи.

Что удивило

Firebase-проект называется sbol-ios-alfa - «iOS» в Android, «альфа» в production.
IoT Hub для умного дома - банковское приложение управляет лампочками.
Обнаружение второго дисплея для детекции screen sharing. 2GIS на 32 МБ для карты банкоматов.


ТБАНК (com.idamob.tinkoff.android)

Что хорошо

Root-детекция на 60+ проверок. SSL Pinning двойной. ГОСТ-криптография через CryptoPro - цифровой рубль, электронная подпись, ГОСТ TLS. TFLite для верификации selfie. Clipboard не мониторится.

Что плохо

AppsFlyer v6.17.5 - рекламная атрибуция на 13 эндпоинтах в Израиле. Приложение, где вводишь PIN от счёта, а рядом SDK отправляет историю действий в Герцлию. Шесть систем телеметрии одновременно. 75 разрешений - рекордсмен обзора. Sensor fingerprinting: getSensorList(-1) перечисляет все датчики, хешируется в уникальный отпечаток - по набору сенсоров тебя узнают даже после сброса GAID и переустановки. WiFi и BLE сканирование через Яндекс MapKit - непрерывное, для indoor-геолокации. WhoCalls выгружает историю звонков на сервер.

Что удивило

VPN-детекция агрессивнее Сбера: три механизма, непрерывный мониторинг, VpnTimeoutException при авторизации. Сбер показывает Snackbar - T-Bank кидает таймаут.
Т-Дети: лимит фоновых запросов геолокации 999 (у взрослых - 1). Координаты ребёнка каждые несколько секунд. Microsoft SignalR для VoIP в стране импортозамещения - рядом с CryptoPro ГОСТ для цифрового рубля.

Соцсети


Facebook (com.facebook.katana)

Что хорошо

E2E в Secret Conversations на HPKE: DHKEM X25519 + HKDF-SHA256 + ChaCha20Poly1305 + AES-GCM. Четыре state of the art примитива. Privacy Gateway через OHTTP relay (Fastly + Cloudflare) - два посредника, ни один с полной картиной. Device Risk Score: 16 взвешенных проверок, шифрованный HPKE cookie. Сервер решает о доверии, не раскрывая клиенту конкретные проверки.

Что плохо

250+ точек телеметрии: с SIM Serial и до вышкек сотовой связи. Family Device ID склеивает Facebook, Instagram, WhatsApp в единый профиль - удалил одно, два других помнят.VPN-детекция на 45+ индикаторов - fingerprint'ит реальную сеть под туннелем. Включил VPN - Facebook видит: под ним 4G, оператор МТС. 25+ SDK с телеметрией. Clipboard мониторится фоновым слушателем. 12+ типов сенсоров включая отслеживание головы для Meta Quest. Выделенный BLE-сканер сканирует Bluetooth вокруг - не твои устройства, а всех. WiFi fingerprinting при чекинах отправляет BSSID роутеров на сервер. 60+ компонентов persistence, кросс-Instagram boot, кастомная push MQTT/FBNS,

Что удивило

Facebook модифицирует Android Runtime. Отключает верификацию DEX, меняет права памяти на RWX, перехватывает mmap и madvise собственным hooking-фреймворком, подменяет фабрику компонентов. Приложение из Google Play делает то, что обычно делают эксплойты. SceneX v9 сканирует camera roll on-device: наготу, насилие, эстетику - KEEP или DROP для каждой фотки до публикации. WeChat предлагает размыть паспорт и спрашивает. Facebook молча классифицирует весь альбом. Hot patching через Hermes + BigZip + Superpack с захардкоженным App Token. Google Play Review? Не слышали.


TikTok

Что хорошо

FIDO2/Passkey - полный цикл от регистрации до удаления. Ноль захардкоженных AWS-ключей и паролей в коде - ключи поставляются через выделенный ClientKeyManager. C2PA SDK маркирует AI-контент криптографической меткой происхождения. Play Integrity для проверки целостности устройства.

Что плохо

SDK ByteDance (AppLog, APM, MetaSec, BDTuring, Helios, Pumbaa, ShadowHook, TTNet, ByteRTC) плюс AppsFlyer, Facebook SDK, Firebase, ThreatMetrix. Oracle Cloud proxy для американских данных (Project Texas). Собирает полный список установленных приложений. Clipboard - тройная система анализа буфера обмена. Рекламный баннер внутри TikTok может прочитать скопированный пароль. 12 механизмов VPN-детекции с блокировкой монетизации. Lancet перехватывает 23 метода TelephonyManager: IMEI, IMSI, ICCID, номер, вышки - централизованный сбор из всех контекстов. WiFi 7 MLD MAC - стандарт только появляется а TikTok уже собирает. 17 WiFi API включая сохранённые сети и DHCP. Пять проприетарных заголовков подписи запросов (X-Gorgon/Khronos/Ladon/Argus) защищают конвейер сбора от реверса.

Что удивило

processGyroscope2Touch проверяет реальность касания по микровибрации гироскопа - живой палец создаёт вибрацию, скрипт не создаёт.

HarSensorManager определяет по акселерометру: идёшь, бежишь или ведёшь машину - разные рекламные аудитории.

DeviceSignalInfo во время лайвов: гироскоп + нажатия + громкость микрофона с привязкой к конкретному стримеру. ТикТок знает не только ЧТО смотришь, но КАК реагируешь на каждого человека.

Восемь подсистем динамической загрузки включая Python VM и BypassDexFileVerify. Connect Now - собственный BLE-стек для обнаружения пользователей рядом (Google Nearby выкинут).

Заключение

Тринадцать приложений. Одна методология. Один вопрос - что стоит на твоём телефоне и кому оно отчитывается.

Telegram и Keet доказали: мессенджер работает с нулём SDK, нулём fingerprinting и нулём сканирования окружения. Telegram при этом тащит три крипто-слоя, пять нейросетей и FIDO2. Keet передаёт сообщения напрямую между устройствами без сервера вообще по их словам (но исходников сервера я не видел, а для начального запуска и генерации юзернейма, централизованный сервер все равно нужен).

Facebook и TikTok доказали обратное - что из смартфона можно достать практически всё.TikTok вообще удивил: во время стримов записывает реакцию на каждого конкретного человека.

Отдельно про хайп вокруг MAX. Мессенджер называют шпионским. Давай сравним его с ВКонтакте - приложением того же холдинга VK Group.

MAX пингует шесть доменов и детектит VPN. ВКонтакте пингует произвольные URL по команде сервера - какие именно, ты без перехвата трафика не узнаешь, потому что список приходит удалённо и в коде не остаётся. MAX слушает одну фразу при звонках. ВКонтакте слушает ту же фразу плюс wake-word Маруси в музыке, видео - везде. MAX не сканирует установленные приложения. ВКонтакте ежедневно выгружает полный список с рекламным идентификатором. MAX не читает WiFi. ВКонтакте отправляет пять ближайших WiFi-точек с BSSID и строит карту твоих перемещений через Reef WiFi Tracker без GPS. MAX прячет адреса серверов. ВКонтакте прячет сам факт проверки - WhitelistTracker шлёт HTTP HEAD на хосты из серверного списка, и в коде не остаётся ни одного URL.

Оба приложения - один холдинг VK Group. Одна и та же нативная библиотека libEnhancementLibShared.so с Kaldi ASR и Speaker Recognition. Одна и та же инфраструктура звонков через OK Calls SDK. Те же разработчики, тот же Jenkins CI, тот же namespace vk::enh.

Если MAX тебя пугает - удали ВКонтакте первым.

Но ВКонтакте удалять не модно, а на MAX удобно показывать пальцем.

Если личная неприязнь к VK Group - ок, имеешь право. Но тогда удаляй все продукты холдинга. ВКонтакте, VK Видео, VK Музыку, Почту Mail.ru, RuStore. Двадцать кастомных межприложенных разрешений usersstore шарят данные между десятью приложениями экосистемы.

Если считаешь себя борцом за приватность и сильным независимым - открой список приложений на телефоне. Яндекс знает, во сколько ты встаёшь, когда ложишься, куда ездишь, что ищешь в браузере, какие секс-игрушки заказываешь на следующий день после гугления «как разнообразить» и какие лекарства забираешь в аптеке. Сбер знает твои финансы до копейки. Борьба с MAX при наличии этих приложений на телефоне - менять замок на входной двери, когда все окна нараспашку.

А если тобой заинтересуются люди серьёзные - им MAX не нужен. Им вообще никакие приложения не нужны. Достаточно загрузить микрокод в SIM-карту через оператора связи для удалённого доступа к микрофону и геолокации. Операторы обязаны выполнять требования СОРМ. Против этого уровня ни Knox, ни VPN, ни удаление MAX не работает. Если ты в поле зрения - ты в поле зрения, и приложения тут ни при чём.

Для собственного спокойствия, если MAX (и остальные приложения VK Group) нужен по работе или для общения, но нервы не на месте - изолируй его. Samsung Knox, рабочий профиль Android, Shelter. Отдельный контейнер, отдельные разрешения, отдельная файловая система. MAX не увидит остальные приложения, не получит доступ к основным контактам, не прочитает ничего за пределами своей песочницы. Нейросеть для wake word detection будет слушать пустоту рабочего профиля. Пять минут настройки.

Сбер и T-Bank собирают не меньше - но у них другая причина. Телефонные мошенники реально выводят деньги через TeamViewer и AnyDesk, реально обманывают людей под стрессом. Банк обязан это остановить. Для этого Сбер и T-Bank запрашивают многие сенсоры. Антифрод работает - Сбер публикует статистику остановленных переводов. Вопрос не в том, нужно ли это делать. Вопрос - нужны ли для этого IMEI, WiFi MAC, координаты касаний, список VPN-приложений и RTB-аукцион в банковском приложении.

WhatsApp - отдельный цинизм. Маркетинг продаёт end-to-end шифрование. Шифрование реально работает, содержимое не читается. Но вокруг содержимого - 879 типов метрик: кто, когда, откуда, с какого устройства, какие приложения установлены (SHA-хеш каждого с сертификатом разработчика), включён ли VPN, какой оператор, какая версия ОС. Конверт запечатан. Но почтальон записал кто отправил, кому, когда, откуда, сколько весит, и сфотографировал руки отправителя. Приватность содержимого при тотальном сборе метаданных - это не приватность. Это витрина.

Keet - самое тихое приложение из тринадцати. Ноль собственной телеметрии. Ноль fingerprint. Ноль сенсоров на сервер. P2P через Hyperswarm DHT.

Но «децентрализованный» не значит «без серверов». Юзернеймы хранятся на сервере Holepunch. Bootstrap DHT требует начальных нод - без них сеть не поднимется.

А код - кривой. 22 проверки на эмулятор (больше чем у Сбера и T-Bank) в приложении, которому вообще не нужна эмулятор-детекция. expo-clipboard тащит addPrimaryClipChangedListener - фоновый слушатель буфера обмена через React Native костыль, которого разработчики скорее всего даже не заметили. Expo и React Native привносят мусор, который никто не аудирует. Keet приватный не потому что код вылизан и кривой слегка - а потому что у него нет бизнес-модели, которая требует слежки.

Подробный технический разбор каждого из 13 приложений - со всеми классами, файлами и строками кода - на канале Bruce Stars.

*Facebook, Instagram - продукты компании Meta, признанной экстремистской организацией, деятельность которой запрещена на территории РФ.

Все тринадцать хотят одного - знать о тебе больше. Разница в том, как просят.

Я готов отдать данные приложению, которое объясняет зачем они нужны и что с ними делает. Я не готов быть оценённым по 1200 поведенческим шаблонам ради рекламы.

Технологический стек при этом не оправдание и не обвинение. Сбер собирает жёстко - но стек серьёзный: ГОСТ-криптография, SberTLS на 28 сертификатах, ONNX Runtime, BiZone CallerID. T-Bank - двойной SSL pinning, NDK Executor, CryptoPro для цифрового рубля. Это инженерные решения, за каждым стоит конкретная задача. А 53 SDK в TikTok - это не инженерия. Это бизнес-модель, замаскированная под приложение для коротких видео.

Ставить или удалять - решаешь ты. Я показал что внутри.

Технические отчеты в Bruce Stars:

  1. о каждом приложении
  2. цифровой рубль
  3. AppsFlyer SDK
  4. MyTracker
  5. OK Tracer
  6. Reef Вконтакте
  7. Tencent Analytics
  8. VK SAK
  9. Нейросети в кармане