Fingerprints are the new cookies
694 points - yesterday at 10:33 PM
SourceComments
A news site doesn't need to do audio processing on my machine and read back the buffer? It doesn't need to use webgl to render triangles to an offscreen buffer?
Broad geographical targeting shouldn't be an issue. In fact, it's so easy that I think we should invent an ad-targeting API people can opt in to. If I could tell advertisers my geographic location, gender, age cohort, languages, and 3 interests, I'd not feel that's an invasion of privacy when they use that to deliver ads. I'd just get lawnmower ads instead of shampoo ads and that's fine.
The problem is, they don't want to use that kind of targeting. They want to target me with ads for a travel destination that my coworker mentioned in a Messenger message to another coworker five minutes ago. But we should just not accept that.
If we control the servers the clients are connecting to, I don't see how there could be much hope of hiding. We can spoof things like latency toward an upper bound, but we can never ever defeat the lower bound. Physics is still quite insistent about that one.
If we control multiple servers, we know where they are, and we can periodically compel our clients to rotate between them (see: DNS), we can engage in latency-based multilateration to put them on a real-world map. Depending on the number of servers and samples over time, this can be remarkably accurate. Determining someone's actual postal code just from network timing information is feasible.
VPNs obviously confound this in first order terms, but if we aren't careful they can make it even easier to identify our activity in other ways. We are trading concealment in the woods for concealment in a crowd. Both have their advantages and disadvantages. The VPN might also have a side channel that we aren't aware of.
https://www.usenix.org/legacy/event/nsdi07/tech/full_papers/...
>coveryourtracks.eff.org shows you how unique your fingerprint is, with entropy for each measured data point.
Something to note - if a fingerprint is generic enough, that might be a _good_ thing!
Having worked with fingerprinting, anti-fingerprint browsers are very hard to properly identify. The ways to get around it are things like collecting more coarse fingerprints[0], as the overall one is fairly easy to change (e.g. make your browser lie about a collection of browser apis).
What's imo more difficult though is a fingerprint like:
- iPhone <new_version> - running os <latest_stable> - using default safari - bought and used in <common_location> (e.g. usa)
on a 5g mast in a decently sized city, you'll share a fingerprint with at least one other active user using a setup like ^
grapheneOS on the other hand stands out a bit more!
[0] - https://blog.castle.io/fingerprints-beyond-device-ids-engine...
Is there any reason a browser or plugin couldn't just spoof the data used in fingerprinting to random values? So it emits different values for each page or resource you load?
Just because someone can theoretically demonstrate your fingerprint today doesn't mean you have the same fingerprint in a few days. It's that kind of stability that you actually need for consistent matching for advertising or tracking purposes.
90% of commercial fingerprinting services still rely mostly on the IP address. Once you remove the IP address, you're left with a set of configurations that have a very short half life - volume settings, installed fonts, software versions, etc. You can expect a good portion of your audience to degrade within a couple of days. (Whereas a cookie has a life of 2 years - practically though they only survive a few months).
What you actually pay for from third party vendors is a connection made around a more stable data point - a phone number, an email address, a user ID, etc. With one of these data points you can actually track people across multiple devices for as long as you want.
It was never about cookies. Thats what the industry made you think. You don't need to show consent banners for cookies (like auth sessions). You need consent for tracking. This includes profiling. And it doesn't matter what you use, fingerprinting or tracking cookies, the consenst banner is required either way.
Say I have a remote employee who is only able to access your internal systems via his yubikey. His fingerprint is "Genuine Antelope".
Next week, he accidentally damages his yubikey. He has another one in the drawer, but I need to authorized him. I create a new session for him on the provisioning portal (so he can enroll the new key) but now his fingerprint is "Interesting Elephant". What do I do with this information?
It might be better to log the exact forensics and show the administrator the differences, e.g, "User has a new font called "my_handwriting.ttf" since a week ago", or "appears to be a totally different processor, and the new system has Russian fonts installed".
If people have a problem with fingerprinting, they need to focus on making it illegal to trade data tied to fingerprints, not trying to make users all look the same (we aren't!).
What if "fingerprints" are contained in the values of Cookie: headers
At {{job}} we did briefly consider rolling out fingerprint.com, but settled on ja3/ja4 at the CDN layer.
It would be great if a wave of lawmaking started in the USA, because most tech behemots operate from there. I would expect EU to take the lead though IF such a wave would start. The EU has still a fair share of christian/conservative MP's that keeps doing the bidding for companies by pushing chat control, but on the other hand also has some progressive and knowledgeable representatives doing great work, so there might be a glimmer of hope. We need media campaigns and public education though. Political leaders are selected for their political abilities and as such rarely have leadership qualities. If the electorate moves, the leaders will follow it. So we have to start at the bottom.
I understand Google having Chrome send way more info. Why do all other browsers go along with this?
Make it make sense...
Why would it be a good idea to expose unsuspecting citizens to false claims by the sellers?
This royfish blog example, or anyother, including that fingerprint.com gets new value everytime.
That should give some hint about how difficult it is to do in real life, at scale.
Now we have a new (nearly impossible) problem to solve. "How do we prevent bad actors from abusing pretty much any feature of a public system which can possibly be abused, or reliably catch and punish the people who try?"
I just installed it, I want to know if everyone gets the same hash (same identity for everyone).
The whole cookie thing has always been bs
Same thing the other way: no need to have a banner for a simple login cookie which isn't being used for privacy-invading tracking purposes.
If you've ever worked at a startup, you're probably familiar with the fact that no one gives a crap about this type of stuff early on
The hell with pretty much anything, the only thing that matters is revenue
People only start to care about this after the fact if you've grown to large enough size
If you think stuff like this or right to be deleted stuff is moving the needle anywhere but at the biggest companies, you've been misled
That's the real painful truth of this stuff, most of the time it's just lip service anyway
Wth is anyone going to do anyway? Go through a resource-draining lawsuit against a 20 person company where it will take a year of discovery just to maybe-sort-of prove they've been mishandling your data?
It's going to take some pretty radical new laws for this type of stuff to ever have any meaningful impact
The article's points still stand, but the trick didn't work this one time.
Furthermore, in corporate environments where boxes are set up the same for many users, there are often, or too often, two different users and two different boxes with the same exact fingerprint.
The whole cookies discussion is a successful diversion by the ads industry. It was never about cookies.
This is backwards. The antitrust concerns of removing 3rd party cookies led to them developing alternatives.
I think Google needs to be forbidden from causing more damage to the EU market. And there need to be replacements too, once we forbid this Evil entity from sabotaging EU citizens any further.
We also need real open browsers not controlled by greedy Ad companies.
I am also aware of the irony of using thorium here right now (based on the adChrome code base). If I use Firefox, I can not listen to audio since mozilla claims only systemd-pulseaudio using people can listen to audio. Well, chrome plays audio on youtube (which is also owned by Google, do people begin to see how big of a problem Google has become) just fine, so I have no idea what Mozilla devs are smoking. I could recompile firefox, to just use ALSA, but who in his right mind wants to compile a 1% usage base legacy browser that uses ancient technology to compile its outdated code base please?
See: https://www.linuxfromscratch.org/blfs/view/svn/xsoft/firefox...
Mozilla gave up decades ago on fighting adGoogle. And it can be seen via small things too.
Ladybird may be a competitor at one point in time but they ban people from their github repository, which also sends the message "do not contribute to us because we don't care about you if you have dissenting opinions". Well, so much for real competition, when projects get all emo early on. You can't beat the evil adGoogle empire with wishful projections about "conduct of people". That's not going to work. I don't subscribe to any random ruleset made by random people I don't know and don't want to know when they resort to censorship. But hopefully more and more people realise that something has to be done about Google one way or another.
> I look at all this data and I don’t see people. I see patterns. Patterns emerging out of patterns. A living, digital fractal state of the economy, society and human psyche. The crystal ball of the 21st century and it’s made of silicon! That’s the product.
> And to the highest bidder it goes!
> What does that make you then? A gear? An ox? A volunteer?
This does absolutely nothing for me. If this resonates with you, can you explain?
I can understand worry about a tyrannical government, and if you have something like a gambling addiction I can understand about ads. But the meta-level privacy fear about deidentified patterns - I just plain don't get it.
On Safari, fingerprinting doesn't survive in incognito mode. Same with Firefox.
Good thing I use different computers for different purposes, though it looks like using different browsers seems sufficient.
Some of these guys sound like they erase their fingerprints off the plates when they visit a restaurant, and ask people to forget about them when done talking.
Like it or not, as web gets more complex, it will recognize you more. If you don't want that, just don't use the web - perhaps buy a farm and life off-grid.
I just don't get what's the appeal to this endless damn cat and mouse game.
You took a guess. You guessed wrong
I have not "disabled Javascript". The software (pl.) I'm using to request and read web pages has no Javascript interpreter
I can also insert a CSP response header such as "default-src: 'none'" and get the same result ("...") even when using software that runs Javascript with Javascript enabled
This "data" does not seem very useful for advertising except perhaps something like "don's waste time trying to target this user as they will not see or hear the ads"^1
What are these "network-based" methods exactly
I never see any ads when using the www. I attribute this mostly to not using popular software controlled by companies or individuals that advocate for internet advertising. This software could be something as complex as an operating system or a "browser" or something as simple as a Javascript sourced/planted in a web page
Whatever these "network-based methods" are, they don't seem to be very effective at targeting me with ads
I generallly stay in textmode. Most internet ads seem to be graphical and/or audiovisual in nature
Hypothetically, if a "developer" tried to target me with text-based ads, I could easily filter them out
I already filter the text in response bodies using a local forward proxy
For example, the "score" on HN comments I submit never goes below 1 in the HTML I'm reading. In theory this helps avoid self-censorship
Here is an excerpt from rewrite.lua
if host=="news.ycombinator.com" then
body = string.gsub(body, "%(<span id=\"karma\">%d+</span>%)","")
body = string.gsub(body, "-%d points","1 point")
body = string.gsub(body, ">0 points",">1 point")
body = string.gsub(body, "width=\"%d+\"></td>","width=\"0\"></td>")
end
1. Of course companies like Cloudflare are using the www user's choice to run/not run Javascript as a way to collect fingerprints and filter out users who are not using advertising-friendly software