[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Levels of protection update proposal
From: |
Švancár Matúš |
Subject: |
Levels of protection update proposal |
Date: |
Sun, 13 Jun 2021 01:40:54 +0200 |
User-agent: |
Roundcube Webmail |
Hi everyone,
porting of Brave's fingerprinting protection is finished and there
aren't compatibility issues as far as I know. So far testing revealed
that ported countermeasures are working as intended.
Therefore I think we should change protection levels as follows:
Level 2: Change all covered APIs to randomizing approach based on
session/domain keys, thus - Canvas methods will return slightly modified
image data, methods isPointInPath and isPointInStroke will return false
with ~5% probability, Web Audio methods will return slightly modified
audio data, WebGL methods will mask vendor and renderer, alter whole
number return values in some functions and return modified image data
from readPixels, deviceMemory and hardwareConcurrency values will be
randomized (but valid), enumerateDevices will return shuffled list with
additional 0-4 fake devices, navigator.plugins will return shuffled list
with additional 2 fake plugins. Rest of options should remain the same
as current level 2.
Level 3: Canvas methods isPointInPath and isPointInStroke will always
return false. Rest should be fine as it is.
This is just a summary, you can see which methods/functions are affected
in specific wrappers. There may be things needing changes but generally
tests have so far shown that proposed Level 2 breaks less sites than
current level 2 while providing better protection. Hit me up if you have
any comments/suggestions or I didn't explain something clearly enough.
Thanks for feedback,
Matúš Švancár
- Levels of protection update proposal,
Švancár Matúš <=