When privacy.resistFingerprinting = true, set new windows to rounded dimensions [tor 19459]
Categories
(Core :: XUL, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox55 | --- | fixed |
People
(Reporter: arthur, Unassigned)
References
(Depends on 2 open bugs, Blocks 2 open bugs)
Details
(Whiteboard: [fingerprinting][tor][fp-triaged])
Attachments
(5 files)
59 bytes,
text/x-review-board-request
|
smaug
:
review+
arthur
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
mikedeboer
:
review+
arthur
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
arthur
:
review+
smaug
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
arthur
:
review+
smaug
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
arthur
:
review+
smaug
:
review+
|
Details |
Reporter | ||
Updated•8 years ago
|
Comment 1•8 years ago
|
||
Comment 2•8 years ago
|
||
Reporter | ||
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Reporter | ||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Reporter | ||
Updated•8 years ago
|
Updated•8 years ago
|
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Updated•8 years ago
|
Comment 9•8 years ago
|
||
mozreview-review |
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
mozreview-review |
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
Reporter | ||
Comment 14•8 years ago
|
||
Reporter | ||
Comment 15•8 years ago
|
||
mozreview-review |
Reporter | ||
Comment 16•8 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 19•8 years ago
|
||
mozreview-review-reply |
Comment hidden (mozreview-request) |
Comment 21•8 years ago
|
||
mozreview-review |
Comment 22•8 years ago
|
||
mozreview-review |
Comment 23•8 years ago
|
||
mozreview-review |
Comment 24•8 years ago
|
||
Comment 25•8 years ago
|
||
mozreview-review |
Comment 26•8 years ago
|
||
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 31•8 years ago
|
||
Comment 32•8 years ago
|
||
mozreview-review |
Comment 33•8 years ago
|
||
Comment 34•8 years ago
|
||
Comment 35•8 years ago
|
||
Comment 36•8 years ago
|
||
Comment 37•8 years ago
|
||
Comment 38•8 years ago
|
||
Reporter | ||
Comment 39•8 years ago
|
||
Reporter | ||
Comment 40•8 years ago
|
||
mozreview-review-reply |
Reporter | ||
Comment 41•8 years ago
|
||
mozreview-review |
Reporter | ||
Comment 42•8 years ago
|
||
mozreview-review |
Comment 43•8 years ago
|
||
Comment 44•8 years ago
|
||
Comment 45•8 years ago
|
||
Reporter | ||
Comment 46•8 years ago
|
||
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Comment 52•8 years ago
|
||
mozreview-review |
Reporter | ||
Comment 53•8 years ago
|
||
mozreview-review |
Comment 54•8 years ago
|
||
mozreview-review |
Comment 55•8 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 61•8 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Reporter | ||
Comment 69•8 years ago
|
||
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 75•8 years ago
|
||
Comment 76•8 years ago
|
||
Comment 77•8 years ago
|
||
Comment 78•8 years ago
|
||
Comment 79•8 years ago
|
||
bugherder |
Reporter | ||
Comment 80•8 years ago
|
||
mozreview-review |
Updated•8 years ago
|
Comment 81•8 years ago
|
||
mozreview-review |
Updated•8 years ago
|
Comment 82•8 years ago
|
||
Comment 83•7 years ago
|
||
Comment 84•7 years ago
|
||
Comment 85•7 years ago
|
||
Updated•7 years ago
|
Comment 86•7 years ago
|
||
Comment 87•7 years ago
|
||
Comment 88•7 years ago
|
||
Comment 89•7 years ago
|
||
Comment 90•7 years ago
|
||
Comment 91•7 years ago
|
||
Comment 92•7 years ago
|
||
Comment 93•7 years ago
|
||
Comment 94•7 years ago
|
||
Comment 95•7 years ago
|
||
Comment 96•7 years ago
|
||
Comment 97•7 years ago
|
||
Comment 98•7 years ago
|
||
Comment 99•7 years ago
|
||
Comment 100•7 years ago
|
||
Comment 101•7 years ago
|
||
Comment 102•7 years ago
|
||
Comment 103•7 years ago
|
||
Comment 104•7 years ago
|
||
Updated•7 years ago
|
Comment 106•7 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 107•5 years ago
|
||
Ok, so one way to resist fingerprinting is to have a small set of fixed window sizes, and there can be endless discussion about what window sizes are best... but what about going the other way, and randomizing the window size for every new window? For example, perhaps Firefox could check the maximum possible window width and height on that screen, then set each new window width and height to a random value between that and 30% less than that. This would add a heck of a lot of entropy when trying to track a user between sessions.
You could take it even further by randomizing the window dimensions by a few pixels each time the user switches tabs or navigates to a new site, although that's probably overkill (and annoying).
And instead of worrying about the user resizing the window, accept it as an additional source of randomness! Every time I manually resize a window, it ends up with slightly different dimensions, making fingerprinting more difficult.
Comment 108•4 years ago
|
||
Want to assure a consistent size? Force a maximized window. Not follow in Tor's backwards footsteps.
1080/1200/1440/2160 scaled 125% (a quite popular setup)? there goes your math, firefox is now setting an annoying tiny window.
Comment 109•4 years ago
|
||
(In reply to Mos At from comment #108)
Want to assure a consistent size? Force a maximized window. Not follow in Tor's backwards footsteps.
1080/1200/1440/2160 scaled 125% (a quite popular setup)? there goes your math, firefox is now setting an annoying tiny window.
People resize their taskbars/panels and add/move them to alter which screen edges they're on. That's the whole reason Tor does what it does. The OS will force inconsistent limitations on the application window if you maximize it.
Comment 110•4 years ago
|
||
People resize...
... not only that (the actual available screen res for the firefox window to fit into: and there are other factors see [1]), but the firefox chrome will vary between users (density settings, os/distro, custom browser themes can change padding, if toolbar/menubar/sidebar etc are open to name bu a few)
Since screen/available-screen/outer-window are tied to inner-window .. the only option here is to control the inner window and you can only do that by setting an exact size
That said, I believe we should be able to do two things
-
- decouple screen+available-screen from inner+outer: i.e screen+available-screen = the same (spoofed: maybe on a sliding/stepped scale): most/all FPing scripts do not bother with inner window as it is too unstable
-
- increase the default max width for usability. This needs analysis, but AFAICT wouldn't add any entropy
[1] https://old.reddit.com/r/TOR/comments/ebwcte/does_changing_the_window_size_still_reduce_my/fb7mjmp/ - Matt Traudt
Comment 111•4 years ago
|
||
Honestly, this feature need to be implemented by adding padding inside the window (this is actually what Tor does).
Many environments/desktops won't allow the window to resize itself. For example, Tiling window managers will give the window a fixed amount of space, and won't allow the window to make itself any smaller -- since the idea of becoming smaller doesn't make sense on tiling window managers.
Also, making the window maximised will leak the exact screen resolution every time. Combined with the size of the browser's chrome, this is likely to generate plenty of identifiable information.
Padding inside the window makes sure that:
- Resizing is not a problem.
- It works in things like tiling WMs and other contexts where resizing by the client application is diallowed.
- There's no leak due to the size of toolbar & chrome.
Also, if it's what Tor does, then it's apparently already implemented in a way that works.
Comment 112•4 years ago
|
||
^ hidden pref: privacy.resistFingerprinting.letterboxing
- Bug 1407366 since FF65+
Resizing is still a problem. Letterboxing just mitigates the possible combos of width/height. Inner window (and thus screen) entropy is still there. The solution is to decouple screen metrics from chrome metrics. Then screen metrics in could be limited to four or five common results - stepping based on current inner window. Inner becomes less important (scripts only want screen, not inner), but we still want to protect it: so we still open at usable default sizes (needs some analysis: increase the width for starters), we still use letterboxing: and those who disable letterboxing, at screen metrics are very limited
Updated•2 years ago
|
Comment 113•2 months ago
|
||
I think we can close this, yes?
FWIW we plan to propose uplifting a bunch of newwin, letterboxing, betterboxing patches, in new issues if need be. And to address some other issues not covered yet on bugzilla (i.e open new bugzillas). This issue is not it, it's just (old) noise
Updated•23 hours ago
|
Description
•