Re:Please stop using CDNs for external JavaScript libraries
by Phemist on Sunday October 11, 2020 @11:55AM
(#24746629)
I'm guessing many websites are identifiable by which patterns of libs and specific versions they will force you to cache. One SiteA would then be able to tell that a user visited a SiteB (which, depending on the website, may or may not be problematic)
[ Parent
| on HN ]
Re:Please stop using CDNs for external JavaScript libraries
by franga2000 on Sunday October 11, 2020 @05:30PM
(#24749266)
I'm sure some sites would be identifiable by their cached libs, but the cache is shared, so any overlapping dependencies would decrease the accuracy to unusable levels. The best you could do is know someone did not visit a site in the last ${cache_time}.
There are, of course, other vectors to consider, but I can't think of any that could be abused by third parties. If anything, isolating caches would make it easier for the CDN themselves to carry out the attack you mentioned, as they would be receiving all the requests in one batch.
Re:Please stop using CDNs for external JavaScript libraries
by flak48 on Monday October 12, 2020 @03:47AM
(#24752299)
What if my website tries to load a JS file that only foxnews.com loads (maybe with a less restrictive CORS config)?
I'd be able to tell if you visited Fox news recently, correct?
Re:Please stop using CDNs for external JavaScript libraries
by franga2000 on Monday October 12, 2020 @04:19AM
(#24752436)
It would be extremely unlikely for only one site to use a specific file from a public CDN (like cdnjs). As for site-specific files like JS bundles and other static assets, those would be served on a "private" CDN, usually under the same domain (like cdn.foxnews.com) and with restrictive CORS settings for this very reason (and also to prevent bandwidth stealing).
Re:Please stop using CDNs for external JavaScript libraries
by cedilla on Monday October 12, 2020 @08:25AM
(#24753688)
A single file? Highly unlikely.
But three specific files can already be pretty unique. I chart.js with two specific plugins in my toy project, and I'm willing to bet that no one else on the world uses the exact same set and version configuration.
Re:Please stop using CDNs for external JavaScript libraries
by franga2000 on Monday October 12, 2020 @04:22PM
(#24759038)
Exactly, but a third party can't see that set from the cache, they see the union of every website recently visited. They would see hundreds of files from many websites and if only one of those uses one of the three files yours does, it's impossible to tell for sure without a file that isn't used anywhere else on the Web.
Your site uses A+B+C, site 2 uses A+D+E, site 3 uses B+F, site 4 uses C. The cache contents is A+B+C+D+E+F+... did the user visit your site?
It's like trying to get individual pictures out of a single piece of film that was exposed multiple times - you can make some guesses and rule some possibilities out, but nothing other than that will be conclusive.
Re:Please stop using CDNs for external JavaScript libraries
by notsuoh on Sunday October 11, 2020 @06:11PM
(#24749531)
Like a discount Bloom Filter?
Re:Please stop using CDNs for external JavaScript libraries
by franga2000 on Monday October 12, 2020 @04:22AM
(#24752447)
It would behave like one, yes.
Re:Please stop using CDNs for external JavaScript libraries
by adrianN on Monday October 12, 2020 @08:23AM
(#24753670)
You only need ~30 bits of information to uniquely fingerprint someone.
Re:Please stop using CDNs for external JavaScript libraries
by angrais on Monday October 12, 2020 @07:54PM
(#24760871)
Could you explain this further?
Re:Please stop using CDNs for external JavaScript libraries
by adrianN on Tuesday October 13, 2020 @02:05AM
(#24762721)
There are about 8 billion people. 33 bits is enough to give each one a unique number. A whole bunch of them doesn't have access to the Internet, so fewer than 33 bits are enough to identify someone on the Internet.