Meta Pixel та Yandex Metrica обходять пісочницю Android
Meta та російська компанія Yandex скористалися легітимними протоколами Android та браузерів для прив’язки постійних ідентифікаторів до історії переглядів користувачів. Дослідники з IMDEA Networks та Університету Радбуда нещодавно детально описали, як ці аналітичні скрипти, вбудовані в понад вісім мільйонів вебсайтів, перетворюють короткочасні веб-куки на постійні ідентичності додатків, фактично порушуючи основні механізми пісочниці Android та браузерів.
Передумови: Пісочниця Android та Розділення Браузера
Сучасний Android забезпечує ізоляцію процесів за допомогою Linux namespaces та політик SELinux, що запобігає несанкціонованим взаємодіям між додатками та системними ресурсами. Браузери доповнюють це розділенням стану та розділенням сховища, зберігаючи куки та локальне сховище ізольованими для кожного домену верхнього рівня. Теоретично, веб-контексти не можуть спілкуватися з рідними додатками без явної дії користувача або медіації ОС.
Технічний Аналіз: Зловживання Портом Localhost
Як Meta Pixel, так і Yandex Metrica використовують ненавмисний канал: інтерфейс циклічної петлі Android- пристрою 127.0.0.1
. Браузери дозволяють JavaScript відкривати WebSocket, HTTP(S) та WebRTC з’єднання з localhost без запитів до користувача, що дозволяє трекерам передавати ідентифікатори через порти, які безшумно моніторять додатки Facebook, Instagram та Yandex.
Початкове Витікання HTTP/HTTPS
Yandex розпочав у травні 2017 року, надсилаючи HTTP
запити до портів 29009
та 30102
, перш ніж перейти на HTTPS
на портах 29010
та 30103
. Meta Pixel приєднався у вересні 2024 року, спочатку використовуючи HTTP
на порту 12387
, а потім перейшовши на зашифровані варіанти.
WebSocket та SDP Munging через WebRTC
У листопаді 2024 року Meta Pixel запровадив WebSocket на порту 12387 та WebRTC атаку на основі STUN через SDP munging. Впроваджуючи куки _fbp
у Протокол Опису Сесії, браузер ненавмисно надсилає його як частину ICE-узгодження до локального сокета FB-додатку. Коли Chrome 116 заблокував STUN munging, Meta швидко перейшов на TURN через UDP порти 12580–12585, що ілюструє постійну гонку озброєнь.
Заходи Google та Браузерів
Наприкінці травня 2025 року Chrome 116 впровадив запит до користувача на доступ до будь-якого порту localhost, що походить з JavaScript, за замовчуванням блокуючи зловживання STUN/TURN. DuckDuckGo та Brave ввели блокування на рівні DNS, в той час як Vivaldi та Firefox розглядають подібні контролі. Представник Google заявив:
“Наша остання версія Chrome вимагає явної згоди користувача перед будь-якою комунікацією браузера з додатком через localhost. Ми працюємо з Meta та Yandex, щоб забезпечити відповідність політикам Play Store та очікуванням щодо конфіденційності користувачів.”
Додатковий Аналіз: Юридичні та Регуляторні Наслідки
Відповідно до GDPR та Закону про цифрові послуги ЄС, перетворення псевдонімних веб-даних на реальні ідентичності без явної згоди може становити порушення закону про конфіденційність. Державні закони США, такі як CCPA Каліфорнії, можуть також бути застосовані. Meta та Yandex стикаються з численними колективними позовами, що стосуються незаконного трекінгу. Регуляторні органи в Ірландії та Росії розпочали розслідування зловживаннями платформними дозволами.
Додатковий Аналіз: Рекомендації для Розробників та Користувачів
- Аудит скриптів третіх сторін: Використовуйте Subresource Integrity (SRI) для блокування аналітичного коду.
- Вимагайте явну згоду користувача: Впровадьте банери для підписки, які охоплюють комунікації через localhost.
- Обмежте встановлення додатків: Уникайте рідних додатків Facebook, Instagram або Yandex, якщо бажаєте максимального рівня конфіденційності.
- Використовуйте браузери, орієнтовані на конфіденційність: DuckDuckGo, Brave та браузери з посиленими політиками localhost можуть блокувати цей трекінг.
Додатковий Аналіз: Платформні Рішення та Майбутні Напрями
Експерти закликають Google впровадити контролі Android manifest або дозволи в режимі виконання для портів localhost. Пропозиції включають в себе API-білий список та прапори налагодження в браузері, які запитують у користувача перед відкриттям сокетів циклічної петлі. Оскільки крайові обчислення та Прогресивні веб-додатки набирають популярності, надійні контролі міжконтекстного IPC будуть критично важливими для запобігання подальшим зловживанням.
Висновок
Відкриття, зроблене Вальїною-Родрігесом, Акаром та їхніми колегами, виявляє фундаментальну ваду в необмеженій моделі localhost Android. Хоча заходи браузера забезпечують тимчасове полегшення, довгострокове рішення полягає у переробці платформи. До тих пір розробники та користувачі повинні залишатися пильними та впроваджувати практики, орієнтовані на конфіденційність, щоб запобігти спробам деанонімізації.