- Meta(페이스북), Yandex 등 주요 앱이 Android에서 로컬 포트(127.0.0.1)를 사용해 웹 브라우저와 네이티브 앱 간 식별자·쿠키를 비밀리에 공유한 사실이 공개됨
- 웹사이트에 심어진 Facebook Pixel, Yandex Metrica 스크립트가 Android 브라우저에서 네이티브 앱(페이스북, 인스타그램, Yandex 계열 앱)으로 브라우징 세션과 식별자를 직접 전달, 사용자 식별 및 탈익명화가 가능해짐
- 이 방식은 쿠키 삭제, 시크릿 모드, 권한 설정, 광고ID 리셋 등 기존 프라이버시 보호책을 모두 우회하며, 악성 앱이 포트만 맞춰 듣고 있으면 브라우저 방문 이력 수집도 가능함
- 2025년 6월 3일 공개 이후 Facebook 측은 해당 코드를 대부분 제거했으나, 해당 기법이 수년간 전 세계 수억대 안드로이드 기기에서 이용됨. Yandex는 2017년부터 유사한 방식을 지속적으로 사용 중임
- 크롬, 파이어폭스, 브레이브 등 주요 브라우저들은 긴급 차단 조치를 도입했지만, 플랫폼 구조적 한계로 완전한 근본 대책은 미흡, Android IPC와 로컬 네트워크 보안 강화 필요성이 강조됨
Disclosure: Localhost를 통한 은밀한 웹-앱 트래킹 기법
- 연구진은 Meta와 Yandex가 수십억 안드로이드 사용자를 대상으로, 네이티브 앱이 정해진 로컬 포트(예: 12580~12585, 29009~30103) 를 백그라운드에서 열어두고 웹에서 실행된 자바스크립트와 통신하는 방식을 발견함
- 이를 통해 웹브라우저의 쿠키, 메타데이터, 사용 기록이 네이티브 앱에 전달되고, 앱 계정 정보 및 Android Advertising ID 등과 결합되어 사용자 신원이 웹 방문과 연결됨
How does this work?
Android의 로컬 포트 악용
- Android OS에서 모든 앱이 INTERNET 권한만 있으면 127.0.0.1(루프백)에 소켓을 열 수 있음
- 브라우저 역시 별도의 사용자 동의 없이 이 인터페이스 접근 가능
- 웹사이트에 심어진 자바스크립트가 브라우저와 네이티브 앱간에 표준 Web API를 이용해 데이터 송수신 가능
Meta/Facebook Pixel의 웹-앱 연동 방식
- Meta Pixel 자바스크립트가 Android 브라우저에서 로드될 때, _fbp 쿠키 값을 WebRTC의 STUN 패킷(UDP 12580–12585 포트)으로 네이티브 앱에 전송
- 기기 내 Facebook, Instagram 앱(버전별로 515.0.0.23.90/382.0.0.43.84 등)이 해당 포트에서 수신 대기, 브라우저에서 온 _fbp 값을 수신해 자체 서버에 GraphQL로 전송
- _fbp는 약 25%의 상위 백만 사이트에 심겨있는 주요 쿠키로, 기존엔 사이트별로 별도라 교차 추적이 어려웠지만, 이 방식으론 사용자의 다중 _fbp를 한 계정으로 매칭 가능
- 2025년 5월 이후에는 WebRTC TURN 방식을 추가, SDP Munging 기법을 피하도록 스크립트가 변경됨
- _fbp 쿠키는 90일간 유지, 25%의 상위 웹사이트에서 사용될 정도로 매우 흔함
- Chrome 등 주요 브라우저 대응 후 6월 3일 코드 삭제
Yandex Metrica의 웹-앱 연동 방식
- Yandex Metrica 스크립트는 2017년부터 HTTP(S)로 로컬 포트(29009, 29010, 30102, 30103 등)에 요청을 보냄
- Yandex 앱(Yandex Maps, Navigator, Browser, Search 등)이 포트를 열어두고, 받은 요청에 대해 Base64 인코딩된 Android Advertising ID(AAID) 와 기타 디바이스 식별자, UUID 등을 포함한 데이터를 응답
- 브라우저 스크립트가 이 정보를 수집해 다시 Yandex 서버로 전송, 브라우저-앱-서버 간 식별자 연동 완성
- yandexmetrica.com 도메인이 127.0.0.1로 리졸브되어 탐지 회피 및 수집 흐름 은폐
- 로컬호스트 HTTP 사용으로 인해, 만약 다른 앱이 동일 포트를 리스닝할 경우 사용자의 웹사이트 방문 기록 노출 위험까지 있음
실질적 위험: 브라우저 방문 이력 유출
- HTTP 기반 로컬 통신을 이용할 경우, 임의의 Android 앱도 해당 포트만 듣고 있으면 브라우저 방문 URL 등 히스토리 획득 가능
- 실제 Proof-of-Concept 앱 개발 및 크롬·파이어폭스·엣지에서 실험해 프라이빗 브라우징, 시크릿 모드도 모두 취약함을 입증
- Brave, DuckDuckGo 등 일부 브라우저만 자체 블록리스트 및 사용자 동의 요구로 방어됨
Affected Sites
- Meta Pixel: 580만 개 웹사이트에서 사용, 실제 크롤링 결과 상위 10만개 사이트 중 EU 1.5만, US 1.7만 사이트에서 로컬 ID 공유 관찰
- Yandex Metrica: 300만 개 웹사이트에서 사용, 동일 방식으로 EU 1,260, US 1,312 사이트에서 로컬 포트 통신 확인
- 이 중 상당수 사이트는 쿠키 동의 절차 없이도 자동 트래킹 실행됨
History
- Yandex: 2017년부터 HTTP/HTTPS 포트 이용 시작
- Meta: 2024년 9월 HTTP, 2024년 11월 WebSocket, 2025년 WebRTC STUN, 5월 TURN으로 단계적 전환
Abuse Vectors
- 안드로이드의 로컬호스트 소켓 접근 제한 부재 및 샌드박스 정책 미흡이 주요 원인
- 기존 권한 설정, 브라우저 시크릿 모드, 광고ID 리셋 등 모든 보호책 우회
- 웹 개발 목적의 합법적 용도와 구분 어려우나, 대규모 트래킹 실증 사례로 남음
- Chrome, Firefox, DuckDuckGo, Brave 등 브라우저는 긴급 대응 패치 중이나, 근본적으로는 플랫폼 차원의 권한 및 경고, 샌드박스, IPC 정책 강화 필요
Disclosure
- 크롬, 파이어폭스, DuckDuckGo, 브레이브 등 브라우저 공급사에 책임 공개 및 협력 요청
- 크롬(137버전), 파이어폭스(138버전), 브레이브 등 취약 포트 차단, SDP Munging 차단 등 단기 조치 시행
- 장기적으로는 로컬 네트워크 접근 통제, 샌드박스 보강, 사용자 안내 등 구조적 보완 필요성 강조
| 브라우저 | 버전 | Yandex | 대응/차단 현황 | |
|---|---|---|---|---|
| Chrome | 136.0+ | 영향 | 영향 | 137부터 포트 및 SDP munging 차단, 단계적 적용 중 |
| Edge | 136.0+ | 영향 | 영향 | 불명(Chromium 기반) |
| Firefox | 138.0.2 | 영향 | 영향없음(1) | SDP munging 차단, UDP는 차후 차단 예정 |
| DuckDuckGo | 5.233.0 | 일부 영향(2,3 | 영향없음(2,3) | 블록리스트 기반 차단 |
| Brave | 1.78.102 | 영향 없음(3,4) | 영향 없음(3,4) | 2022년부터 로컬호스트 요청 사용자 동의 필요, 블록리스트 적용 |
- 1: SDP Munging 차단, TURN 포트는 아직 미차단(향후 적용 예정)
- 2,3,4: 블록리스트, 포트 차단, 사용자 동의 등 다양한 방어
사용자·운영자 인지 현황
사이트 운영자
- Meta, Yandex 공식문서에는 해당 방식이 공개된 바 없음
- 2024년 9월부터 Facebook 개발자 포럼 등에서 "왜 Pixel 스크립트가 localhost에 접근하나" 문의 잇따랐으나, 공식 답변 전무
- 사이트 운영자, 최종 사용자는 대부분 인지하지 못함. 사용자가 로그인하지 않은 상태, 시크릿모드, 쿠키 삭제 등 상황에도 추적 가능
일반 사용자
- 로그인 상태와 무관하게 트래킹 동작
- 시크릿 모드, 쿠키 삭제 등 보호책 무력화
- 쿠키 동의 절차 없는 사이트에서도 작동하는 사례 다수
FAQ 요약
- Q: 왜 Meta는 공개 직후 해당 방식을 중단했나?
A: 공식 답변 없음, 공개 이후 안드로이드 유저 대상 패킷 송신 중단 확인 - Q: 연구가 피어리뷰(동료 검증) 되었나?
A: 일부 기관에서 검증했으나 논문 심사 전, 악용 규모 때문에 신속 공개 결정 - Q: Meta/Yandex 공식 문서에 공개되어 있나?
A: 공식 기술 문서 없음, 개발자 포럼 문의만 존재 - Q: iOS/타 플랫폼도 영향받나?
A: 현재까지 안드로이드에서만 확인, 기술적으로는 iOS/데스크톱/스마트TV 등도 잠재적 위험 있음