Introduction : Math.tanh, un nouvel outil de fingerprinting
Depuis l'arrivée de Chromium 148, une nouvelle méthode de fingerprinting voit le jour, utilisant la fonction mathématique Math.tanh. Ce changement subtil mais significatif permet de déterminer le système d'exploitation sous-jacent d'un utilisateur, en exploitant les différences de calcul entre les bibliothèques mathématiques des différents systèmes. Cette découverte ouvre la voie à de nouvelles approches dans la détection des bots et la sécurité des navigateurs.
Comment ça fonctionne ?
Traditionnellement, le fingerprinting des navigateurs utilise des caractéristiques telles que le canvas, WebGL, les polices de caractères ou encore l'audio pour identifier un utilisateur. Cependant, avec Math.tanh, un signal plus discret s'est révélé. Le principe est simple : en raison des variations dans les bibliothèques mathématiques utilisées par chaque système d'exploitation, le résultat de Math.tanh pour certaines valeurs peut différer légèrement.
Par exemple, exécute Math.tanh(0.8) sur différents systèmes :
- Linux (glibc) :
0.6640367702678491 - macOS (libsystem_m) :
0.664036770267849 - Windows (UCRT) :
0.6640367702678489
Ces différences, bien que minimes, suffisent pour identifier le système d'exploitation utilisé.
L'évolution avec Chromium 148
Avant Chromium 148, le moteur V8 de Chrome calculait tanh en interne avec une version de la bibliothèque fdlibm, garantissant un résultat identique quel que soit le système d'exploitation. Cependant, depuis le commit c1486295ae5, Math.tanh utilise la fonction std::tanh qui dépend de la bibliothèque mathématique de l'OS, rendant ainsi les résultats spécifiques à chaque OS.
Implications pour la sécurité et la détection des bots
Ce changement a des implications majeures pour les stratégies de sécurité. Les systèmes anti-bots peuvent désormais utiliser Math.tanh pour vérifier la cohérence entre le User-Agent déclaré et le véritable système d'exploitation. Si une incohérence est détectée, cela peut indiquer l'utilisation d'un bot essayant de masquer son identité.
Selon les mesures récentes, environ 25% des appels à Math.tanh montrent des différences significatives entre les systèmes d'exploitation, fournissant un point de données fiable pour le fingerprinting.
Cas d'usage et perspectives
Pour les entreprises de sécurité, cette méthode offre un nouvel outil pour affiner leurs systèmes de détection. Cependant, elle soulève également des questions sur la vie privée des utilisateurs et les implications éthiques du fingerprinting.
Les développeurs doivent être conscients de ce changement pour s'assurer que leurs applications restent sûres et respectueuses de la vie privée. En outre, comprendre ces différences peut aider à optimiser les performances des applications web sur différents systèmes.
Conclusion
La découverte de Math.tanh comme outil de fingerprinting souligne l'importance de comprendre les détails techniques des bibliothèques sous-jacentes. Alors que nous nous dirigeons vers un avenir où la sécurité et la confidentialité sont de plus en plus critiques, rester informé des nouvelles méthodes et des implications est essentiel.
Discutons de ton projet en 15 minutes.