CNAME Cloaking is een techniek die online trackers hebben ontwikkeld om mensen die een ad blocker of content blocker hebben geïnstalleerd toch te kunnen volgen. De BBC, Arstechnica.com, The Washington Post, Liberation en Le Monde gebruiken het al.

Het werkt zo:

CNAME Cloaking (..) is used to disguise a third-party tracker as first-party tracker. In this case, they are also purposely obfuscating this behind a random subdomain, with a CNAME to a generic and unbranded domain.

Vervolgens proberen de grote trackers die algemene domeinnaam zo te registreren dat deze niet of nauwelijks naar hen herleidbaar is.

Waarom werken ad/content blockers dan niet meer?

Nu blokkeren onze content blockers bepaalde inhoud in webpagina’s op basis van een set regels. Iedere regels bevat de domeinnaam van een tracker, en iedere verwijzing naar zo’n tracking domeinnaam (bv. facebook.com/mensen_volger.js of google.com/analytics.js) in een webpagina die jij opent wordt geblokkeerd. Daardoor worden advertenties en tracking code niet geladen. En surf jij veiliger en sneller.

Maar door CNAME Cloaking:

  1. Kunnen content blockers niet achterhalen wat er gebeurt. Content blockers hebben namelijk geen toegang tot de DNS.
  2. Wordt de tracking-domeinnaam (3rd party tracker) onzichtbaar gemaakt voor jouw browser. De tracking-code 'lijkt' ingeladen te worden vanaf een subdomein van de website die jij bezoekt, waardoor het een 1st party tracker wordt.
  3. Omdat die subdomeinnamen compleet willekeurig zijn, zullen content blockers voor iedere website die dit gaat toepassen een individuele blokregel moeten opnemen. Heel veel werk. Wat websites met tracking code kunnen ondervangen door de CNAME automatisch te veranderen.
  4. Extra complicerende factor is dat content blocking API's op iOS en Android maar maximaal 50.000 en respectievelijk 30.000 blokregels ondersteunen, wat nooit genoeg zal zijn als iedereen CNAME Cloaking gaat gebruiken.

Wat nu?

Tsja, lastig. Alleen Firefox op de desktop ondersteunt nu extensies die zelf DNS queries maken. NextDNS, de schrijver van het gelinkte artikel, biedt een oplossing. En misschien leidt het er uiteindelijk toe dat we meer mogelijkheden krijgen om javascript uit te zetten? Dat zou het ook kunnen oplossen.

(Via Michael Tsai.)