this post was submitted on 23 Apr 2024
279 points (98.6% liked)

Privacy

31871 readers
248 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

Chat rooms

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS
 

It was at the Securedrop website. How did I end up there ? I read something about Sequoia and encryption and then wanted to see what Securedrop entailed.

Meanwhile I've raised the security settings. Still, today someone in this community (?) mentioned that Tor browser does not protect the remote to check for the OS, and now this. Color me surprised.

top 39 comments
sorted by: hot top controversial new old
[–] [email protected] 73 points 6 months ago (4 children)

That was probably me. You can check it here among other scary fingerprint stuff https://abrahamjuliot.github.io/creepjs/

[–] [email protected] 28 points 6 months ago (3 children)

Wow nice. Any opinions on how these fingerprinting evaluators compare?

CreepJS:
https://abrahamjuliot.github.io/creepjs

EFF’s Cover Your Tracks:
https://coveryourtracks.eff.org

Am I Unique?:
https://amiunique.org

Sad a pretty stock iPhone that’s blocking via some filterlists and using iCloud Private Relay (a “VPN”) is so detectable! Should be so many browsers appearing similar but there’s always this & that that mean I’m unique.

[–] [email protected] 8 points 6 months ago

They renamed panopticlick to cover your tracks? It was such a good name!

[–] [email protected] 6 points 6 months ago* (last edited 6 months ago) (1 children)

Just tried amiunique.org and got this...

"Yes! You are unique among the 2561164 fingerprints in our entire dataset."

So much for using VPN and "hardened" Mull browser 😅

[–] [email protected] 1 points 6 months ago (1 children)

Isn’t it disappointing :(

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago)

It really makes it feel like we're all just wasting time here on a futile effort trying to get digital privacy. Clearly the steps I've taken make absolutely no fucking difference, so it's not really worth the hassle TBH.

[–] [email protected] 4 points 6 months ago (1 children)

Haven't used amiunique but the EFF one I have seen people criticize because it only checks your uniqueness among people who opted in to take the test, so the results can be highly skewed.

[–] [email protected] 2 points 6 months ago (1 children)

The results aren't going to be that skewed. They operate on a simple principle. There are many features available on a modern web browser with a high degree of variability. Even not having a feature is itself a piece of a fingerprint. The combination of those many, many features is going to produce a high degree of uniqueness for almost any browser.

[–] [email protected] 2 points 6 months ago (1 children)

I wasn't trying to debate how the uniqueness is calculated, you're absolutely right on that, and other sites like creepjs do the same, but I think where the eff site is a tad misleading is in how it presents their "just how unique AM I" part of the results, because they only have their own collected data to compare that against.

Sadly I think even disabling JS entirely would take away so much "blending in" that it still wouldn't be hard to uniquely fingerprint a user without it. Even CSS (without JS) and standard HTML tags like "picture" can be used to fingerprint now.

[–] [email protected] 1 points 6 months ago

Sadly I think even disabling JS entirely would take away so much “blending in” that it still wouldn’t be hard to uniquely fingerprint a user without it. Even CSS (without JS) and standard HTML tags like “picture” can be used to fingerprint now.

Right. I guess there's also a difference between wanting to be as anonymous as possible and wanting to not be tracked too much by some sites.

In some browser profiles I do block JS completely for a few reasons.

  • Let's me read a lot of articles. Even articles with supposedly "paywalls".
  • Clutter free reading. Does it matter that the remote sites can recognize me based on a unique FP and build a profile ? I'm not too bothered. Should I ?

For other use cases I prefer Tor browser without any added extensions.

[–] [email protected] 14 points 6 months ago (2 children)

Thanks for the heads up. Yes, I tried CreepJS before and saw it found Linux as a result :/

[–] [email protected] 7 points 6 months ago (1 children)

That can't have been the reason, rather the fact it could tell.
Your browser sends information about its version and the os in the useragent string. It is supposed to lie and say it is a very commonly used useragent, specifically for purposes of fingerprinting. That would be windows, default configuration, firefox version something not you firefox version

[–] [email protected] 1 points 6 months ago (1 children)

The underlying OS will be detected regardless of the useragent.

[–] [email protected] 9 points 6 months ago (2 children)

That would be a fail of the fingerprinting protection. A properly set up TOR browser for example should not allow that detection by any means. If you know how to detect it, please report it as a critical vulnerability.

I could think of maybe some edge case behavior in webrenderer or js cavas etc., which would mainly expose info on the specific browser and underlying hardware, but that is all of course blocked of or fixed in hardened browsers.

Further, if you have a reliable method, you could sell it off to for example Netflix, who are trying to block higher resolutions for Linux browsers but are currently foiled by changing the useragent (if you have widevine set up).

[–] [email protected] 3 points 6 months ago (2 children)

That would be a fail of the fingerprinting protection

It isn't.

A properly set up TOR browser for example should not allow that detection by any means.

Yes it should, through Javascript. https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/26146#note_2649490

[–] [email protected] 1 points 6 months ago

Blocking UA access via JS alone is not enough.

[–] [email protected] 1 points 6 months ago (1 children)

Do you have a better source than a 5 y/o comment in an issue?

[–] [email protected] 4 points 6 months ago* (last edited 6 months ago)

Trust me, I spent 3 years in the Tor community I know this shit, this thing comes up so often.

Alternatively: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41610

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (2 children)

What do you mean by "properly configured"

Here is a screenshot of the default Tor Browser, installed from the repos, no config changes made. As you can see, creepjs can detect that I am using Linux.

Obviously, if you disable js, then the site doesn't work. Not sure if there are ways to detect the OS without javascript.

One common way to analyze the OS if all else fails is to look which fonts are installed. This is done by rendering thousands of divs with some text out of sight of the user. Each div with a different font. If the div width changes compared to the default, you know a font is installed. Different OS have different sets of fonts by default. Not sure if flatpak/flatseal (or other containerization methods) could protect against that. Technically you can install the exact set of Windows fonts and uninstall all Linux fonts, but I'd expect some linux app breakage and general uglyness.

An online search I did for how to completely hide the OS without breaking most websites did not result in anything except runnjng the browser in a Windows VM.

EDIT:

Per default tor has a linux useragent. And I can't seem to change it with the useragent switcher or with about config override. So yeah... even better.

[–] [email protected] 2 points 6 months ago (1 children)

Per default tor has a linux useragent. And I can’t seem to change it with the useragent switcher or with about config override. So yeah… even better.

As far as I know Tor browser defaults to a Windows useragent string since years. Just double-checked by visiting a website I maintain and checked its web-server log files :

"Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0"

My results with LibreWolf are the same : also Windows. Plain Firefox shows the correct real OS Linux as useragent string.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (3 children)

How comes my useragent is Linux then? I just installed it fresh trom the arch official repos for the first time to test. Creepjs shows the useragent further down (not in this screenshot) and I visited other test sites as well.

I'll test it tomorrow by downloading it from the website.

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

Edit. I see what you mean now. CreepJS indeed shows userAgent Linux. Weird. It got the amount of cores wrong btw.

[–] [email protected] 2 points 6 months ago (1 children)

Here some proof of my claim that Tor browser useragent string is Windows : https://wiki.archlinux.org/title/Firefox/Privacy#Change_user_agent_and_platform

Tip:

The value Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0 is used as the user agent for the Tor browser, thus being very common.

From five years ago, afaik suggesting Windows is the default : https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/26146

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (2 children)

~~Tor browser from the arch repos is not stock torbrowser. Add repos for torproject/guardian project/whatever it's called now, or use the torproject.org installer.~~

[–] [email protected] 1 points 6 months ago (1 children)

Are you saying that Arch Linux is providing Tor browser with a different useragent string ?

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago) (1 children)

I believe that is the case, if you inspected the HTTP headers and found if to show Linux instead of Windows. my last experience with that would have been years ago. Arch does like to compile things from source instead of using binary blobs, and compilers and configs can undo a lot of the work the torproject has done to combat fingerprinting, which is why it's recommended to run the pre-built binary and install no plugins. However it's important to note that it ALSO gives you a unique JavaScript fingerprint every time, when tools use as much information as possible to generate a fingerprint, because it generates new information on every reload. That's why OPSEC is important and for can't help you if you use it wrong. If you login to 2 different unlinked sites in the same session, and you don't want them to be linked, too bad now they're linked via JS fingerprinting. JavaScript is more or less a programming language within the browser, and you'll never escape JavaScript fingerprinting. Which is why it's important to learn how to use tor properly, and leave JS disabled as much as you can.

One thing you can do with your arch build is use the fingerprinting tool to see how unique you are, then get a new identity, then go back and do it again. Does it now say you're one of 2 people who have used the tool, or does it show you're (again) unique? If the latter, then it's working (at least enough) properly.

[–] [email protected] 1 points 6 months ago (1 children)

One thing you can do with your arch build is use the fingerprinting tool to see how unique you are, then get a new identity, then go back and do it again. Does it now say you’re one of 2 people who have used the tool, or does it show you’re (again) unique? If the latter, then it’s working (at least enough) properly.

Interesting. I would have expected the useragent string to be part of the user configuration files that are automatically created in the browser profile directory. I've not used Tor browser package from Arch yet but curious to do some testing.

[–] [email protected] 2 points 6 months ago (1 children)

torbrowser-launcher (found in the extra repo) simply downloads Tor Browser from torproject.org, unless you use some AUR version of Tor Browser that recompiles it, you are getting the exact same TB as you would by manually downloading it.

[–] [email protected] 2 points 6 months ago

Thanks. AUR seems to only have a Tor browser bin which does not recompile.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (1 children)

Yes it is. Since what the arch repos have is a script to download TB from torproject.org

Add repos for torproject/guardian project/whatever it’s called now, or use the torproject.org installer.

You're thinking of F-Droid (on Android), at least that is what the Guardian Project repo is for.

[–] [email protected] 2 points 6 months ago

Thanks for the correction.

[–] [email protected] 1 points 6 months ago

Becuase creepjs uses JS to figure out the userAgent, WorkerNavigator.userAgent

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago) (1 children)

Default linux works too ofc, I didn't know they took that route.
Most other browsers have very specific useragents, so the main pool of same useragents will be hardened browsers anyway.

Thank you for checking

edit:
https://github.com/TheTorProject/tor-messenger-build/blob/581ba7d2f5f9c22d9c9182a45c12bcf8c1f57e6e/projects/instantbird/0001-Set-Tor-Messenger-preferences.patch#L354 would indicate it should be Windows, Ill check later.
Try it with high security settings in tor, it might be something like canvas. Did you enable any permissions for the website?

[–] [email protected] 1 points 6 months ago

Can you share your creepjs results with tor when you have some time to check it out?

[–] [email protected] 4 points 6 months ago (1 children)

But if it says Linux when you use windows then it doesn't matter, right? The point is to make them all look the same

[–] [email protected] 9 points 6 months ago (1 children)

Tor browser useragent string pretends to be Windows on all platforms. CreepJS detects Linux in my case. A commenter mentions that Tor browser does not protect OS detection. That gives me mixed feelings about the goals of Tor browser.

[–] [email protected] 5 points 6 months ago

There are many things you can do with JavaScript, and tor can only protect against so many without completely breaking many sites. Set your slider all the way to maximum and it will no longer detect windows, but it will very likely also no longer run.

[–] [email protected] 5 points 6 months ago

This is interesting; what do I do with the information?

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

Btw, i have this error in Firefox console:

- audio failed creep.js:1:10246
- TypeError: document[U5(...)] is undefined
    Ww https://abrahamjuliot.github.io/creepjs/creep.js:14
    xi https://abrahamjuliot.github.io/creepjs/creep.js:14
creep.js:14:1271