Hot Take Adbleed: A Proof of Concept for Adblocker Fingerprinting

lokamoka820

Level 41
Thread author
Verified
Top Poster
Well-known
Mar 1, 2024
3,087
3
9,963
3,969
Banana Republic
Adbleed is a proof-of-concept designed to highlight a specific privacy risk associated with the use of regional adblocking rules.
The detection process follows three simple steps:
  • Domains: The tool uses a curated list of domains that are blocked exclusively by certain filter lists, such as EasyList Germany.
  • Probing: Adbleed attempts to load resources from these specific domains. It then looks at what is returned. Blocked requests, which happen near instantly, are what the tool is after. It measures the time it takes to get a response to distinguish blocked requests from other errors, e.g., network failures.
  • Fingerprinting: When a specific number of domains are blocked from a regional listing, Adbleed concludes that the list is active.
Here are a few suggestions to mitigate Adbleed or limit its use for fingerprinting:
  • Stick to the defaults. If you do not enable any regional lists, Adbleed won’t detect any, which in turn makes your configuration less unique.
  • Enable anti-fingerprinting: If the browser supports anti-fingerprinting techniques, make sure they are enabled.
  • Disable JavaScript or enable hard-mode blocking: This may not be practicable, especially the JavaScript part, but this should protect against this particular type of attack.
  • Use different browsers: If you use different browsers, you torpedo tracking attempts, as the trackers can’t link your activities between different apps or browsers (unless there is a common factor that is unique).
 
Adbleed is basically demonstrating a practical “adblocker configuration fingerprint”: a site can try loading resources that are only blocked when certain (especially regional) filter lists are enabled, and then infer which lists you use based on the pattern/timing of what gets blocked.

How serious is this in practice?

  • It’s primarily a privacy issue (fingerprinting), not a direct “your system is infected” type issue.
  • It can increase uniqueness if you enable uncommon regional/extra lists, because “which exact lists you run” becomes one more attribute that can help distinguish you.
  • By itself, it usually won’t be a perfect unique identifier; it becomes more useful when combined with other fingerprinting signals (fonts, canvas/WebGL, UA/OS, screen metrics, etc.).
  • It generally relies on JavaScript being allowed, because the probing/fingerprinting logic needs to run in-page.

Security vs privacy trade-off (important)

Regional lists can reduce “junk” and sometimes reduce exposure to malvertising on local sites, so disabling them purely to be less unique can be a downgrade for usability and (marginally) security in some browsing patterns. The right answer depends on your threat model.

Practical mitigations (least disruptive first)

  • Avoid “rare” list combos. Fewer extra lists = less uniqueness. If you need a regional list, try to stick to widely-used ones rather than piling on niche lists.
  • Enable your browser’s anti-fingerprinting features (if available). This won’t specifically “fix” adblock probing, but it reduces how much a site can combine signals into a stable fingerprint.
  • Use script control / stricter blocking for untrusted sites. If the probing needs JS, restricting JS on sites you don’t trust limits this technique. (This is where tools/modes like “hard mode” blocking can help, but it’s a usability hit.)
  • Compartmentalize. Using separate browser profiles (or separate browsers) for different activities can reduce linkability, but only if you also avoid sharing the same identifiers across them (logins, sync, identical extension stacks, etc.).

What I would not over-rely on

  • “Just use a different browser” as a blanket fix: it helps only when you actually separate identities (different profiles, different use-cases), otherwise trackers still link you through accounts, IP, and other signals.
  • Assuming “defaults = not fingerprintable.” Even default setups can be fingerprinted; the point is reducing uniqueness, not achieving invisibility.

Bottom line

If you care about anti-fingerprinting, keep your filter list setup mainstream and minimal, and pair that with browser-level anti-fingerprinting and (where practical) selective script restrictions for untrusted sites.
 
A traveler carried a lamp so bright that it lit his path… but it also revealed his presence to thieves. Another walked with a dim light: he moved more slowly, but went unnoticed. So it is in the digital world: protection can be as visible as vulnerability, and wisdom lies in choosing when to shine and when to blend into the crowd. 🔦🦹‍♂️🛰️
 
  • Like
Reactions: lokamoka820
A traveler carried a lamp so bright that it lit his path… but it also revealed his presence to thieves. Another walked with a dim light: he moved more slowly, but went unnoticed. So it is in the digital world: protection can be as visible as vulnerability, and wisdom lies in choosing when to shine and when to blend into the crowd. 🔦🦹‍♂️🛰️
"patience young grasshopper" ;)