Live data from Hacker News

Crooked Style Sheeding – Webpage tracking using only CSS

github.com

11–20 of 180 posts

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#11
post #6

Reminds me of similar techniques that could be used several years ago to sniff browser history via a collection of a:visited rules.

> However using my method, its only possible to track, when a user visits a link the first time

This suggests that browser history sniffing is still possible - as long as you make the user click the link (in contrast to the old a:visited method where this could be done with no user interaction)

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#13
If you're concerned as a user of a malicious site:

* Link click tracking - So what, the site could route you through a server side proxy anyways

* Hover tracking - Can track movements of course, but doesn't really help fingerprinting. This is still annoying though and not an easy fix

* Media query - So what, user agent gives this away mostly anyways

* Font checking - Can help fingerprinting...browsers need to start restricting this list better IMO (not familiar w/ current tech, but would hope we could get it down to OS-specific at the most)

If you're concerned as a site owner that allows third party CSS:

* You should have stopped allowing this a long time ago (good on you, Reddit [0] though things like this weren't one of the stated reasons)

* You have your Content-Security-Policy header set anyways, right?

Really though, is there an extension that has a checkbox that says "no interactive CSS URLs"? I might make one, though still figuring out how I might detect/squash such a thing. EDIT: I figure just blocking url() for content and @font-face.src would be a good compromise not to break all sorts of background images for now.

0 - https://www.reddit.com/r/modnews/comments/66q4is/the_web_red...

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#14

If you're concerned as a user of a malicious site: * Link click tracking - So what, the site could route you through a server side proxy anyways * Hover tracking - Can track movements of course, but doesn't really help fingerprinting. This is still annoying though and not an easy fix * Media query - So what, user agent gives this away mostly anyways * Font checking - Can help fingerprinting...browsers need to start r…

> * Media query - So what, user agent gives this away mostly anyways

It doesn't; without media queries you can't detect thing like browser window size or screen pixel density.

> * Font checking - Can help fingerprinting...browsers need to start restricting this list better IMO (not familiar w/ current tech, but would hope we could get it down to OS-specific at the most)

There's a lot of trade-offs here. Plenty of people have fonts installed for various reasons (some because none of the system fonts cover a script they want, some because they're using fonts designed to mitigate some issues caused by dyslexia, etc.), and breaking it for those people would not be good.

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#16

If you're concerned as a user of a malicious site: * Link click tracking - So what, the site could route you through a server side proxy anyways * Hover tracking - Can track movements of course, but doesn't really help fingerprinting. This is still annoying though and not an easy fix * Media query - So what, user agent gives this away mostly anyways * Font checking - Can help fingerprinting...browsers need to start r…

In the case of reddit, the custom CSS could not reference off-reddit resources (images were uploaded), so this technique would not work.

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#17
post #8

Whose going to be first to make the 'I always browse the Web with CSS disabled' post?

Blind users can’t be seen.

Screen readers interface with normal browsers, so JS and CSS will be loaded as per usual (unless the user has gone to the trouble of turning them off).

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#18

If you're concerned as a user of a malicious site: * Link click tracking - So what, the site could route you through a server side proxy anyways * Hover tracking - Can track movements of course, but doesn't really help fingerprinting. This is still annoying though and not an easy fix * Media query - So what, user agent gives this away mostly anyways * Font checking - Can help fingerprinting...browsers need to start r…

> * Media query - So what, user agent gives this away mostly anyways It doesn't; without media queries you can't detect thing like browser window size or screen pixel density. > * Font checking - Can help fingerprinting...browsers need to start restricting this list better IMO (not familiar w/ current tech, but would hope we could get it down to OS-specific at the most) There's a lot of trade-offs here. Plenty of peo…

> It doesn't; without media queries you can't detect thing like browser window size or screen pixel density.

Sorry if I wasn't clear. I shouldn't have said media queries, I should have said "CSS property queries". What CSS properties you have doesn't leak any more than your UA I would guess.

> There's a lot of trade-offs here [...]

I'll take it as an option to have a strict subset (though would prefer it as opt-out to discourage font-list-based fingerprinting as a practice, though metric-based may never leave). With downloadable fonts, I don't really like the "script they want" excuse. For accessibility reasons, I am admittedly naive, but I would assume it would be a substitute for an existing font name. Unique font names per user seem unnecessary.

Re: Crooked Style Sheeding – Webpage tracking using only CSS

#20
post #9

Whose going to be first to make the 'I always browse the Web with CSS disabled' post?

Or, at least, disabling `url()` in CSS.

Indeed, that would be enough to stop the dynamic tracking - no need to go full no-CSS.
Post reply on HN