Защита сетевой информации в BotBrowser: контроль отпечатков соединения
Как BotBrowser контролирует значения navigator.connection для предотвращения использования сетевой информации как сигнала отслеживания.
Риск для конфиденциальности
Network Information API (navigator.connection) раскрывает тип соединения, оценки пропускной способности и значения времени отклика. Эти свойства могут служить сигналом отслеживания, особенно при корреляции с географическим расположением или конфигурацией прокси. BotBrowser контролирует все значения сетевой информации через профиль отпечатка.
Сетевая информация на основе профиля
При загрузке профиля отпечатка значения сетевой информации устанавливаются автоматически:
chrome --bot-profile="/path/to/profile.enc" \
--user-data-dir="$(mktemp -d)"
Профиль включает внутренне согласованные значения rtt, downlink, effectiveType и type.
Явное переопределение
Для ручного контроля сетевой информации:
chrome --bot-profile="/path/to/profile.enc" \
--bot-network-info-override \
--user-data-dir="$(mktemp -d)"
Это гарантирует, что браузер сообщает значения из профиля, а не измеряет реальное сетевое соединение.
Согласованность с прокси
При использовании прокси BotBrowser поддерживает значения navigator.connection согласованными с ожидаемыми сетевыми характеристиками:
chrome --bot-profile="/path/to/profile.enc" \
--proxy-server="http://us-proxy:8080" \
--bot-network-info-override \
--user-data-dir="$(mktemp -d)"
Контроль событий change
BotBrowser управляет событием change на navigator.connection, предотвращая утечку реальных переходов состояния сети во время сессии.
Проверка
После запуска подтвердите значения в консоли:
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);
Значения должны соответствовать загруженному профилю и оставаться стабильными на протяжении всей сессии.
Начало работы
- Скачайте BotBrowser с GitHub
- Загрузите профиль отпечатка с
--bot-profile - Включите переопределение с
--bot-network-info-override - Проверьте соответствие значений
navigator.connectionнастроенной идентичности