js-shield
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]