Randomize non-webcompat FP values to prevent fingerprinting #5614
Labels
feature/shields/fingerprint
The fingerprinting (aka: "device recognition") protection provided in Shields
feature/shields
The overall Shields feature in Brave.
privacy/tracking
Preventing sites from tracking users across the web
privacy
privacy-pod
Feature work for the Privacy & Web Compatibility pod
QA/No
release-notes/include
Milestone
Currently our main approach for protecting against fingerprinting is to try and make web api endpoint values as predictable as possible, to try and keep users in as large an anonymity set as possible.
This is probably the right "fundamental" approach, but its got problems:
2)There are lots of places where creating predictable / constant results of FP surface will break sites
We should take the opposite approach, at least for the medium term: Identify values used in creating fingerprints that can be modified (w/in some range) and intentionally vary those. Instead of shooting for putting all users in as-large-as-possible-an-anonymity set, this would instead aim to put all users in a constantly changing anonymity set of 1.
The approach has the downsides of being circumventable by attackers (just remove those values from their FP generation techniques) but, even then we get the win of removing FP surface.
Possible areas:
Existing work in the area:
Nikiforakis, Nick, Wouter Joosen, and Benjamin Livshits. "Privaricator: Deceiving fingerprinters with little white lies." (WWW 2015)
Laperdrix, Pierre, Benoit Baudry, and Vikas Mishra. "FPRandom: Randomizing core browser objects to break advanced device fingerprinting techniques." International Symposium on Engineering Secure Software and Systems.
Related: #2471
The text was updated successfully, but these errors were encountered: