#107 Fingerprint Protection causes performance warnings, hangs, incorrect WebGL test values when running the WebGL Conformance test suite
Closed: Duplicate a year ago by polcak. Opened a year ago by wolfgang8741.

Summary

Running the WebGL conformance test suite results in the following warning message and periodic unresponsiveness: "JShelter" is slowing down Firefox 111.0.1. To speed up your browser, stop that extension warnings. Also hangs also present in Chromium 112.0.5615.49 (Official Build) (64-bit).

Run https://registry.khronos.org/webgl/sdk/tests/webgl-conformance-tests.html without JShelter results in passing most of the WebGL conformance tests in Firefox. Enabling JShelter the basic test calculations to verify WebGL implementation is functioning and performant.

The type of errors and frequency of invalid responses as well as degraded user performance of is pretty telling that that JShelter or similar extension to avoid fingerprinting is in use. Valid responses would obscure users of the extension better than invalid responses. The increased performance of tests is noticeably greater and seems to break the page when it hits the context-lost.html test of all/conformance/context.

Returning valid calculations is important as invalid calculations which can affect page rendering and performance.

Setup

Pages affected: https://registry.khronos.org/webgl/sdk/tests/webgl-conformance-tests.html
JShelter Version: 0.11.4
WebGL heavy pages show flickering such as https://eyewire.org/explore

Popup information (open JShelter popup on affected pages:

  1. Navigate to a page that you are having trouble with: https://registry.khronos.org/webgl/sdk/tests/webgl-conformance-tests.html (version 2.0.1 tested)
  2. Click on the JShelter badge icon.
  3. Is JavaScript Shield active? ON
  4. Is Network Boundary Shield active? ON
  5. Is Fingerprint Detector active? ON
  6. What fingerprint likelihood does Fingerprint Detector report? None
  7. Did Fingerprint Detector produce any notifications, if so, what was the notification? No
  8. Click on the Modify button next to the JavaScript Shield label.
  9. What is the highlighted level button text? Default level (Recommended)
  10. Click on the Detail tweaks of JS shield for this site button.
  11. What wrappers were triggered by the page, list them below:
    (on load of page)
    Time precision 1000 or more
    Graphics Card Information 12
    Installed Browser Plugins 1
    Connected Cameras and Microphones 1
    Device Memory and CPU 1

Once the "run tests" button is pressed the values increase for triggers. At the point the test reaches context-lost.html the extension menu cannot display.

[Optional:]

OS: Pop!_OS 22.4
Browser: Firefox 111.01
GPU Driver: Mesa 22.3.5
Other extensions that might affect JShelter behaviour:

How to reproduce

  1. Run conformance test suite
  2. Watch for error rate and performance warning.

Expected result

  1. At least complete the conformance test suite.
  2. Not show a "JShelter" is slowing Firefox message.
  3. Perform conformance tests within standard deviation of the time to complete the test without JShelter active.
  4. Perform conformance tests with valid responses. (at minimum consistent to the tests when without JShelter deactivated or mimicking a group of consistent failure values and frequency to highly adopted card types)

Actual result

Various errors are thrown across the tests.
Impacts Firefox performance across all tabs - try to use https://www.google.com/maps/ and it stutters and doesn't move.

Reproducibility

Have you tried another profile/browser/machine/OS? Yes, also present in Chromium 112.0.5615.49 (Official Build) (64-bit).

Workarounds

[Have you tried tweaking the extension, e.g. JS Shield (see the setup section above). Please try to chage settings for the triggered wrappers. Were you successful?]

Have you tried other steps to solve the issue?

  1. I tried turning fingerprint detection off and it solves the performance warning and generation of errors in WebGL, but valid values

Fingerprinting protection implementation is the probable location of performance issues which would would cause UX issues on WebGL heavy sites.

Additional information / notes

Not sure if performance time for execution of tests is a factor evaluated in fingerprinting, but given the large impact this currently has it would be worth evaluating if the generated responses are causing a greater than standard error of measurement from non JShelter users else this may be a possible dimension for fingerprinting on its own.


Hello,

first of all thank you for your time. It seems that you are trying to put many issues into one report. can you split the issues? However, please, read https://jshelter.org/threatmodel/ and https://jshelter.org/faq/ before doing so.

In addition, consider:

Both explained in FAQ/threat model. Anyway, I added https://pagure.io/JShelter/webextension/c/aa9d743f2aa114aecc9b7fbc0b02dfb253376c39?branch=main.

The recommended level is quite performance heavy. You might want to tweak JSS for such sites and turn WebGL wrappers off.

FPD detected fingeprinting attempts on the test page, I created #109 for that issue.

Possibly related #17. I will mention this issue there.

I am sorry if our threat model does not align with your expectations.

I will close this one. Feel free to comment and/or open specific bugs. Suggested improved wording of threat model or FAQ is also a good issue.

Metadata Update from @polcak:
- Issue close_status updated to: Duplicate
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata