Отпечаток браузера дрейфует с обновлениями ПО, драйверов и шрифтов. Что меняется, что нет и как трекеры связывают старый отпечаток с новым.
Отпечаток — это не татуировка. Это снимок того, как браузер и устройство выглядят сегодня, а меняется и то и другое: браузеры обновляются каждые несколько недель, обновляются драйверы и операционная система, вы подключаете монитор. Так как долго отпечаток полезен трекеру? Коротко: отдельные значения устаревают быстро, но общая картина обычно меняется достаточно медленно, чтобы за ней можно было следить.
Здесь речь об изменениях, которые вы вызываете не намеренно. О том, что переживает очистку cookie, режим инкогнито и VPN, читайте в материале про постоянные идентификаторы посетителей.
Главное
- Отпечаток — набор многих атрибутов, и у каждого свой срок жизни: одни меняются с каждым релизом браузера, другие почти никогда.
- Обычные причины дрейфа — обновления браузера, видеодрайвера, ОС и шрифтов; также новый экран, смена масштаба или поездка в другой часовой пояс.
- Трекеру не нужно точное совпадение. Если большинство атрибутов совпадает, а различия объяснимы, новый отпечаток можно связать со старым.
- Единого «срока годности» нет: как долго отпечаток можно связывать, зависит от необычности вашей конфигурации и частоты изменений.
- Свой дрейф можно наблюдать в карточке «Сравнение с прошлым визитом» в проверке отпечатка BrowserInsight.
Что дрейфует, а что почти нет
Представьте отпечаток как слои с разным сроком жизни. Оценки ниже качественные: публичного источника с надёжными цифрами для всего веба, на который можно было бы сослаться, нет.
| Атрибут | Типичная причина изменения | Стабильность |
|---|---|---|
| Версия браузера, User-Agent, Client Hints | Каждый релиз | Низкая, но меняется предсказуемо (см. сокращение User-Agent) |
| Набор функций и поддержка API | Новая версия браузера (см. определение версии движка) | Низкая, значения только растут |
| Вывод Canvas и WebGL | Обновление драйвера GPU или ОС | Средняя: не меняется между обновлениями |
| Установленные шрифты | Новые программы, обновления ОС, языковые пакеты | Средняя |
| Размер экрана, плотность пикселей, масштаб | Внешний монитор, раскладка окон, масштаб для доступности | Зависит от привычек |
| Часовой пояс | Поездки | Меняется в поездке, затем возвращается |
| Платформа, класс CPU, предпочитаемые языки | Замена железа, смена настроек | Высокая |
Закономерность важнее любой отдельной строки. Версия браузера, которая только растёт, не вызывает подозрений; хеш canvas, меняющийся при каждой загрузке страницы, вызывает.
Как трекеры справляются с дрейфом
Наивный трекер хеширует всё подряд и считает изменившийся хеш новым посетителем. Более продуманный сравнивает атрибуты по отдельности. Если шрифты, платформа, языки, экран и GPU совпадают, а версия браузера просто выросла с N до N+1, связать два визита почти беспроигрышно.
У этой идеи есть академическая реализация: FP-Stalker — код, опубликованный вместе со статьёй Vastel и соавторов на IEEE S&P 2018. Он отслеживает отпечатки во времени, сопоставляя те, чьи различия похожи на естественную эволюцию. Цифры точности и сроков стабильности мы здесь не пересказываем — их стоит смотреть в самой статье.
Коммерческие идентификаторы добавляют второй слой: объединяют отпечаток с сохранёнными идентификаторами, так что изменившийся отпечаток можно снова привязать к посетителю через уцелевшие cookie или значение localStorage. См. разбор FingerprintJS.
Почему рандомизация не решает проблему
Если дрейф ломает связывание, почему не рандомизировать отпечаток при каждом визите? Потому что сама рандомизация бросается в глаза. Например, шум в выводе canvas часто не согласуется с заявленным железом; см. шум в отпечатке canvas. Руководство W3C по фингерпринтингу формулирует суть проблемы: фингерпринтинг работает на стабильных поверхностях с высокой энтропией, поэтому сокращать и стандартизировать то, что раскрывает браузер, надёжнее, чем маскироваться.
Как измерить свой дрейф
- Запустите проверку отпечатка и запишите результат.
- Вернитесь после обновления браузера, драйвера или смены монитора.
- Откройте карточку «Сравнение с прошлым визитом» — в ней перечислены изменившиеся значения.
Как это работает: страница хранит локальный снимок (хеши canvas, WebGL, аудио и списка шрифтов, User-Agent, движок и версию, часовой пояс, языки, размер экрана) в localStorage этого браузера. Ничего не отправляется, на сервере сайта ничего не хранится. Сравнение идёт только с предыдущим визитом в том же браузере, поэтому следить за вами между браузерами оно не может, а снимок можно очистить или отключить в любой момент.
Чтобы оценить, насколько необычна ваша конфигурация в конкретный момент, попробуйте Cover Your Tracks (метод описан на странице EFF) или AmIUnique. Насколько вы редки сегодня, во многом определяет, как долго работает связывание; математика — в материале про энтропию отпечатка и анонимное множество.
Часто задаваемые вопросы
Меняется ли отпечаток после обновления браузера? Да, по крайней мере части, связанные с версией. Большинство остальных атрибутов остаются прежними, поэтому новый отпечаток обычно можно связать со старым.
Как долго живёт отпечаток? Фиксированного срока нет. Распространённая неизменённая конфигурация теряется в толпе, даже будучи стабильной; необычная остаётся узнаваемой через множество мелких изменений.
Сбрасывает ли отпечаток очистка cookie? Нет. Cookie и отпечаток — разные вещи; см. постоянные идентификаторы посетителей.
Можно ли помешать связыванию через дрейф? Полностью — нет. Уменьшить необычные черты конфигурации полезнее, чем добавлять шум. Начните с руководства по фингерпринтингу браузера.
Заключение
Отдельные значения отпечатка устаревают за дни или недели, но трекеров интересует вся картина, а она меняется медленно. Воспринимайте «изменилось после обновления» как норму, а не как защиту. Измеряйте собственный дрейф и стремитесь быть менее приметным, а не просто другим.

