-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Fingerprint blocking can be detected #10481
Comments
cc: @brave/sec-team |
cc @pes10k |
Hi @abrahamjuliot thank you for taking the time to file the issue! However, im not sure I understand the concern here. Its not a secret that Brave randomizes fingerprints (we mention it on our wiki and our blog for example). We also expect that, for some features, scripts can perform statistical attacks to recover the underlying values (in default mode, not strict mode), but would need to do things that look very different from benign API use. The "Farbling Level: Default" section of the blog post gives exactly what the goals of the randomization are (in order):
What we would be worried about though are any of the following:
So, I think this is not a bug, but please correct me if I've misunderstood @abrahamjuliot. And, in either event, thank you for taking the time to file the bug! |
Marking this |
Hi @pes10k thank you for this detailed reply. I will also take a close look at the episode 4 blog post.
I think this is not a bug, but rather a weak point in blocking fingerprinting that can be improved. The concern is not that trackers can distrust certain APIs in Brave, but that they (more sophisticated scripts) can decide whether or not to distrust the APIs. It would be great if such attacks were left in the dark on this matter and left to conclude all brave users are blocking fingerprinting, and this would benefit all brave users regardless of the block fingerprinting setting. At the moment, trackers have these 2 options:
It would be great if trackers were left with these 2 options instead:
|
Thanks @abrahamjuliot , i better understand your suggestion now, thank you for taking the time to explain. I think that, though, us trying to protect people who turn a privacy feature off is probably outside what we can reasonably take on. Making the 2d and 3d drawing operations randomized in the same way (which use very different code under the hood, since WebGL stuff can be shunted to graphics hardware, while 2d usually is not) would be a very large additional amount of work to maintain (especially since we have to keep repatching Blink, which makes keeping up to date with Chromium complicated enough already). And while that would be neat to do in the abstract, i think it just, unfortunately, falls on the wrong side of the cost-benefit trade off, given the large number of other critical privacy issues we need to tackle in the web platform. But, all that being said, im grateful for the suggestion, and to have suggestions like yours for ways to keep improving the privacy protections we can provide. Thank you again for taking the time to make the suggestion, and I hope you'll share other ideas you might have with us too! |
Brave version (brave://version info)
Tested in stable (83) and nightly
Description
Fingerprint blocking can be detected. 822 is related.
Problem
Lie detection makes way for trackers to decide whether or not to trust the fingerprint data.
Steps to Reproduce
Expected result:
-- possible solution: apply the randomization to the canvas context and not the dataURI
-- possible solution: set vendor null for everyone in fingerprint allow and then apply subtle randomization to the renderer in standard and strict
-- randomization ideas: [a] include non digits, spaces, non a-zA-Z letters, and random length), [b] inject a random renderer consistent with the platform
Test Script
The text was updated successfully, but these errors were encountered: