Retour au Blog
Empreinte

Protection des informations reseau par BotBrowser : controle des empreintes de connexion

Comment BotBrowser controle les valeurs de navigator.connection pour empecher les informations reseau de devenir un signal de pistage.

Le risque pour la vie privee

La Network Information API (navigator.connection) expose le type de connexion, les estimations de bande passante et les valeurs de temps aller-retour. Ces proprietes peuvent servir de signal de pistage, surtout lorsqu'elles sont correlees avec la localisation geographique ou la configuration du proxy. BotBrowser controle toutes les valeurs d'information reseau via le profil d'empreinte.

Informations reseau basees sur le profil

Lors du chargement d'un profil d'empreinte, les valeurs d'information reseau sont automatiquement configurees :

chrome --bot-profile="/path/to/profile.enc" \
       --user-data-dir="$(mktemp -d)"

Le profil inclut des valeurs internement coherentes de rtt, downlink, effectiveType et type.

Remplacement explicite

Pour un controle manuel des informations reseau :

chrome --bot-profile="/path/to/profile.enc" \
       --bot-network-info-override \
       --user-data-dir="$(mktemp -d)"

Cela assure que le navigateur rapporte les valeurs du profil plutot que de mesurer la connexion reelle.

Coherence avec le proxy

Lors de l'utilisation d'un proxy, BotBrowser maintient les valeurs de navigator.connection coherentes avec les caracteristiques reseau attendues :

chrome --bot-profile="/path/to/profile.enc" \
       --proxy-server="http://us-proxy:8080" \
       --bot-network-info-override \
       --user-data-dir="$(mktemp -d)"

Controle des evenements change

BotBrowser gere l'evenement change sur navigator.connection pour empecher les fuites de transitions reelles d'etat reseau pendant la session.

Verification

Apres le lancement, confirmez les valeurs dans la console :

const conn = navigator.connection;
console.log('effectiveType:', conn.effectiveType);
console.log('downlink:', conn.downlink);
console.log('rtt:', conn.rtt);
console.log('type:', conn.type);
console.log('saveData:', conn.saveData);

Les valeurs doivent correspondre au profil charge et rester stables pendant toute la session.

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Chargez un profil d'empreinte avec --bot-profile
  3. Activez le remplacement avec --bot-network-info-override
  4. Verifiez que les valeurs de navigator.connection correspondent a l'identite configuree
#network-info#connection#rtt#fingerprinting#privacy