Что такое отпечаток браузера на самом деле, и почему блокировка бьёт по вам же
Удалите куки, откройте приватное окно - и сайт всё равно вас узнает. Не через что-то спрятанное, а через обычные свойства, которые ваш браузер выдаёт каждой открываемой странице.
Как это устроено
Любая страница может прочитать длинный список фактов о вашей системе. По отдельности каждый скучен. Экран 1920x1080 - как у десятков миллионов. Часовой пояс America/New_York - вместе с сотней миллионов других.
Опознание рождается из сочетания. Разрешение экрана плюс часовой пояс плюс точный список шрифтов плюс строка рендерера видеокарты плюс число ядер процессора плюс результат аудиоцепочки с плавающей точкой плюс то, как ваша видеокарта растеризует конкретную строку текста. Каждый признак сужает выборку. Соедините сорок - и вы часто остаётесь в одиночестве.
Самые информативные:
- Canvas. Страница рисует текст и фигуры на внеэкранном холсте и хеширует пиксели. Отрисовка зависит от видеокарты, версии драйвера, растеризатора шрифтов и настроек сглаживания, поэтому хеш различается между машинами и стабилен на одной.
- WebGL. Строка рендерера называет реальное графическое железо, часто с точностью до модели.
ANGLE (Intel, Intel(R) Iris(R) Xe Graphics ...)говорит о машине очень много. - Шрифты. Набор установленных гарнитур отражает вашу ОС, локаль и установленный софт. Он сильно опознаёт, а несостыковки между операционными системами видны сразу.
- AudioContext. Пропуск осциллятора через компрессор даёт результат с плавающей точкой, который зависит от аудиостека.
- Client hints и user agent. ОС, версия браузера, архитектура и всё чаще платформа, отдаваемые прямо в заголовках запроса.
Ничего из этого не требует хранилища. Чистить нечего.
Почему блокировка делает хуже
Интуитивная защита - блокировать или подменять случайными значениями. Обычно это оборачивается против вас по двум причинам.
Редкость и есть опознание. Значение имеет то, сколько ещё людей имеют вашу конфигурацию. Браузер, сообщающий об отсутствии canvas, отсутствии WebGL и трёх шрифтах, не анонимен - он необычен, а необычный - это меньшая толпа, в которой можно спрятаться. Расширения против отпечатков сплошь и рядом делают браузер заметнее, чем то состояние по умолчанию, которое они заменили.
Случайность объявляет о себе сама. Настоящее железо детерминировано. Прочитайте хеш canvas дважды за одну сессию на реальной машине - получите одно и то же значение. Если у вас оно меняется между двумя чтениями, вы не спрятали сигнал, вы опубликовали факт, что вы его меняете. Детекторы проверяют ровно это, и пойманный на лжи браузер интереснее просто необычного.
Противоречие - самый громкий сигнал из всех. User agent, заявляющий Windows, вместе со списком шрифтов, который бывает только на macOS, - это не редкость, это невозможность. Невозможное определяется тривиально, и это типичный провал любого отпечатка, собранного из деталей, а не снятого с одной реальной машины.
Что работает, в зависимости от вашей цели
Если вам нужна приватность как частному лицу: сливайтесь, а не блокируйте. Tor Browser делает всех одинаковыми, и это единственная настоящая защита, ценой серьёзных неудобств. Режим resist-fingerprinting в Firefox - более мягкая версия. Не ставьте пять расширений против отпечатков разом.
Если вы законно ведёте несколько аккаунтов как агентство или бизнес, вам нужно, чтобы каждая личность выглядела другой, обычной, согласованной машиной, а не спрятанной. То есть каждый сигнал взят с цельного реального устройства, применён ниже слоя JavaScript, чтобы не было скрипта-подмены, который можно поймать, и стабилен между перезапусками, чтобы сороковой прогон выглядел как первый.
Последнее свойство недооценивают чаще всего. Профиль, который заново генерирует отпечаток при каждом запуске, - это новое устройство, каждый раз приходящее в старый аккаунт, а это ровно тот шаблон, ради поимки которого системы оценки риска и строились.
Проверьте свой
- CreepJS на abrahamjuliot.github.io/creepjs - самый обстоятельный публичный инструмент, и он отдельно сообщает о противоречиях между контекстами, а не только общую оценку.
- whoer.net - для IP, часового пояса и определения прокси.
Прогоните свой. Потом закройте браузер, откройте заново и прогоните ещё раз. Если что-то поплыло - это и есть находка.
У нас есть более подробный чек-лист согласованности с конкретными парами значений, которые обязаны совпадать.
Попробуйте на бесплатном тарифе.
Неограниченное число локальных профилей, без карты. Проверьте результат детекторами сами.