Tillbaka till bloggen
Integritet på iOS·9 min läsning

Vad iOS App Tracking Transparency inte stoppar — och hur du faktiskt blockerar appspårning

Apples uppmaning "Ask App Not to Track" är en bra sak. Det är också ett mycket smalare skydd än de flesta antar.

Av Casper's Cloak Security Team

Kortversionen: ATT blockerar en specifik identifierare (IDFA — Apples reklam-ID). Appar som vill fortsätta spåra dig slutar helt enkelt använda IDFA och använder i stället någon av ett dussintal andra identifierare som ATT inte rör. Oberoende forskning har visat att många appar fortsätter spåra via fingeravtryckning även efter att användare tryckt på "Ask App Not to Track." Nedan: vad ATT faktiskt gör, vad det inte gör och vad som fyller luckan.

Vad App Tracking Transparency faktiskt blockerar

ATT, som introducerades med iOS 14.5 i april 2021, kräver att appar visar en systemprompt innan de kan komma åt enhetens IDFA (Identifier for Advertisers) — en enda global sträng som Apple tilldelar varje enhet. Om du trycker på "Ask App Not to Track" ska appen ta emot ett IDFA fyllt med nollor. Det är allt. Det är hela mekanismen.

Det smala skyddet är logiskt i Apples framing: ATT handlar om en enda Apple-kontrollerad identifierare. Vad ATT aldrig var utformat för att göra — och vad de flesta användare antar att det gör — är att stoppa appar från att spåra ditt beteende på andra sätt.

Vad appar bytte till efter ATT

När IDFA stängdes av gav inte mobilreklambranschen upp. Den bytte teknik:

  • Enhetsfingeravtryckning. Kombinera skärmupplösning, modell, OS-version, installerade språk, tidszon, brussmönster från accelerometern och ~30 andra signaler till ett fingeravtryck som är unikt nog för att återidentifiera din enhet i olika appar. Fingeravtrycket byggs från data som Apple låter appar läsa fritt.
  • Hashade användaridentifierare. Om du loggar in i en gratisapp med din e-postadress hashar SDK:n den och skickar hashen till annonsnätverket. Hashen matchar i andra appar som har din e-postadress. ATT förhindrar inte detta — du godkände det när du registrerade dig.
  • Delade SDK:er som koppling mellan appar. Facebooks SDK är inbäddad i ~30 % av mobilappar. När du använder någon av dessa appar rapporterar SDK:n tillbaka till Meta — även om du inte har ett Facebook-konto. ATT frågar värdappen, inte det inbäddade SDK:ts separata identifierare.
  • CNAME-maskering. En webbplats eller app skapar ett DNS-alias (analytics.bigsite.com → egentligen hotjar.com) så att spåraren ser ut att komma från första part. ATT har inget DNS-lager; webbläsares innehållsblockerare kan inte enkelt lösa upp alias-kedjan.
  • SKAdNetwork-attribuering. Apples eget ATT-vänliga alternativ — appar rapporterar installationsattribueringshändelser via Apples aggregerade kanaler. Mindre detaljerat än IDFA, men ändå attribuering. Inte ingenting.

Den empiriska bilden

Oberoende forskare har upprepade gånger funnit att ATT i praktiken blockerar en kanal och lämnar många andra öppna: många appar fortsätter någon form av spårning efter att användaren nekat ATT-behörighet, främst via fingeravtryckning och delade SDK-identifierare.

Det här är inte ett argument för att ATT är dåligt — det är ett användbart smalt skydd. Det är ett argument för att ATT ensamt är otillräckligt om ditt mål är "appar ska inte spåra mig."

Vad som faktiskt täpper till luckan

Alla ovanstående tekniker delar en strukturell egenskap: de kräver att SDK:n når en fjärrserver. Fingeravtrycket måste skickas någonstans. Den hashade e-postadressen måste rapportera hem. Facebooks SDK måste skicka sin data till graph.facebook.com. CNAME-maskerade spårare löser ändå upp till en verklig destination till slut.

Det innebär att ett DNS-filter på nätverksnivå som blockerar anslutningar till kända spårningsdomäner fångar alla dessa i en enda åtgärd, oavsett vilken identifierare appen var på väg att skicka. Det här är metoden som Pi-hole banade väg för när det gäller hemnätverk, och vad mobila verktyg som Casper's Cloak, NextDNS och AdGuard DNS gör för enskilda enheter.

Mekanismen, förenklad:

  1. Appens inbäddade SDK försöker skicka sitt fingeravtryck / hashade ID / beteendesignal till sin server (t.ex. graph.facebook.com, amplitude.com, mixpanel.com).
  2. Innan den anslutningen kan slutföras gör enheten en DNS-sökning för att hitta serverns IP.
  3. Systemets VPN-profil skickar DNS-frågor genom en filtrerande resolver.
  4. Resolvern känner igen att värdnamnet är en spårare och vägrar returnera en IP.
  5. Anslutningen öppnas aldrig. Data lämnar aldrig din telefon.

Avgörande är att detta fungerar för varje app på enheten — inte bara Safari. ATT befinner sig på app-SDK API-lagret. Webbläsares innehållsblockerare befinner sig på DOM-lagret. DNS-filtrering befinner sig på nätverkslagret, under dem båda, där varje app konvergerar.

Vad ATT gör bra — beröm där beröm hör hemma

ATT är genuint värdefullt för två saker:

  • Det förändrade standarden. Före ATT var IDFA alltid påslaget. Efter ATT väljer de flesta användare bort det när de uppmanas. Det är en verklig integritetsförändring på befolkningsnivå, även med kringgångar.
  • Det tvingade Meta och andra att avslöja spårningsinfrastruktur som tidigare var osynlig. Etiketterna "App Privacy" i App Store, som appar måste fylla i korrekt, kom som en direkt följd.

ATT var ett värdefullt ingripande. Det är bara inte ett fullständigt sådant — och Apple har aldrig påstått att det var det.

Praktiska rekommendationer

  • Fortsätt trycka på "Ask App Not to Track." Det marginella skyddet är värt den sekunden av friktion.
  • Kör ett DNS-filter vid sidan av ATT — Casper, NextDNS, AdGuard DNS eller en självhostad Pi-hole. Det är vad som fångar de tekniker som ATT inte täcker.
  • Granska App Privacy-etiketterna på appar innan du installerar dem. Om en apps etiketter visar "Data Linked to You — Identifiers" för icke-väsentliga ändamål, leta efter ett alternativ.
  • Inse att "gratis"-appar tjänar pengar på spårning som standard. Betalda alternativ har ofta meningsfullt annorlunda integritetsattityder eftersom de inte är beroende av det.
  • Logga inte in med Apple/Google/Facebook om en vanlig e-postadress fungerar. SSO kopplar samman identifierare som annars skulle förbli isolerade.

Slutsatsen

ATT är en användbar men smal integritetsfunktion. Den blockerar en enda Apple-kontrollerad identifierare. Appar som vill fortsätta spåra använder helt enkelt andra identifierare. Om ditt mål är det bredare "appar ska inte spåra mig" är ATT en början, inte ett slut — kombinera det med ett DNS-filter på nätverksnivå som fångar det ATT aldrig var utformat för.

Granskat av Casper's Cloak Security Team · Senast uppdaterad

Blockera det ATT missar

Casper's Cloak utför den DNS-filtrering på nätverksnivå som beskrivs ovan — för varje app på iPhone, Mac och Android.