Live data from Hacker News

Browser Fingerprinting Without JavaScript

fingerprintjs.com

21–30 of 124 posts

Re: Browser Fingerprinting Without JavaScript

#21
Being a fervent Tor Browser user, i just tried with it and of course the fingerprinting failed. Several copies of it give me the same fingerprints: e56952dba176a47af3c051b626b64ff3 (Safer mode) 632e305f8a939e5ba6afd24eced586f0 (Safest mode)

That's because the Tor Browser, contrary to urban legend, is not just a browser that routes trafic through the tor network, but a firefox reworked (most of which is being upstreamed) explicitly to combat fingerprinting (some kind of digital black block if you will).

Overall that's an amazing compilation of modern web fingerprinting vectors. I'm just a little disappointed they left screen size (and maybe other obvious avenues) out of the demo. That would be a really cool way to demonstrate how Tor Browser's window cutting (or whatever that's called) works [0].

I read somewhere (but i can't vet the claims) there's enough variance on TCP implementations across systems to be able to distinguish, and i'm curious how the Tor Browser deals (or doesn't) with that. Could be an idea for v2 demo.

Thanks for the cool demo! I definitely enjoyed the script-like UX of the page. I wish more sites did stuff like that instead of defaulting to JS for every little animation or dynamic content.

[0] Tor Browser enforces actual width and height of the web rendering part of the window to be multiples of certain numbers, so that websites can provide experience for smaller/larger screens while retaining limited fingerprinting (eg. your fingerprint will not be affected by a user-configured or desktop-dependent window border, scroll bar width, or anything such)

Re: Browser Fingerprinting Without JavaScript

#22

It said it should be the same in incognito mode as well. I tried it on both firefox and chromium. It was different in the incognito mode

But don’t you have some extensions that are not enabled for incognito mode? Perhaps they assume it works as long as the same extensions are installed in both modes?

Re: Browser Fingerprinting Without JavaScript

#23
post #3

> your fingerprint stays the same even if your browser is in incognito mode. OK, I tried the demo with Firefox Focus, and it worked. But it doesn't tell you how unique your fingerprint is. If multiple users have the same fingerprint, then its effectiveness will be limited.

I don't think this is intended to provide an actual fingerprinting solution like EFF's Cover Your Tracks, but rather a demo of non-obvious noscript-proof data points.

If these techniques were combined with more well-known such as screen size or DPI, uniqueness would be more relevant.

Re: Browser Fingerprinting Without JavaScript

#24
post #3

> your fingerprint stays the same even if your browser is in incognito mode. OK, I tried the demo with Firefox Focus, and it worked. But it doesn't tell you how unique your fingerprint is. If multiple users have the same fingerprint, then its effectiveness will be limited.

Yeah. As I understand it, since all Apple mobile browsers use the WebKit engine, there’s nothing this demo can use to separate them.

This demo doesn’t mention cookies. screen size, cache, etc, which could be used to further differentiate.

This article is less of a tech demo and more of an introductory article to how some fingerprinting works.

Re: Browser Fingerprinting Without JavaScript

#25
post #11

Browsers should limit every webpage to displaying a maximum of two fonts, and should silently ignore any font face rules after the first two. Maybe three if you're feeling generous. With variable fonts available in every browser it wouldn't impact typography much. It would stop this sort of privacy attack, and it'd have the additional benefit of making the web look a lot nicer.

This feels like it's targeted at a very narrow view of what a browser is for. How would a site like fonts.google.com work?

Easy. The limit should be for 2 fonts, unless you load them your self

Re: Browser Fingerprinting Without JavaScript

#26
post #22

It said it should be the same in incognito mode as well. I tried it on both firefox and chromium. It was different in the incognito mode

But don’t you have some extensions that are not enabled for incognito mode? Perhaps they assume it works as long as the same extensions are installed in both modes?

Not for firefox, both are same. In chromium yeah there is one less extension in incognito.

but I even tried refreshing the page on both firefox and chromium, it was different each time.

Re: Browser Fingerprinting Without JavaScript

#27
post #2

ETAG fingerprinting is perhaps the most reliable non JS approach.

Can you elaborate on this?

Sure. Etag stands for "Entity Tag", and it's a header value that comes from the web server and related to caching. A normal implementation would use something like a CRC or MD5 hash of the requested page/image/etc to calculate a tag, and send it to the web browser. The browser stores it for later.

The browser, if it's asked to retrieve that thing (image, page, etc) later, sends the "etag" back in the request via a If-None-Match header. The server then knows whether the image/page/etc has changed since the client last requested it. And, it can send back either the new version of the image/page/etc, or a "304 Not Modified" if the page hasn't changed...that is, the computed etag hash value is the same.

Here's the problem. There's no spec for how an etag is computed or how it's used. So on the server side, I can use it like a marker tag. Say, I generate a known unique tag for every new visitor that doesn't send me If-None-Match, like a GUID. And I keep a table of those Etag values. You're now fingerprinted...your browser will send that value back every time you visit, no JavaScript required.

Re: Browser Fingerprinting Without JavaScript

#28
post #3

> your fingerprint stays the same even if your browser is in incognito mode. OK, I tried the demo with Firefox Focus, and it worked. But it doesn't tell you how unique your fingerprint is. If multiple users have the same fingerprint, then its effectiveness will be limited.

[deleted]

Re: Browser Fingerprinting Without JavaScript

#29

Being a fervent Tor Browser user, i just tried with it and of course the fingerprinting failed. Several copies of it give me the same fingerprints: e56952dba176a47af3c051b626b64ff3 (Safer mode) 632e305f8a939e5ba6afd24eced586f0 (Safest mode) That's because the Tor Browser, contrary to urban legend, is not just a browser that routes trafic through the tor network, but a firefox reworked (most of which is being upstream…

The "Safest" mode gives me different fingerprints each time.

The "Standard" and "Safer" modes give the same fingerprint tho.

Re: Browser Fingerprinting Without JavaScript

#30
post #11

Browsers should limit every webpage to displaying a maximum of two fonts, and should silently ignore any font face rules after the first two. Maybe three if you're feeling generous. With variable fonts available in every browser it wouldn't impact typography much. It would stop this sort of privacy attack, and it'd have the additional benefit of making the web look a lot nicer.

Who is behind the web browsers that most people use. Companies whose businesses rely on subjugating user privacy have few if any incentives to make these types of changes. These complex browsers do not exist for their users, they exists for the advertising company or other company that collects user data.
Post reply on HN