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

Randomization of fingerprintable APIs #947

Open
Zer0-One opened this issue May 6, 2024 · 5 comments
Open

Randomization of fingerprintable APIs #947

Zer0-One opened this issue May 6, 2024 · 5 comments
Labels
c-enhancement New feature or request

Comments

@Zer0-One
Copy link
Collaborator

Zer0-One commented May 6, 2024

Implement fingerprint randomization and protection.

https://brave.com/privacy-updates/3-fingerprint-randomization/
https://dl.acm.org/doi/abs/10.1145/2736277.2741090
https://inria.hal.science/hal-01527580/document

https://coveryourtracks.eff.org

@Zer0-One Zer0-One added the c-enhancement New feature or request label May 6, 2024
@robinlinden
Copy link
Owner

Note that this requires implementing being fingerprinted first. :P (Looks like those links are focused on JS and APIs provided in JS that we haven't even started looking at.)

@robinlinden
Copy link
Owner

@Zer0-One can you maybe rewrite this issue to be more along the lines of what APIs are vulnerable to fingerprinting and to bear this in mind when implementing them? This issue makes it sound like JS fingerprinting is an issue in the engine when it's really a hypothetical future problem.

@Zer0-One
Copy link
Collaborator Author

Zer0-One commented May 6, 2024

It's a future problem. I'm just documenting it so we make it a priority later. It's not hypothetical, it's guaranteed to be an issue if we don't keep fingerprinting in mind while implementing stuff.

Here's a list of interfaces we should consider for such a feature:

  • User agent
  • HTTP_ACCEPT headers
  • Browser plugin details
  • Timezone offset
  • Timezone
  • Screen size and color depth
  • System fonts
  • Cookies
  • "Supercookies"
  • Canvas and WebGL fingerprints
  • Do-Not-Track headers
  • Language
  • Platform
  • Touch support
  • AudioContext fingerprints
  • Misc hardware specs (CPU type, number of CPUs, memory size, etc)

@robinlinden
Copy link
Owner

I am not saying we shouldn't bear fingerprinting in mind when implementing things. I'm saying it's a hypothetical future problem because it's not a real problem that exists in the browser right now. The only information that leaves the browser are the headers we send when making HTTP-requests, and those are the same for every Hastur instance right now.

The only almost-there additional bit of information we have right now is that the light/dark theme media-query thing could be used to find out if the user has set their OS to a light or dark theme, but I think most privacy-focused browser setups require the user to opt into that following the system, so that's what I figured we'd do in a more privacy-focused setup.

@robinlinden robinlinden changed the title Fingerprint protection Bear fingerprinting in mind when implementing leaky interfaces May 6, 2024
@robinlinden robinlinden changed the title Bear fingerprinting in mind when implementing leaky interfaces Randomization of fingerprintable APIs May 6, 2024
@robinlinden
Copy link
Owner

robinlinden commented May 6, 2024

@Zer0-One per discussion on IRC, is that title more along the lines of what you were going for? Sorry for the misunderstanding. 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants