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
- Telechargez BotBrowser depuis GitHub
- Chargez un profil d'empreinte avec
--bot-profile - Activez le remplacement avec
--bot-network-info-override - Verifiez que les valeurs de
navigator.connectioncorrespondent a l'identite configuree