Назад к блогу
Отпечатки

Воспроизводимость seed шума: детерминированные отпечатки с BotBrowser

Как флаг --bot-noise-seed в BotBrowser создает согласованные, воспроизводимые отпечатки Canvas, WebGL и Audio между сессиями.

Проблема случайного шума

Инструменты конфиденциальности, добавляющие случайный шум к выходным данным Canvas, WebGL и Audio, создают новый отпечаток каждую сессию. Это нарушает согласованность сессий, так как меняющийся отпечаток может выглядеть подозрительнее стабильного.

Детерминированный шум с --bot-noise-seed

BotBrowser решает это флагом --bot-noise-seed. Он использует фиксированный seed для детерминированного генератора случайных чисел. Один и тот же seed всегда дает одинаковый отпечаток.

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

С этой конфигурацией:

  • Canvas рендеринг возвращает одни и те же пиксельные данные каждую сессию
  • Выход WebGL остается идентичным между перезапусками
  • Обработка Audio производит одинаковую форму волны каждый раз
  • Хеш отпечатка остается стабильным день за днем

Сочетание с профилями

Seed шума работает вместе с --bot-profile. Профиль определяет аппаратные характеристики, а seed контролирует вариации рендеринга.

# Сессия 1: Понедельник
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --bot-noise-seed=42 \
       --user-data-dir="/data/session-a"

# Сессия 2: Среда (та же идентичность)
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --bot-noise-seed=42 \
       --user-data-dir="/data/session-a"

Обе сессии дают идентичные отпечатки.

Контроль шума Canvas

Переключайте шум Canvas независимо с --bot-config-noise-canvas:

chrome --bot-profile="/path/to/profile.enc" \
       --bot-noise-seed=42 \
       --bot-config-noise-canvas=true

Мультиаккаунтное использование

Назначайте разные seed для каждого аккаунта для уникальных, стабильных идентичностей:

# Аккаунт A
chrome --bot-profile="/profiles/profile-a.enc" \
       --bot-noise-seed=1001 \
       --user-data-dir="/data/account-a"

# Аккаунт B
chrome --bot-profile="/profiles/profile-b.enc" \
       --bot-noise-seed=2002 \
       --user-data-dir="/data/account-b"

Проверка

  1. Запустите BotBrowser с профилем и seed шума
  2. Посетите CreepJS и запишите хеши Canvas, WebGL и Audio
  3. Закройте и перезапустите с тем же профилем и seed
  4. Убедитесь, что хеши совпадают точно

Начало работы

  1. Скачайте BotBrowser с GitHub
  2. Выберите профиль из репозитория профилей
  3. Добавьте --bot-noise-seed с фиксированным целочисленным значением
  4. Проверьте согласованность между сессиями инструментами тестирования
#noise-seed#deterministic#fingerprinting#reproducibility#privacy