Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect etag supercookies #2136

Open
pde opened this issue Aug 17, 2018 · 6 comments
Open

Detect etag supercookies #2136

pde opened this issue Aug 17, 2018 · 6 comments
Assignees
Labels
enhancement heuristic Badger's core learning-what-to-block functionality

Comments

@pde
Copy link
Contributor

pde commented Aug 17, 2018

Etags can be used as supercookies. Detecting them is not totally trivial, because they are a multi-purpose technology that can be used innocently, but the fact that Nginx and Apache have standard recipes for setting them means that we should in principle be able to detect and act upon their non-standard uses.

@pde pde added enhancement heuristic Badger's core learning-what-to-block functionality labels Aug 17, 2018
@pde pde changed the title Detect etage supercookies Aug 17, 2018
@pde
Copy link
Contributor Author

pde commented Aug 17, 2018

Some relevant reading:

The situation on Apache is more complicated:

Questions:

  • Does repeatedly measuring the etag of a known-to-be-static resource like /favicon.ico (ideally from multiple endpoints, but perhaps with clean minimal requests from withing PB) reasonably indicate whether a server is setting dynamic/trackable etags?
@bcyphers
Copy link
Contributor

See also #616 (comment)

@bcyphers
Copy link
Contributor

For reference, here's Privacy Possum's implementation: https://github.com/cowlicks/privacypossum/blob/4709d1da72bb142c2a08ec2ca1644e81bd0e808e/src/js/reasons/etag.js

Their approach requires storing etag data after the first observation, so we'd need a pretty big new persistent data structure.

@naman
Copy link

naman commented Mar 17, 2019

@bcyphers bump! any progress on this? If not, I would like to take a stab at it. Thanks :)

@jawz101
Copy link
Contributor

jawz101 commented Jul 2, 2020

other extensions aside from Privacy Possum that block etags that I've seen in the past: etag stoppa and ClearURLS

https://github.com/claustromaniac/etag-stoppa

https://github.com/KevinRoebert/ClearUrls

@pde
Copy link
Contributor Author

pde commented Jul 13, 2020

Those two extensions just block etags outright, which will cause a very substantial performance impact. It should be possible to come up with a much better algorithm, that allows through etags that are a last modified time and content length.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement heuristic Badger's core learning-what-to-block functionality
4 participants