Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fingerprinting Protections v2: Farbling and cross-origin #8787

Closed
10 tasks done
pes10k opened this issue Mar 20, 2020 · 9 comments
Closed
10 tasks done

Fingerprinting Protections v2: Farbling and cross-origin #8787

pes10k opened this issue Mar 20, 2020 · 9 comments
Assignees
Labels
closed/not-actionable feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields feature/shields/panel Front-end design and functionality of the Shields panel. feature/shields The overall Shields feature in Brave. privacy/feature User-facing privacy- & security-focused feature work. privacy/tracking Preventing sites from tracking users across the web privacy privacy-pod Feature work for the Privacy & Web Compatibility pod

Comments

@pes10k
Copy link
Contributor

pes10k commented Mar 20, 2020

Current Approach
Brave’s current fingerprinting protections currently key off first-party / third-party distinctions, which is a mismatch with what's really being described: protections with a high risk of breaking websites, vs protections with a low risk.

This has two problems:

  1. It requires us to under apply useful protections that have low webcompat risk (since they’re tied to the high risk ones)
  2. It prevents us from deploying high confidence, high risk protections, since that will drive users further away from the low-risk ones (since they’re currently all or nothing, w/in party context).

New Approach
Brave should replace the existing fingerprinting protections options (“off”, “third-party”, “first and third party”) with the following options:

  1. Off: Don’t apply any fingerprinting protections
  2. Default: A useful set of protections that may not fundamentally prevent fingerprinting attacks, but re practical against real world fingerprinting attacks. Carries a small but non-zero chance of breaking sites.
  3. Maximum: The strongest set of protections, that disables or otherwise modifies page functionality to prevent sites from accessing or learning the underlying data needed for fingerprinting attacks. Carries larger, non-trivial web-compat risks.

Users would then be able to select which of the three sets of defense to apply to pages through the shields dialog, just as with other shields settings. As with other shields settings, user configuration is determined by the top / eTLD+1 origin, but applied to all third parties on the page.

This is a tracking issue. The per api-work is described in the issues below:

@pes10k pes10k added feature/shields The overall Shields feature in Brave. privacy privacy/feature User-facing privacy- & security-focused feature work. privacy/tracking Preventing sites from tracking users across the web feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields feature/shields/panel Front-end design and functionality of the Shields panel. privacy-pod Feature work for the Privacy & Web Compatibility pod labels Mar 20, 2020
@pes10k pes10k changed the title Improve fingerprint protection web compat and configurability Fingerprinting Protections v2: Farbling and cross-origin Apr 14, 2020
@felschr
Copy link

felschr commented Apr 26, 2020

Can I suggest setting the new Maximum level as the default for private windows?
Perhaps similarly to the DuckDuckGo option that can quickly be toggled on the new tab page.
And I guess in Tor mode it should be on Maximum by default.

@pes10k
Copy link
Contributor Author

pes10k commented Apr 27, 2020

@felschr I think thats a great idea. I dont believe we currently have any shield settings that are specifically set for private windows, but I think we could definitely make the case for Tor private windows. In general, my (unofficial) feeling is that we should avoid privacy divisions between windows and private windows beyond private windows always starting with their own profile.

But, all this is a good idea. I'll discuss internally and see what folks think. Thanks!

@RuthlessRuler
Copy link

Also, Please make the Private + TOR Mode use Default TOR User Agent String instead of Brave's UA. Cause using custom User Agent String with TOR makes website be able to identify users more Uniquely.

@pes10k
Copy link
Contributor Author

pes10k commented May 3, 2020

@RuthlessRuler I appreciate the suggestion, but I don't think we will go in that direction. Its already easy to distinguish Brave (in Tor) and Tor Browser Bundle, since Blink and Gecko are different in many many ways. Advertising a Gecko UA in Blink will break some sites (even if only those out in the tails) without any corresponding privacy benefit.

@RuthlessRuler
Copy link

@pes10k then how about having a common String for TOR window across all platforms (Linux, Mac, Windows)?

@pes10k
Copy link
Contributor Author

pes10k commented May 6, 2020

@RuthlessRuler I don't think this would have the intended effect, as you will wind up in a smaller anonymity set again in many (most?) situations. If you name on platform (say, windows) on a device with a non-windows like set of capabilities (say, Apple hardware screen sizes, concurrency and touch points) you'll be more identifiable, not less. And if you have some new UA that doesn't mention the platform at all, then you're in the smallest possible anonymity set possible.

The best option, privacy wise here, is to just keep the Brave (and, Chrome) UA in Tor and not Tor mode, to maximize anonymity

@pes10k
Copy link
Contributor Author

pes10k commented Sep 18, 2020

Note that several of these have been moved to #11770, for the reasons mentioned in that issue:

features that are waiting on the standard to settle down, or which we're not sure about the web compat implications of, or other stuff we're still thinking through

@pes10k
Copy link
Contributor Author

pes10k commented Apr 2, 2021

Closing since all issues in this round of fingerprinting improvements have been completed and / or triaged to #11770

@arch-user-france1
Copy link

#21420

I think that the dark mode should still work with the strongest mode. At least there should be 'medium protection' or an advanced mode that lets the user set what should be obfuscated.
For example my graphics cards name is still shown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed/not-actionable feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields feature/shields/panel Front-end design and functionality of the Shields panel. feature/shields The overall Shields feature in Brave. privacy/feature User-facing privacy- & security-focused feature work. privacy/tracking Preventing sites from tracking users across the web privacy privacy-pod Feature work for the Privacy & Web Compatibility pod
Projects
None yet
Development

No branches or pull requests

5 participants