요약: ATT는 하나의 특정 식별자(IDFA — Apple의 광고 ID)를 차단합니다. 계속 추적하려는 앱들은 단순히 IDFA 사용을 중단하고 ATT가 건드리지 않는 수십 가지의 다른 식별자를 사용합니다. 독립 연구에 따르면 많은 앱이 사용자가 "Ask App Not to Track"을 탭한 후에도 핑거프린팅을 통해 추적을 계속하는 것으로 나타났습니다. 아래에서 ATT가 실제로 하는 일, 하지 못하는 일, 그리고 그 공백을 채우는 방법을 설명합니다.
App Tracking Transparency가 실제로 차단하는 것
2021년 4월 iOS 14.5와 함께 도입된 ATT는 앱이 기기의 IDFA(Identifier for Advertisers) — Apple이 각 기기에 부여하는 단일 전역 문자열 — 에 접근하기 전에 시스템 프롬프트를 표시하도록 요구합니다. "Ask App Not to Track"을 탭하면 앱은 모두 0으로 채워진 IDFA를 받게 됩니다. 그게 전부입니다. 그것이 전체 메커니즘입니다.
이러한 좁은 보호 범위는 Apple의 관점에서 이해가 됩니다: ATT는 Apple이 제어하는 단일 식별자에 관한 것입니다. ATT가 설계된 적이 없는 것 — 그리고 대부분의 사용자가 그렇게 할 것이라고 가정하는 것 — 은 앱이 다른 수단을 통해 사용자의 행동을 추적하는 것을 막는 일입니다.
ATT 이후 앱들이 전환한 방법
IDFA가 차단되었을 때, 모바일 광고 업계는 포기하지 않았습니다. 기술을 전환했습니다:
- 기기 핑거프린팅. 화면 해상도, 모델, OS 버전, 설치된 언어, 시간대, 가속도계 노이즈 패턴, 그리고 약 30가지 다른 신호를 결합하여 앱 전반에 걸쳐 기기를 재식별할 수 있을 만큼 고유한 핑거프린트를 만들어냅니다. 핑거프린트는 Apple이 앱이 자유롭게 읽을 수 있도록 허용하는 데이터로 구성됩니다.
- 해시된 사용자 식별자. 이메일로 무료 앱에 로그인하면 SDK가 해당 이메일을 해시하여 광고 네트워크로 전송합니다. 해시는 이메일을 보유한 다른 앱과도 일치합니다. ATT는 이를 막지 않습니다 — 가입할 때 이미 동의한 것입니다.
- 앱 간 연결고리로서의 공유 SDK. Facebook의 SDK는 모바일 앱의 약 30%에 내장되어 있습니다. 그 앱들 중 어느 것을 사용하더라도 SDK는 Facebook 계정이 없더라도 Meta에 보고합니다. ATT는 호스트 앱에 프롬프트를 표시하지만, 내장된 SDK의 별도 식별자에는 적용되지 않습니다.
- CNAME 클로킹. 사이트나 앱이 DNS 별칭(
analytics.bigsite.com→ 실제로는hotjar.com)을 생성하여 추적기가 자체 도메인처럼 보이게 합니다. ATT에는 DNS 레이어가 없으며, 브라우저 콘텐츠 차단기는 별칭 체인을 쉽게 해석하지 못합니다. - SKAdNetwork 어트리뷰션. Apple이 직접 만든 ATT 호환 대안 — 앱이 Apple이 집계한 채널을 통해 설치 어트리뷰션 이벤트를 보고합니다. IDFA보다 세분화 정도는 낮지만, 여전히 어트리뷰션입니다. 없는 것보다는 낫습니다.
실증적 현실
독립 연구자들은 ATT가 실제로 하나의 채널을 차단하고 다른 많은 채널을 열어둔다는 사실을 반복적으로 발견했습니다: 많은 앱이 사용자가 ATT 권한을 거부한 후에도 어떤 형태로든 추적을 계속합니다, 주로 핑거프린팅과 공유 SDK 식별자를 통해서입니다.
이것은 ATT가 나쁘다는 주장이 아닙니다 — ATT는 유용하지만 좁은 범위의 보호 기능입니다. 이것은 "앱이 나를 추적해서는 안 된다"는 목표라면 ATT만으로는 불충분하다는 주장입니다.
실제로 공백을 메우는 것
위의 모든 기술에는 하나의 구조적 특성이 있습니다: SDK가 원격 서버에 도달해야 한다는 것입니다. 핑거프린트는 어딘가로 전송되어야 합니다. 해시된 이메일은 홈으로 연락해야 합니다. Facebook SDK는 페이로드를 graph.facebook.com으로 전송해야 합니다. CNAME으로 위장된 추적기도 결국 실제 목적지로 해석됩니다.
이는 알려진 추적기 도메인에 대한 연결을 차단하는 네트워크 레벨(DNS) 필터가 앱이 전송하려던 식별자에 관계없이 단일 개입으로 이 모든 것을 포착한다는 의미입니다. 이것이 Pi-hole이 가정 네트워크를 위해 개척한 방식이며, Casper's Cloak, NextDNS, AdGuard DNS 같은 모바일 도구가 개별 기기에서 하는 것입니다.
간략히 설명한 메커니즘:
- 앱에 내장된 SDK가 핑거프린트 / 해시된 ID / 행동 신호를 서버로 전송하려고 시도합니다(예:
graph.facebook.com,amplitude.com,mixpanel.com). - 연결이 완료되기 전에 기기가 서버의 IP를 찾기 위해 DNS 조회를 수행합니다.
- 시스템 VPN 프로필이 DNS 쿼리를 필터링 리졸버를 통해 전송합니다.
- 리졸버가 해당 호스트명이 추적기임을 인식하고 IP 반환을 거부합니다.
- 연결은 열리지 않습니다. 데이터는 휴대폰을 떠나지 않습니다.
중요한 것은, 이것이 Safari만이 아니라 기기의 모든 앱에 적용된다는 점입니다. ATT는 앱-SDK API 레이어에 있습니다. 브라우저 콘텐츠 차단기는 DOM 레이어에 있습니다. DNS 필터링은 둘 모두의 아래인 네트워크 레이어에 있으며, 모든 앱이 수렴하는 지점입니다.
ATT가 잘 하는 것 — 인정할 것은 인정하자
ATT는 두 가지 측면에서 진정한 가치가 있습니다:
- 기본값을 바꿨습니다. ATT 이전에는 IDFA가 항상 활성화되어 있었습니다. ATT 이후에는 대부분의 사용자가 프롬프트가 표시될 때 거부를 선택합니다. 우회 방법이 있더라도 이는 실질적인 인구 수준의 프라이버시 변화입니다.
- Meta 등이 이전에는 보이지 않던 추적 인프라를 공개하도록 강제했습니다. 앱이 정확하게 기재해야 하는 App Store의 "App Privacy" 레이블은 직접적인 결과로 생겨난 것입니다.
ATT는 가치 있는 개입이었습니다. 다만 완전한 것은 아닙니다 — Apple도 그렇다고 주장한 적이 없습니다.
실질적인 권장 사항
- 계속 "Ask App Not to Track"을 탭하세요. 한 번의 터치로 얻는 작은 보호도 가치가 있습니다.
- DNS 레벨 필터를 ATT와 함께 실행하세요 — Casper, NextDNS, AdGuard DNS, 또는 자체 호스팅 Pi-hole. 이것이 ATT가 다루지 않는 기술을 포착하는 것입니다.
- 앱을 설치하기 전에 App Privacy 레이블을 확인하세요. 앱 레이블에 불필요한 목적으로 "나와 연결된 데이터 — 식별자"가 표시되면 대안을 찾아보세요.
- 기본적으로 "무료" 앱은 추적을 통해 수익을 창출한다는 것을 인식하세요. 유료 대안은 추적에 의존하지 않기 때문에 의미 있게 다른 프라이버시 입장을 취하는 경우가 많습니다.
- 실제 이메일이 작동한다면 Apple/Google/Facebook으로 로그인하지 마세요. SSO는 그렇지 않으면 분리되어 있을 식별자들을 하나로 연결합니다.
결론
ATT는 유용하지만 범위가 좁은 프라이버시 기능입니다. Apple이 제어하는 단일 식별자를 차단합니다. 계속 추적하려는 앱들은 단순히 다른 식별자를 사용합니다. "앱이 나를 추적해서는 안 된다"는 더 광범위한 목표가 있다면, ATT는 끝이 아닌 시작입니다 — ATT가 설계된 적이 없는 것을 포착하는 네트워크 레벨 필터와 함께 사용하세요.