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

Fingerprinting v3: Dark Mode detection #15265

Closed
pes10k opened this issue Apr 13, 2021 · 5 comments · Fixed by brave/brave-core#8832
Closed

Fingerprinting v3: Dark Mode detection #15265

pes10k opened this issue Apr 13, 2021 · 5 comments · Fixed by brave/brave-core#8832
Assignees
Labels
feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields OS/Android Fixes related to Android browser functionality OS/Desktop privacy privacy-pod Feature work for the Privacy & Web Compatibility pod QA Pass - Android ARM QA Pass - Android Tab QA Pass-Linux QA Pass-macOS QA Pass-Win64 QA/Test-All-Platforms QA/Yes release-notes/include

Comments

@pes10k
Copy link
Contributor

pes10k commented Apr 13, 2021

New CSS features allow sites to determine if your OS or environment is configured for Dark Mode (or similar names). See CSS Media Queries Level 5

We should disable this detection for users wanting the highest level of fingerprinting protection ("strict").

default protections: no changes
max protections: always report that the user prefers "light"

@pes10k pes10k added privacy feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields OS/Android Fixes related to Android browser functionality privacy-pod Feature work for the Privacy & Web Compatibility pod OS/Desktop labels Apr 13, 2021
@ShivanKaul ShivanKaul self-assigned this May 17, 2021
@ShivanKaul ShivanKaul added this to the 1.27.x - Nightly milestone Jun 11, 2021
@stephendonner
Copy link

@ShivanKaul @pes10k when you get a chance, can you add a testcase/testplan to brave/brave-core#8832? Thanks!

@pes10k
Copy link
Contributor Author

pes10k commented Jun 15, 2021

No problem, here ya go: https://dev-pages.brave.software/fingerprinting/strict-mode.html

The values for the strict mode row should accurately report whether the system has dark mode enabled with default fingerprinting protections, and should always report "dark mode not detected" (regardless of system settings) in strict mode

@stephendonner
Copy link

stephendonner commented Jun 15, 2021

Verified PASSED using

Brave 1.27.65 Chromium: 91.0.4472.101 (Official Build) nightly (x86_64)
Revision af52a90bf87030dd1523486a1cd3ae25c5d76c9b-refs/branch-heads/4472@{#1462}
OS macOS Version 11.4 (Build 20F71)

Steps:

  1. enabled Dark mode via System Preferences -> General -> Appearance
  2. loaded https://dev-pages.brave.software/fingerprinting/strict-mode.html
  3. clicked on Generate Values
  4. clicked on This Frame, Local Frame and Remote Frame hash values
  5. confirmed detected dark mode displayed for Shields off/Allow all fingerprinting, and standard fingerprinting settings
  6. confirmed dark mode not detected displayed for strict fingerprinting setting
  7. repeated the above for https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

https://dev-pages.brave.software/fingerprinting/strict-mode.html

standard fingerprinting strict fingerprinting
Screen Shot 2021-06-15 at 10 36 49 AM Screen Shot 2021-06-15 at 10 37 17 AM

https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

standard fingerprinting strict fingerprinting
Screen Shot 2021-06-15 at 10 36 12 AM Screen Shot 2021-06-15 at 10 36 24 AM

Verification passed on

Brave | 1.27.78 Chromium: 91.0.4472.114 (Official Build) beta (64-bit)
-- | --
Revision | 4bb19460e8d88c3446b360b0df8fd991fee49c0b-refs/branch-heads/4472@{#1496}
OS | Windows 10 OS Version 2004 (Build 19041.1052)

https://dev-pages.brave.software/fingerprinting/strict-mode.html

standard fingerprinting strict fingerprinting
image image

https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

standard fingerprinting strict fingerprinting
image image

Verified passed with

Brave	1.27.89 Chromium: 91.0.4472.124 (Official Build) beta (64-bit)
Revision	7345a6d1bfcaff81162a957e9b7d52649fe2ac38-refs/branch-heads/4472_114@{#6}
OS	Linux

https://dev-pages.brave.software/fingerprinting/strict-mode.html

This Frame - Std FP Local Frame - Std FP Remote Frame - Std FP This Frame - Strict FP Local Frame - Strict FP Remote Frame - Strict FP
this frame-std local frame-std remote frame-std this frame-strict local frame-strict remote frame-strict

https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

This Frame - Std FP Local Frame - Std FP Remote Frame - Std FP This Frame - Strict FP Local Frame - Strict FP Remote Frame - Strict FP
1 2 3 4 5 6

@iam-cult
Copy link

I don't know how others feel, but personally I would not appreciate this feature. Detecting dark mode seems like an overall good thing, as a site can adjust to your preferences, and serve the right favicon for best visibility. It's one of the reasons I don't use Firefox's RFP (That and the timezone spoofing), and it doesn't seem like it's that big of a deal. Sure, it can factor in to your fingerprint. But it's a binary measurement, on or off, and from what I've seen, it's fairly 50/50. If you're faking everything else, this seems like something you can let slide, as, by itself, it provides very little fingerprintable surface.

@srirambv
Copy link
Contributor

Verification passed on OnePlus 6T with Android 10 running 1.27.75 x64 Beta build

  • Verified dark mode is detected when fingerprint is set to standard
  • Verified dark mode is not detected when fingerprint is set to strict
  • Verified setting theme to dark manually works fine
  • Verified setting device theme to dark and browser theme to use system default, sets browser to dark theme and dark theme recognition works fine as expected

https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

Fingerprint (Strict) Fingerprint (Standard)
image image

https://dev-pages.brave.software/fingerprinting/strict-mode.html

Fingerprint (Strict) Fingerprint (Standard)
image image

Verification passed on Samsung Tab A with Android 10 running 1.27.75 x64 Beta build

  • Verified dark mode is detected when fingerprint is set to standard
  • Verified dark mode is not detected when fingerprint is set to strict
  • Verified setting theme to dark manually works fine
  • Verified setting device theme to dark and browser theme to use system default, sets browser to dark theme and dark theme recognition works fine as expected

https://dev-pages.bravesoftware.com/fingerprinting/strict-mode.html

Fingerprint (Strict) Fingerprint (Standard)
image image

https://dev-pages.brave.software/fingerprinting/strict-mode.html

Fingerprint (Strict) Fingerprint (Standard)
image image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/shields/fingerprint The fingerprinting (aka: "device recognition") protection provided in Shields OS/Android Fixes related to Android browser functionality OS/Desktop privacy privacy-pod Feature work for the Privacy & Web Compatibility pod QA Pass - Android ARM QA Pass - Android Tab QA Pass-Linux QA Pass-macOS QA Pass-Win64 QA/Test-All-Platforms QA/Yes release-notes/include
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants