Почему политика конфиденциальности часто расходится с реальностью
Разработчики публикуют политику конфиденциальности, чтобы выполнить требования законодательства: 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-лог | Домены совпадают с заявленными в политике | Домены из регионов, не связанных с сервисом (например, серверы в Китае для российского приложения) |
| Шифрование передачи | Все запросы по HTTPS | 100% HTTPS | HTTP-запросы с персональными данными в открытом виде |
| Частота 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`.
---
