I’ve just been playing around with https://browserleaks.com/fonts . It seems no web browser provides adequate protection for this method of fingerprinting – in both brave and librewolf the tool detects rather unique fonts that I have installed on my system, such as “IBM Plex” and “UD Digi Kyokasho” – almost certainly a unique fingerprint. Tor browser does slightly better as it does not divulge these “weird” fonts. However, it still reveals that the google Noto fonts are installed, which is by far not universal – on a different machine, where no Noto fonts are installed, the tool does not report them.
For extra context: I’ve tested under Linux with native tor browser and flatpak’d Brave and Librewolf.
What can we do to protect ourselves from this method of fingerprinting? And why are all of these privacy-focused browsers vulnerable to it? Is work being done to mitigate this?
Disable javascript, trying to get around fingerprinting with javascript enabled is an exercise in futility, and is especially risky with something as heavily monitored as tor.
Tor has noscript automatically enabled no?
It should, but I guess this user disabled it. I visited the same site with javascript disabled and it can’t fingerprint it (not in tor browser, I don’t trust it (css has nasty fingerprinting capabilities, huge mozilla codebase), I use w3m with torsocks and my useragent set to tor browsers, also tested qutebrowser with js disabled).
It does, but you have to manually configure it to turn off javascript entirely.
This is like those people who say that the only form of safe sex is abstinence. Technically true, practically useless.
I’m slowly starting to agree with @ssm that safeguarding against fingerprinting is an exercise in futility though…QubesOS sounds like something that might help though, since it makes it easy to browse from a virtual machine with fonts and other settings that may be leaked set to the most bog-standard defaults.
On a related note, disabling javascript can actually improve your user experience quite a lot for certain types of tasks. A lot of news/blogs/article-style websites nowadays are actually more usable without javascript, because you don’t have to waste time closing all of the ads and cookie popups. I have a separate browser profile with js disabled and use it quite a lot.
No script lets you individually allow js on certain sites, even specific sources. Block all by default, allow safe sites or temporarily allow other sites based on need. I started doing that this year and it hasn’t been nearly as much trouble as I thought it would be.