Updated 3.3 Overrides [To RFP or Not] (markdown)

Thorin-Oakenpants 2022-01-30 10:46:27 +00:00
parent aea5299b45
commit 8535e7087a

@ -1,10 +1,10 @@
🟩 Previous: [Overrides [Common]](https://github.com/arkenfox/user.js/wiki/3.2-Overrides-[Common])
🟥 Summary: **The best any browser can confidently do, excluding Tor Browser, is fool naive scripts. In Firefox the best tool for that is RFP - it is performant, does not leak real values, and has timing mitigations against side channel attacks**. If you can handle a few RFP side-effects, cool - if not, then consider using Canvas Blocker if your threat model fits
🟥 Summary: **The best any browser can confidently do, excluding Tor Browser, is fool naive scripts. In Firefox the best tool for that is RFP - it is performant, does not leak real values, and has timing mitigations against side channel attacks**. If you can handle a few RFP side-effects, cool - if not, then consider using Canvas Blocker if your threat model fits.
---
This is a very simple generalized short summary about non Tor Browser browsers that assumes worst case scenarios, ultimate outcomes, and real solutions - I am not interested in debating issues with non-experts
This is a very simple generalized short summary about non Tor Browser browsers that assumes worst case scenarios, ultimate outcomes, and real solutions - I am not interested in debating issues with non-experts.
> “One of the major difficulties Thorin experienced in her relationship with the Peacock was learning to distinguish between him pretending to be stupid just to get people off their guard, pretending to be stupid because he couldn't be bothered to think and wanted someone else to do it for him, pretending to be outrageously stupid to hide the fact that he actually didnt understand what was going on, and really being genuinely stupid." - _Douglas Adams_
@ -12,15 +12,15 @@ This is a very simple generalized short summary about non Tor Browser browsers t
🟪 TOR BROWSER
If your threat model calls for anonymity and advanced fingerprinting protection, then **[USE TOR BROWSER](https://www.torproject.org/)**
If your threat model calls for anonymity and advanced fingerprinting protection, then **[USE TOR BROWSER](https://www.torproject.org/)**.
---
🟪 FINGERPRINTING
If you do nothing on desktop, you are already uniquely identifiable - screen, window and font metrics alone are probably enough - add timezone name, preferred languages, and several dozen other metrics and it is game over. [Here](https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/cross-browser-fingerprinting-os-and-hardware-level-features/) is a link to the results of a study done in 2016 showing a **_99.24%_** unique hit rate (and that is excluding IP addresses)
If you do nothing on desktop, you are already uniquely identifiable - screen, window and font metrics alone are probably enough - add timezone name, preferred languages, and several dozen other metrics and it is game over. [Here](https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/cross-browser-fingerprinting-os-and-hardware-level-features/) is a link to the results of a study done in 2016 showing a **_99.24%_** unique hit rate (and that is excluding IP addresses).
**_Changing a few prefs from default is not going to make you "more unique" - there is no such thing_** <sup>1</sup>
**_Changing a few prefs from default is not going to make you "more unique" - there is no such thing_** <sup>1</sup>.
Here are some fingerprint protection basics
- 🔹RULE 1
@ -40,17 +40,17 @@ Here are some fingerprint protection basics
Only Tor Browser can confidently address advanced scripts: enough metrics covered and a large crowd. The best any other browser can _confidently_ do is fool naive scripts - if you're not convinced, add the loose data points from your IP/VPN.
<sup>1</sup> Not to be confused with simple information paradoxes: such as claiming to be blink rather than gecko
<sup>1</sup> Not to be confused with simple information paradoxes: such as claiming to be blink rather than gecko.
---
🟪 ARKENFOX
**_Arkenfox does not and never has, claimed to defeat advanced fingerprinting_** and does not care if a couple of prefs change stable metrics, because **_you are already unique_** - see the preceding section
**_Arkenfox does not and never has, claimed to defeat advanced fingerprinting_** and does not care if a couple of prefs change stable metrics, because **_you are already unique_** - see the preceding section.
Arkenfox's primary objectives have always been security, privacy and mitigating the very real and substantial forms of tracking such as state and navigational, rather than prioritizing the potential threat of a widespread advanced fingerprinting script
Arkenfox's primary objectives have always been security, privacy and mitigating the very real and substantial forms of tracking such as state and navigational, rather than prioritizing the potential threat of a widespread advanced fingerprinting script.
**_That said, arkenfox does resist stateless tracking_**
**_That said, arkenfox does resist stateless tracking_**:
- 🔹 It enables ETP's [Fingerprinters](https://blog.mozilla.org/security/2020/01/07/firefox-72-fingerprinting/) (and recommends uBlock Origin)
- 🔹 It enables RFP
@ -58,15 +58,15 @@ Arkenfox's primary objectives have always been security, privacy and mitigating
- RFP randomizes canvas to catch naive scripts (most scripts are naive with canvas)
- RFP contains timing mitigations as a bonus against many side channel attacks
So if a fingerprinting script should run, it would need to be universal or widespread (i.e it use the exact same canvas, audio and webgl tests among others - most aren't), shared by a data broker (most aren't), not be naive (most are) and not be just first party or used solely for bot detection and fraud prevention (most probably are) <sup>1</sup>
So if a fingerprinting script should run, it would need to be universal or widespread (i.e it use the exact same canvas, audio and webgl tests among others - most aren't), shared by a data broker (most aren't), not be naive (most are) and not be just first party or used solely for bot detection and fraud prevention (most probably are) <sup>1</sup>.
<sup>1</sup> That's not to say that fingerprinting is not a threat and won't become more widespread and sophisticated
<sup>1</sup> That's not to say that fingerprinting is not a threat and won't become more widespread and sophisticated.
---
🟪 RFP
Due to it's nature, which is effectively breaking web standards whilst protecting 100+ metrics, RFP does cause the odd issue
Due to it's nature, which is effectively breaking web standards whilst protecting 100+ metrics, RFP does cause the odd issue.
- 🔹BREAKAGE
- canvas: you can set a site exception either temporarily or permanently <sup>1</sup> 🥇 `99% of breakage`
@ -77,9 +77,9 @@ Due to it's nature, which is effectively breaking web standards whilst protectin
- timezone is always UTC0
- prefers-color-scheme is always light
If you can live with that, and you should have a secondary browser for the occasional site glitch, then use RFP as the best solution possible. Otherwise, if you think the threat fits your wheelhouse, use Canvas Blocker with canvas and audio randomizing (the rest is not really needed and will add perf costs). Note that extensions lack APIs to fully protect metrics, but naive scripts are likely not that sophisticated
If you can live with that, and you should have a secondary browser for the occasional site glitch, then use RFP as the best solution possible. Otherwise, if you think the threat fits your wheelhouse, use Canvas Blocker with canvas and audio randomizing (the rest is not really needed and will add perf costs). Note that extensions lack APIs to fully protect metrics, but naive scripts are likely not that sophisticated.
<sup>1</sup> Assuming it is even fingerprinting and widespread, this does not compromise your fingerprint - it is a single metric and only on those sites you exempt
<sup>1</sup> Assuming it is even fingerprinting and widespread, this does not compromise your fingerprint - it is a single metric and only on those sites you exempt.
---