8 ms·
I wrote about something like this previously[1] Ads often have something like this attached to the end: load("https://adserver/track.gif?{stuff}&_=" + Mat
by geocar 9y ago
I wrote about something like this previously[1]
Ads often have something like this attached to the end:
load("https://adserver/track.gif?{stuff}&_=" + Math.random())
My ad server collected multiple tracking pixels -- for various events and after five pixels I could fingerprint the browser (Firefox, Chrome, MSIE, etc) and identify someone fiddling with the user agent string, or using a proxy server to mask this information.
[1]: http://geocar.sdf1.org/browser-verification.html http://geocar.sdf1.org/browser-verification.html
- na85 9y agoHow would a person defend against this fingerprinting?
- josteink 9y agoDisable javascript and use the web as a hypertext document-store.
- osteele 9y agoUse distinct browsers (or profiles) for browsing web-of-documents, and using apps hosted on the web-as-application-distribution-platform. They're each (for many of us) legitimate uses, but have different requirements and threat models. Cons: interactive infographics and courseware don't fit neatly in either.
- megous 9y agoUse curl. Disable javascript. Replace Math.random with your own function via extension, etc.
- thanatropism 9y agoLawyer up, delete Facebook, hit the gym?
- geocar 9y agoBuy an iPhone. • Did proper random before anybody else • Active countermeasures against cookie-based retargeting • Popular enough market that merely having an iPhone in a geographic area doesn't single you out There's a guy who downloads every page with curl. I see him on web logs. I think he must have some script that parses the amp pages out and does something with it, but because he's the only person in that geographic region who browses the web with curl, he's very easy to spot from a tracking perspective. On the other hand, because he's using curl, I don't think anyone wants to bother trying to show him an ad.
- ccozan 9y agoThat would be Stallman.
- robterrell 9y agoI love the idea of someone individually targeting Stallman with ads.
- rkeene2 9y agoStallman would probably use GNU wget which is licensed under the terms of the GPL, while curl is licensed under a license derived from MIT/X consortium.
- jameskegel 9y agoHe would probably have someone print it for him, similar to his email queue. I email him from time to time and his disclaimer says this.
- M_Bakhtiari 9y agoI've never heard him say anything bad about running MIT licensed software. On the other hand, I think I've read a FAQ where he says he views web pages by having a script fetch the pages with wget and them emailing them to him, but I'm pretty sure that's simply because wget is free and does the job (being able to recursively download the necessary resources), not because it's GPL licensed.
- bpicolo 9y agoLooks like it's no longer possible on recent browsers
- Ajedi32 9y agoGenerally speaking, you _can't_ prevent a page from being able to tell what browser you're using. Even with JavaScript completely disabled, there's probably still some quirks with the way different browsers handle CSS or image loading that would give away that information. Even curl can be "fingerprinted" this way, because curl is one of the only "browsers" that doesn't process CSS or images at all. If you just want to prevent yourself from being identified as an individual, that's a different problem. Tor browser does a pretty good job of solving that.
- dsign 9y agoIt's an arms race... there is so much to fingerprint ... usually people that deploy fingerprinting have more of an issue deciding which tasty morsel of bits to go for first ...
- kbenson 9y agoWell, depending on whether a script tag gets its own context, and each context gets the same seed (in which case you're boned?), you could use an extension of some sort that runs a random number (through your own pseudo random function with time and/or page location as seed inputs) of Math.random() calls to mix up the results. Or just use an extension that replaces Math.random() with something more random, but it's possible that could cause weird performance problems on certain pages and it would be hard to debug.
- ballenf 9y agoJust to throw out a different approach: buy the most popular computer and use the most popular browser. Don't change the user agent or make any other advanced user changes. Going to extreme measures to be untraceable is like wearing a Ghillie suit to the airport.
- nordsieck 9y agoIMO, one of the most difficult fingerprinting attacks to defend against is the installed fonts list. I wish incognito mode only made a standardized list of fonts available.
- cosmie 9y agoI wonder if the fontSettings section of the Chrome extensions API[1] can be used to defend against that. By randomly and deliberately poisoning that info for when in Incognito mode (or even regular browsing). [1] https://developer.chrome.com/extensions/fontSettings https://developer.chrome.com/extensions/fontSettings
- cpeterso 9y agoFirefox is experimenting with a font whitelist as part of upstreaming of Tor features into Firefox trunk. These features are controlled by the privacy.resistFingerprinting pref. resistFingerprinting has some webcompat issues, but Mozilla is considering a subset of the protections for Privacy Browsing mode, similar to Tracking Protection. Here is the work-in-progress bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1336208 https://bugzilla.mozilla.org/show_bug.cgi?id=1336208
- blattimwind 9y agoWhy does that feature even exist?
- fbdjskajxb 9y agoSo dessigners can make adjustments depending on what fonts are available.
- jack9 9y agoAs an aside, the reason for that random string on the end is to bypass caching mechanisms. A more or less random generator is good enough.