13 mars 2025

Qu'est-ce que ClientRects

Qu'est-ce que ClientRects

Bonjour à tous, aujourd’hui nous allons parler d’un type d’empreinte numérique du navigateur : les Client Rects. Dès 2016, les utilisateurs ont commencé à discuter de cette empreinte, car à l’époque, une méthode simple pour la détecter est apparue dans l’outil browserleaks. Cela semblait alors facile à modifier. Mais en réalité, la modifier de manière naturelle et indétectable est bien plus difficile qu’il n’y paraît. Même aujourd’hui, la plupart des solutions populaires ne parviennent pas à la falsifier correctement.

Commençons par expliquer simplement ce que sont les Client Rects. Les Client Rects sont une technologie du navigateur qui fournit des informations sur la position et la taille de certains éléments d’une page web.

Ces éléments peuvent être variés : champs de texte, boutons, menus déroulants, tableaux, ou tout autre élément HTML.

Les informations de taille comprennent la largeur et la hauteur de l’élément, mesurées en pixels.

Les informations de position incluent les coordonnées du coin supérieur gauche (left ou X ; top ou Y) et du coin inférieur droit (right et bottom) de l’élément par rapport à la fenêtre du navigateur.

Les données recueillies sont appelées des « rects » (rectangles). L’image ci-dessous permet de mieux comprendre à quoi cela correspond.

fast proxy

Voyons maintenant en détail comment les Client Rects sont collectés pour former une empreinte numérique, en prenant l’exemple de l’outil browserleaks.com[https://browserleaks.com/rects].

fast proxy

Ce site utilise trois éléments (String 1, 2, 3) pour générer l’empreinte. À l’ouverture de la page, Browserleaks collecte les données de position (x, y, right, bottom) et de taille (largeur et hauteur) de chacun des éléments. Ces données ne sont pas des entiers, mais des nombres à virgule flottante avec une précision allant jusqu’à 16 chiffres.

Une fois les données collectées, Browserleaks génère un hash pour chaque élément (Hash String 1, 2, 3), puis les combine en un hash final (Full Hash), représentant l’empreinte Client Rects.

Ceci est un exemple de base. Des outils comme https://privacycheck.sec.lrz.de/active/fp_gcr/fp_getclientrects.html utilisent des méthodes plus complexes avec une variété plus large d’éléments HTML. Les systèmes antifraude modernes exploitent également des méthodes avancées pour collecter cette empreinte, la comparer à des bases de données et la croiser avec d’autres données comme l’adresse IP afin d’identifier les utilisateurs et détecter les comptes multiples.

Ces systèmes peuvent utiliser cette empreinte pour suivre les utilisateurs, analyser leur comportement et empêcher l’utilisation de comptes multiples car les paramètres varient légèrement entre les appareils. Si vous ouvrez l’outil de détection de Client Rects sur deux ordinateurs différents, les valeurs obtenues pour les mêmes éléments seront légèrement différentes, ce qui produit des hash différents. Même une différence d’un millième de pixel peut changer l’empreinte numérique.

Voici une comparaison des empreintes Client Rects générées sur deux appareils sous Windows 10 avec Chrome :

fast proxy

Cela soulève une question logique : quels facteurs provoquent ces différences de paramètres entre appareils ? La réponse est simple : beaucoup ! Type d’appareil, version du système d’exploitation, carte graphique, écran, résolution, échelle d’affichage, navigateur et sa version, niveau de zoom, paramètres de police, etc. – tous influencent l’empreinte.

Un exemple avec Chrome : accéder depuis un téléphone donne une empreinte, depuis un ordinateur portable une autre ; connecter un écran 2K donne une empreinte, un écran 4K en donne une différente ; passer de Windows 10 à 11 modifie l’empreinte ; changer l’échelle de 100% à 125% aussi ; utiliser une carte graphique intégrée ou dédiée également. Les variations sont infinies.

Voici quelques exemples de changement d’empreinte sur Chrome sous Windows 10 avec différentes échelles d’affichage :

fast proxy

Si vous devez créer des dizaines, voire des centaines ou des milliers de comptes par mois, changer constamment d’appareil ou de configuration n’est pas viable. La meilleure solution est donc d’utiliser un navigateur antidétection avancé capable de masquer efficacement cette empreinte.

Il existe deux méthodes principales pour modifier les empreintes Client Rects : les extensions de navigateur et les navigateurs antidétection. Examinons les avantages et inconvénients.

Utiliser des extensions est la méthode la plus simple, mais elle comporte plusieurs inconvénients :

  • Les extensions peuvent être détectées. Les systèmes antifraude peuvent savoir quelles extensions sont installées. Si une extension est utilisée pour falsifier une empreinte, cela devient suspect.
  • La qualité du masquage est souvent faible. Ces extensions utilisent des techniques basiques qui peuvent être repérées.
  • Certaines ne modifient rien, elles bloquent juste l’accès aux données. Cela est encore plus suspect et peut perturber l’affichage de la page.

Les extensions ne sont donc qu’une protection supplémentaire et ne sont pas recommandées pour une utilisation sérieuse ou commerciale. Sur Firefox, les plus connues sont CanvasBlocker, Trace et Chameleon ; sur Chrome, ClientRects Fingerprint Defender et Trace.

Un navigateur antidétection est la meilleure méthode actuelle pour modifier les Client Rects. Mais tous ne se valent pas – il faut utiliser des produits technologiquement matures.

La plupart des extensions ou navigateurs ajoutent un « bruit » (des pixels invisibles) pour modifier légèrement les dimensions des éléments, mais cela peut être détecté.

La nouvelle génération de Linken Sphere utilise une autre méthode : un système de mise à l’échelle interne. Cette approche permet un masquage parfait dans environ 80% des cas.

Il suffit parfois de comparer les résultats de détection entre un navigateur classique et un navigateur antidétection pour voir clairement la qualité du masquage, sans analyse technique approfondie.

fast proxy

L’image montre les résultats de Chrome, Linken Sphere 2 et un autre navigateur antidétection sur browserleaks. Les distorsions sont visibles.

Nous recommandons d’utiliser CreepJS comme outil de détection. Il montre non seulement si l’empreinte est exposée, mais aussi la qualité du masquage. Une fois l’analyse activée, allez dans l’onglet “Browser” et regardez le champ “lies”.

fast proxy

Ce champ doit afficher “none”, comme sur l’image de gauche. Si une falsification est détectée, il sera mis en évidence avec le nombre d’erreurs. Vous pouvez cliquer dessus pour voir les détails. Les erreurs courantes incluent : Element.getClientRects, Range.getClientRects, DOMRect.height, DOMRectReadOnly.top, etc.

Voici un exemple d’erreurs quand CreepJS détecte une falsification de Client Rects :

fast proxy

Comparons maintenant les résultats CreepJS entre Linken Sphere 2 et un autre navigateur antidétection :

fast proxy

Cet outil permet de voir clairement si le masquage est efficace. Dans le cas de Linken Sphere, aucun problème n’a été détecté.

Pour être juste, les anciennes versions de Linken Sphere ne protégeaient pas parfaitement cette empreinte, c’est pourquoi nous ne le recommandions qu’en cas de besoin.

Voici une comparaison du masquage des empreintes entre Linken Sphere 2 et Linken Sphere 9 :

fast proxy

En résumé : le but du masquage d’empreinte n’est pas seulement d’être unique, mais d’être indétectable. Pour cela, il faut des produits de haute qualité utilisant les dernières technologies. C’est la seule façon d’obtenir les meilleurs résultats avec un minimum d’effort.

Related articles