Дані про місцезнаходження під прицілом: що додатки відправляють про вас

18.10.2025 1 хвилин Автор: D2-R2

Стаття розповідає, як мобільні застосунки збирають і передають геодані користувачів без їхнього відома, і як будь-хто може це перевірити самостійно. Пояснюється, як налаштувати середовище для аналізу трафіку за допомогою mitmproxy та mitmweb, як перехоплювати запити, фільтрувати їх у Python-ноутбуці й знаходити приховані передачі координат, IDFA чи інших ідентифікаторів. Матеріал показує приклади візуалізації даних, колективний збір результатів через Google-таблиці та можливості розвитку відкритої бази геозапитів.

Вступ і суть проблеми

Масовий збір і передача геоданих мобільними застосунками перетворилися на один із найменш контрольованих процесів цифрової епохи. Кожен смартфон щосекунди надсилає десятки запитів — не лише до офіційних серверів додатків, а й до рекламних, аналітичних чи трекінгових платформ. Це означає, що навіть проста гра або ліхтарик можуть непомітно передавати координати, унікальні ідентифікатори пристрою, інформацію про Wi-Fi-мережу та сусідні базові станції. Такий потік метаданих дозволяє створювати поведінкові профілі користувачів, визначати маршрути пересування та прогнозувати звички людини. Проблема полягає в тому, що більшість користувачів не знають, куди саме йдуть ці дані, і не мають можливості це перевірити — ані через налаштування системи, ані через офіційні політики конфіденційності, які часто приховують реальні масштаби збору інформації.

Мета нового дослідження

Мета дослідження полягає в тому, щоб надати користувачам практичні інструменти для самостійного аналізу вихідного трафіку своїх мобільних додатків. Проєкт не обмежується лише демонстрацією процесу — він показує, як кожен може долучитися до колективного спостереження за тим, як працює рекламна інфраструктура, які дані відправляються в реальному часі, і хто саме є отримувачем цих пакетів. Учасники експерименту отримують покрокові інструкції для запуску власного локального аналізатора запитів, а також доступ до відкритого коду, який допомагає відфільтровувати геолокаційні параметри, IDFA-ідентифікатори чи інші чутливі метадані. У такий спосіб формується спільна база знань — незалежна, прозора й така, що базується на фактичних доказах, а не на припущеннях про поведінку додатків.

Інструменти і готові ресурси

Для проведення експерименту використовується відкритий інструмент mitmproxy, який дозволяє перехоплювати й аналізувати трафік між мобільним пристроєм і сервером. Його веб-інтерфейс mitmweb забезпечує наочну візуалізацію кожного запиту: можна побачити адресу домену, тип даних, заголовки HTTP та зміст переданої інформації. У поєднанні з Python-ноутбуком система дає змогу швидко фільтрувати величезні обсяги даних, виділяючи лише ті запити, що містять координати, токени або ідентифікатори користувача. Усі приклади та готовий код опубліковано у відкритому GitHub-репозиторії, що робить процес відтворення простим навіть для новачків. Таким чином, будь-хто може не лише перевірити власні додатки, а й долучитися до розширення спільної бібліотеки перехоплених даних, підвищуючи прозорість мобільної екосистеми.

Підготовка середовища

Підготовка системи для аналізу трафіку — ключовий етап, від якого залежить якість усіх наступних спостережень. Щоб розпочати, необхідно мати комп’ютер у тій самій Wi-Fi-мережі, що й смартфон, оскільки саме через неї проходитиме весь інтернет-трафік. Ідея проста, але потужна: створюється проміжна точка контролю — локальний проксі-сервер, який приймає всі запити з телефону, розшифровує їх і дозволяє побачити справжній зміст комунікації між додатком і сервером. Це не потребує спеціального обладнання: достатньо сучасного ноутбука, стабільного Wi-Fi-з’єднання та базових навичок роботи з командним рядком.

Перед запуском варто переконатися, що Python встановлений, а система має актуальні мережеві бібліотеки. Далі встановлюється mitmproxy — гнучкий інструмент для перехоплення трафіку. Для зручності візуалізації використовується веб-інтерфейс mitmweb, який дозволяє в реальному часі переглядати всі запити, фільтрувати їх, шукати ключові параметри й зберігати у зручному форматі для подальшої обробки.

Основні кроки налаштування виглядають так:

  • Встановити mitmproxy через команду pip install mitmproxy.

  • Запустити mitmweb --listen-host 0.0.0.0 --listen-port 8080.

  • Переконатися, що комп’ютер і смартфон підключені до однієї мережі Wi-Fi.

  • Перевірити доступність панелі mitmweb через браузер (адреса: http://localhost:8080).

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

Налаштування мобільного пристрою

Коли проксі-сервер на комп’ютері запущений, потрібно налаштувати мобільний пристрій, щоб він направляв трафік через цей сервер. Для цього у Wi-Fi-налаштуваннях активується ручний проксі, де вказується IP-адреса комп’ютера та порт 8080. Це дозволяє маршрутизувати всі запити з телефону через локальний сервер, який тепер бачить повний обсяг комунікації між додатком і мережею. Далі необхідно відвідати сторінку mitm.it — вона відкривається автоматично після підключення до проксі. На цьому сайті завантажується спеціальний сертифікат, який потрібно встановити в систему як довірений. Це критичний крок: без сертифіката HTTPS-з’єднання залишаються зашифрованими, тому навіть найдетальніший аналіз не зможе показати зміст переданих даних.

Після встановлення сертифіката телефон отримує можливість «бачити» розшифрований трафік, а користувач — відслідковувати, які сервери отримують запити, коли і як часто. Досвід показує, що навіть без взаємодії з додатком у фоновому режимі надсилається величезна кількість даних: геолокація, системна інформація, ідентифікатори реклами. Використання mitmweb дозволяє не просто побачити цей потік, а й зафіксувати його для подальшого аналізу, створюючи архів, з яким можна працювати у Python або ділитися з іншими дослідниками. Таким чином, телефон перетворюється з об’єкта спостереження на активний інструмент виявлення прихованих каналів передачі даних.

Запис і збереження потоків

Після завершення налаштування системи можна переходити до головного етапу — запису мережевих потоків. Користувач відкриває вибраний застосунок, а всі запити, які він надсилає, автоматично фіксуються в інтерфейсі mitmweb. У цей момент система зберігає не лише адреси серверів, а й контент запитів, час відправлення, тип протоколу та навіть внутрішні параметри, що передаються всередині JSON чи форм-даних. Це дозволяє створити повну картину взаємодії між додатком і мережею — побачити, як часто надсилаються координати, чи зберігаються сесії після закриття програми, і які сторонні сервіси беруть участь у зборі даних.

Щоб структура дослідження залишалася впорядкованою, усі потоки експортуються у файли з унікальними назвами, наприклад, game_test.flow, maps.flow або social.flow. Такі файли згодом імпортуються в Python-ноутбук, де автоматично витягуються ключові параметри: адреса сервера, довжина пакета, тип запиту, код відповіді. Це дає змогу швидко порівнювати різні програми й визначати ті, що найбільше використовують геодані. Поступово формується власна база доказів — жива, структурована й корисна для подальшого дослідження прозорості мобільних додатків.

Фільтрація й пошук підозрілих запитів

Після того як усі зібрані потоки трафіку збережено, починається найцікавіше — етап фільтрації. Саме тут із загального потоку технічної інформації виділяються ті запити, що можуть містити персональні дані користувача. Аналіз проводиться за допомогою Python-ноутбука, який автоматично проглядає файли .flow, розбиває їх на окремі запити й шукає певні ключові слова, що найчастіше вказують на передачу геолокації чи ідентифікаторів пристрою. Така фільтрація допомагає не лише знайти конкретні ризики, а й побачити системність передачі даних — коли десятки різних додатків звертаються до одних і тих самих доменів.

Для пошуку аномалій зазвичай перевіряються такі параметри:

  • latitude та longitude — координати користувача, які передаються у фоновому режимі;

  • IDFA або GAID — рекламні ідентифікатори, що дозволяють відстежувати дії між додатками;

  • location, geo, gps — змінні, які містять реальні дані про місцезнаходження;

  • advertising_id та session_id — маркери для відновлення профілю користувача при повторних запусках.

Після виявлення таких елементів запити групуються за доменами, і вже на цьому етапі починає вимальовуватись карта взаємозв’язків між додатками, аналітичними платформами та рекламними мережами. Це створює базу для наступного кроку — побудови візуальної структури доменів.

Візуалізація структури доменів

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

Під час аналізу особливо часто трапляються такі групи: Google Ads, Firebase, Appsflyer, Applovin, Unity Ads — саме вони найчастіше отримують координати користувачів, час сесії та дані про пристрій. Візуальна карта допомагає побачити не лише масштаб присутності цих гравців, а й те, як дрібні додатки фактично працюють як сенсори, постачаючи дані до великих систем збору статистики. Це вже не просто окремі запити — це екосистема, що функціонує постійно.

Колективна участь і збір результатів

Щоб зробити дослідження максимально відкритим, створено форму Google, через яку кожен охочий може додати результати власного аналізу. Користувач завантажує свій .flow-файл, зазначає назву додатка та описує, які параметри виявлено. Усі ці дані автоматично потрапляють у спільну таблицю, яка не містить особистої інформації, лише технічні факти. Це дозволяє будувати колективну базу знань — бачити, які домени повторюються найчастіше, як вони змінюються з часом і які нові адреси з’являються після оновлень популярних додатків.

Такий підхід перетворює звичайний експеримент на справжню мережу громадського моніторингу. Кожен внесок, навіть невеликий, підсилює загальну картину, дозволяючи виявити закономірності, яких раніше не помічали ні користувачі, ні навіть дослідники приватності. Це вже не просто технічна ініціатива — це крок до реальної прозорості цифрового середовища.

Обмеження та складнощі

Попри успішні результати, під час аналізу мобільного трафіку виникає низка труднощів, що не дозволяють автоматизувати процес повністю. Багато застосунків використовують власні формати передачі даних або шифрують пакети нестандартними методами, які важко розпізнати навіть після встановлення сертифіката довіри. Часто запити кодуються через protobuf або base64, приховуючи структуру полів, а самі координати можуть передаватися у вигляді математичних виразів чи фрагментів JSON. Через це частина геоданих залишається непоміченою навіть після фільтрації, і для їх розпізнавання доводиться поєднувати автоматичні алгоритми з ручною перевіркою.

Крім того, мобільні операційні системи постійно оновлюють механізми безпеки, що ускладнює перехоплення запитів. Нові версії Android і iOS активніше блокують установку проксі-сертифікатів або обмежують доступ до системних мережевих бібліотек. Це створює технічні бар’єри, але водночас підтверджує важливість таких досліджень — лише через практичний досвід можна зрозуміти, які дані фактично передаються в реальному часі.

Нові можливості й напрямки розвитку

Попри обмеження, проєкт продовжує розвиватися. Наступні кроки передбачають створення системи автоматичного експорту даних у формат CSV, щоб будь-хто міг швидко отримати зведену таблицю з параметрами запитів. Також планується розробка модулів для декодування protobuf-відповідей, що дозволить бачити зміст навіть у тих випадках, коли дані передаються в бінарній формі. Ще один напрям — побудова спільної бази даних типових запитів мобільних SDK, у якій можна буде шукати збіги за доменами або ключовими словами.

У майбутньому дослідження може перетворитися на повноцінну платформу моніторингу з відкритими API, де користувачі з усього світу обмінюватимуться результатами спостережень. Такі ініціативи формують нову культуру цифрової відповідальності, коли прозорість стає не опцією, а базовою умовою роботи будь-якого мобільного сервісу.

Висновок і заклик до дії

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

Це не просто експеримент, а спосіб повернути контроль над особистими даними. Чим більше користувачів братиме участь у спільному аналізі, тим прозорішою стане цифрова екосистема, у якій щодня живуть мільярди пристроїв. І саме з таких дій починається реальна цифрова безпека — не декларативна, а заснована на практиці, спільності й знанні.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.