Как проверить реальный сбор данных в приложении и сравнить его с обещаниями в политике конфиденциальности

Как проверить реальный сбор данных в приложении и сравнить его с обещаниями в политике конфиденциальности

Политика конфиденциальности описывает намерения, а сетевой трафик показывает факты. Чтобы проверить реальный сбор данных, запустите перехват HTTP/HTTPS-запросов через Charles Proxy или mitmproxy, откройте приложение и

Почему политика конфиденциальности часто расходится с реальностью

Разработчики публикуют политику конфиденциальности, чтобы выполнить требования законодательства: GDPR в Европе, CCPA в Калифорнии, 152-ФЗ «О персональных данных» в России. Но между текстом документа и поведением приложения есть системный разрыв, и причины этого вполне конкретны.

Шаблонные тексты. Компании берут типовой шаблон политики у юридического провайдера (Termly, Iubenda, PrivacyPolicies.com) и адаптируют его под свой продукт. Шаблон содержит широкие формулировки — «мы можем собирать данные об устройстве, местоположении, использовании сервиса» — которые юристы не сужают под реальный набор полей. В результате документ разрешает сбор всего, а приложение передаёт только часть.

Сторонние SDK. В среднем мобильное приложение интегрирует от 10 до 18 сторонних библиотек (данные AppBrain, 2024): аналитика Firebase, рекламные сети AdMob или Meta Audience Network, платёжные модули, push-уведомления. Каждый SDK устанавливает собственное сетевое соединение и может передавать данные на свой сервер. Разработчик указывает в политике только «наших партнёров», но не перечисляет каждый домен, куда SDK стучится.

Полезная подборка по близкой теме — главная подборка.

Обновления без пересмотра. Если приложение обновилось и добавило новую аналитическую библиотеку, политика конфиденциальности может оставаться прежней месяцами. По данным IAPP (International Association of Privacy Professionals), только 38% компаний обновляют политику в течение 30 дней после изменения состава сбора данных.

Фоновый сбор. Часть приложений продолжает передавать данные, когда пользователь свернул их. GPS-координаты, идентификаторы устройства, данные о соседних Wi-Fi-сетях — всё это уходит на серверы в фоне. Политика может упоминать «сбор данных в фоновом режиме» мелким шрифтом в разделе 4.b, но пользователь редко это замечает.

Размытые категории. Вместо точного списка полей (IMEI, Android ID, GAID, IP-адрес, версия ОС, модель устройства) политика пишет «информация об устройстве». Это юридически защищает компанию, но лишает пользователя возможности сопоставить обещание с реальностью.

Смежные инструкции собраны здесь — новости и инструкции.

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

---

Инструменты для мониторинга сетевой активности смартфона

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

Charles Proxy (Windows / macOS / Linux)

Прокси-сервер для десктопа, который перехватывает HTTP и HTTPS-трафик. Бесплатная версия работает 30 минут, после чего требует перезапуска. Полная лицензия стоит $50 (единоразово). Устанавливается на компьютер, после чего смартфон настраивается на IP компьютера в Wi-Fi как на прокси. Для HTTPS нужен установка Charles Root Certificate на устройство — сертификат скачивается с chls.pro/ssl. После установки Charles расшифровывает зашифрованный трафик и показывает полные URL, заголовки и тело запросов.

mitmproxy (Windows / macOS / Linux)

Бесплатный open-source инструмент. Запускается из терминала командой `mitmproxy` или через графическую оболочку `mitmweb`. Для мобильного перехвата та же схема: прокси на компьютере, сертификат на устройство. mitmweb даёт веб-интерфейс на порту 8081 с фильтрацией по доменам, что удобно для сортировки запросов.

PCAPdroid (Android)

Приложение из Google Play, которое работает прямо на телефоне без компьютера. Перехватывает трафик через VPN-интерфейс (не настоящий VPN, данные никуда не уходят). Показывает список подключений с IP-адресами и доменами. Бесплатная версия позволяет сохранять pcap-файлы для анализа в Wireshark. Ограничение: не расшифровывает HTTPS без дополнительного сертификата.

Lockdown Privacy (iOS / Android)

Блокирует скрытые трекеры на уровне DNS. Бесплатное приложение, не требует регистрации. Показывает лог заблокированных запросов — домены, которые пыталось открыть приложение. Не даёт полного содержимого запроса, но мгновенно показывает, куда приложение стучится.

Exodus Privacy (веб-инструмент)

Анализирует APK-файл приложения статически — без запуска. Загружаете файл на reports.exodus-privacy.eu.org, и сервис за 2–5 минут выдаёт список встроенных трекеров (AdMob, Facebook Analytics, Adjust, AppsFlyer и др.) и запрашиваемых разрешений. Бесплатно, без регистрации. Подходит как первый шаг перед динамическим анализом.

GlassWire (Android / Windows)

Мониторинг сетевой активности в реальном времени. Бесплатная версия показывает, какое приложение отправило данные, на какой IP и в каком объёме. Удобно для обнаружения фоновой активности: если приложение, которое вы не открывали 4 часа, передало 15 МБ — это сигнал.

---

Пошаговый алгоритм проверки передачи данных в фоновом режиме

Ниже — нумерованный алгоритм для Android. Для iOS шаги аналогичны, за исключением пунктов 2 и 4.

Шаг 1. Сохраните политику конфиденциальности приложения.

Откройте страницу приложения в Google Play или App Store. Перейдите по ссылке «Политика конфиденциальности». Сохраните страницу целиком (Ctrl+S в браузере). Прочитайте разделы, где перечислены категории собираемых данных и партнёры. Выпишите названия всех упомянутых сервисов и доменов — это ваш эталон.

Шаг 2. Установите инструмент мониторинга.

Для компьютерного анализа: установите Charles Proxy (https://www.charlesproxy.com) или mitmproxy (https://mitmproxy.org). Для мобильного: установите PCAPdroid из Google Play. Запустите инструмент и убедитесь, что он перехватывает трафик — откройте любой сайт и проверьте, что запрос отображается в логе.

Шаг 3. Подключите смартфон.

В настройках Wi-Fi на телефоне укажите прокси-сервер: IP-адрес компьютера, порт 8080 (Charles) или 8080 (mitmproxy). Откройте в браузере телефона http://mitm.it (для mitmproxy) или http://chls.pro/ssl (для Charles) и установите корневой сертификат. На Android 7+ для установки сертификата в системное хранилище потребуется root; без root сертификат работает только в браузере, но для анализа доменов этого достаточно.

Шаг 4. Подготовьте чистое окно.

Остановите все приложения на телефоне (Настройки → Приложения → Остановить все). Удалите кеш целевого приложения, если оно уже было установлено. Закройте фоновые сервисы. Это нужно, чтобы в логе были только запросы от нужного приложения.

Шаг 5. Запустите перехват и откройте приложение.

В Charles нажмите «Start Recording». Запустите целевое приложение. Выполните типичный сценарий: просмотр главного экрана, открытие профиля, переход в настройки. Потратьте 3–5 минут. Не закрывайте приложение.

Шаг 6. Сверните приложение и подождите 10 минут.

Нажмите «Домой». Установите таймер на 10 минут. В это время не открывайте другие приложения. По истечении времени проверьте лог — появились ли новые запросы от целевого приложения.

Шаг 7. Экспортируйте и проанализируйте лог.

В Charles: File → Export Session → XML или HAR. В PCAPdroid: экспорт в pcap, открытие в Wireshark. Отфильтруйте запросы по пакетному имени приложения (например, `com.example.app`). Составьте список доменов, на которые приложение отправляло данные.

Шаг 8. Сравните с политикой.

Сопоставьте список доменов из лога с перечнем партнёров из политики. Домены, которые не упомянуты в документе, — потенциальное нарушение. Проверьте каждый неизвестный домен через whois или BuiltWith.

---

Таблица проверки: сопоставление разрешений и реальных запросов

Параметр проверкиЧто смотретьНормаТревожный сигнал
Запросы к доменам аналитикиДомены в логе (Firebase, Amplitude, Mixpanel)Указаны в политике конфиденциальностиДомены аналитики отсутствуют в политике
Запросы к рекламным сетямОбращения к doubleclick.net, facebook.com, appsflyer.comПеречислены как партнёрыРекламные запросы идут без упоминания в политике
Передача в фоновом режимеЗапросы при свёрнутом приложении0 запросов за 10 минут покояБолее 5 запросов в фоне без активного использования
Количество запрашиваемых разрешенийManifest приложения (Exodus Privacy)Только разрешения, необходимые для функционалаЗапрос камеры, микрофона, контактов без объяснения в политике
Передача геолокацииЗапросы к googleapis.com/location или собственному API с координатамиТолько при явном использовании карт или навигацииGPS-координаты уходят при каждом запуске
Отправка идентификаторов устройстваПоля в теле POST-запросов: `android_id`, `gaid`, `imei`, `serial`Только рекламный идентификатор (GAID)Передача IMEI, серийного номера, Android ID
Объём трафика в фонеGlassWire: объём данных за 1 час покояМенее 50 КББолее 1 МБ за час бездействия
DNS-запросы к скрытым доменамPCAPdroid: DNS-логДомены совпадают с заявленными в политикеДомены из регионов, не связанных с сервисом (например, серверы в Китае для российского приложения)
Шифрование передачиВсе запросы по HTTPS100% HTTPSHTTP-запросы с персональными данными в открытом виде
Частота ping-запросовИнтервал keep-alive или heartbeatКаждые 5–15 минутКаждые 10–30 секунд — избыточная активность

---

Признаки скрытого сбора информации и подозрительной активности

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

Свечение микрофона без причины. Если индикатор конфиденциальности в Android 12+ (зелёная точка в статус-баре) или iOS 14+ (оранжевая точка) появляется, когда приложение не использует голосовой ввод и не записывает видео — микрофон активен в фоне. Проверьте: Настройки → Конфиденциальность → Диспетчер разрешений → Микрофон → история использования.

Необъяснимый рост базы данных приложения. Откройте Настройки → Приложения → ваше приложение → Хранилище. Если кэш вырос на 50–200 МБ за неделю без загрузки медиафайлов — возможно, приложение кеширует аудиозаписи или скриншоты экрана перед отправкой.

Список контактов в запросах. В Charles или mitmproxy найдите POST-запросы и откройте тело. Если видите массив с именами и номерами телефонов — приложение выгружает телефонную книгу. Это допустимо только для мессенджеров и приложений с функцией «найти друзей», и только если вы явно дали разрешение.

Пакетная отправка. При нормальной работе приложение отправляет данные по мере генерации. Если вы видите, что 15–30 мелких событий упакованы в один POST-запрос раз в 6–12 часов — это батчинг аналитики. Сам по себе он не нарушение, но если батч содержит поля, не описанные в политике, — проблема.

Обращение к clipboard. На Android 10+ и iOS 16+ система уведомляет о чтении буфера обмена. Если приложение читает clipboard при каждом открытии — оно может собирать скопированные пароли, номера карт, адреса. В 2023 году Google Play заблокировал более 150 приложений за навязчивый доступ к clipboard.

Странные DNS-запросы. PCAPdroid показывает DNS-лог. Если приложение для погоды обращается к доменам типа `tracker.cn`, `analytics.ru` или доменам из списка известных брокеров данных (Clearbit, FullContact, ZoomInfo) — оно, вероятно, обогащает ваш профиль у третьих лиц.

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

---

Когда стоит немедленно удалить приложение и отозвать доступ

Есть ситуации, в которых анализ не нужен — достаточно одного обнаруженного факта.

Приложение передаёт IMEI или серийный номер устройства. IMEI — неизменяемый аппаратный идентификатор. Его передача третьим лицам позволяет отслеживать устройство даже после смены SIM-карты и сброса настроек. Удалите приложение, зайдите в Настройки → Безопасность → Просмотр всех разрешений и отзовите доступ.

Обнаружена передача данных на HTTP (без шифрования). Если в логе Charles вы видите POST-запрос с персональными данными (email, имя, телефон) по протоколу HTTP — данные перехватываются любым устройством в той же Wi-Fi сети. Это прямое нарушение статьи 19 152-ФЗ и статьи 32 GDPR.

Приложение запрашивает Accessibility Service без обоснования. Как указано выше — это позволяет читать экраны банковских приложений, перехватывать логины и пароли. Google в 2024 году ужесточил политику, но часть приложений всё ещё обходит проверку.

Передача данных брокерам без упоминания в политике. Если вы обнаружили обращения к доменам Clearbit, FullContact, People Data Labs или аналогам, а в политике эти компании не указаны — приложение продаёт ваш профиль. Отзовите все разрешения и удалите.

Скрытая установка сертификатов. Некоторые корпоративные и «безопасные» приложения устанавливают пользовательский корневой сертификат, что позволяет перехватывать весь HTTPS-трафик устройства. Если вы не давали на это явного согласия — удалите приложение и удалите сертификат: Настройки → Безопасность → Доверенные сертификаты → Пользовательские.

Передача данных после удаления. Проверьте GlassWire или PCAPdroid через 24 часа после удаления приложения. Если запросы от пакетного имени приложения продолжаются — установлен фоновый сервис. Удалите его через ADB: `adb shell pm uninstall --user 0 com.example.app`.

---