BreakHub
СправочникОтпечаток браузера

Что такое отпечаток браузера

Сайт может узнать вас без единого cookie: собрать несколько десятков атрибутов браузера, захешировать их — и отпечаток готов. Как это работает, почему энтропия накапливается, чем отпечатки отличаются от cookie и какая логика стоит за оценкой «достоверность отпечатка» на этом сайте.

6 мин чтения · Опубликовано 10 сентября 2026 г.

Вы очистили cookie, открыли приватное окно, сменили IP — а сайт все равно, кажется, узнает вас. Обычно это работа отпечатка браузера. На вашей машине ничего не сохраняется. Сайт просто собирает сведения, которые браузер сообщает сам, вычисляет хеш и использует результат как идентификатор. Каждый элемент по отдельности обыкновенен; вместе они часто уникальны.

Откройте любую страницу, и браузер сообщит серверу очень многое: строку User-Agent, Accept-Language, разрешение экрана и глубину цвета, часовой пояс, установленные шрифты, поддерживаемые кодеки, число ядер процессора, примерный объем памяти, наличие сенсорного экрана. Это легитимные API, созданные для того, чтобы страницы подстраивались под устройство.

Уровнем глубже страница может заставить браузер что-то сделать и посмотреть на результат. Нарисовать строку текста и несколько фигур на canvas, затем выгрузить пиксели. Отрисовать треугольник через WebGL и заодно спросить модель видеокарты. Сгенерировать короткий сигнал через Web Audio и считать полученную волну. Результаты зависят от вашего GPU, его драйвера, того, как операционная система растеризует шрифты, версии браузера и даже от того, установлен ли какой-то конкретный шрифт. Разные машины дают чуть разные пиксели, а после хеширования эти различия превращаются в стабильные идентификаторы.

Соедините эти несколько десятков значений в фиксированном порядке, прогоните строку через SHA-256 — и получите «идентификатор посетителя». Именно так вычисляется Visitor ID на странице отпечатка этого сайта.

Энтропия: почему обычные атрибуты в сочетании перестают быть обычными

Теория информации измеряет, насколько тонко атрибут делит совокупность людей, через «энтропию». Атрибут, который делит людей 50/50, несет 1 бит; тот, по которому с вами совпадает один человек из тысячи, — примерно 10 бит. Чтобы выделить одного человека из нескольких миллиардов, теоретически нужно чуть больше 30 бит.

Ни один атрибут в одиночку и близко не подходит к этому. Экран 1920×1080 у всех, Chrome тоже, а языковая настройка zh-CN среди китайскоязычных пользователей вообще ничего не говорит. Но энтропия накапливается, если атрибуты не сильно коррелируют между собой. Экран, часовой пояс и язык вместе могут дать несколько бит; добавьте список шрифтов (не у многих стоит полный пакет Adobe плюс пара необычных CJK-гарнитур), полную строку рендерера WebGL (модель плюс версия драйвера) и хеш canvas — и порог уникальности пройден с запасом.

Проект EFF Panopticlick, ныне Cover Your Tracks, делает ровно это: собирает отпечатки у добровольцев, подсчитывает распределение каждого атрибута и сообщает, какая доля виденных им браузеров разделяет ваше значение. Статистика «уникальности» внизу страницы отпечатка на этом сайте построена по той же идее, только выборка — посетители этого сайта. Чем меньше число, тем сильнее атрибут вас выдает.

Cookie — это записка, которую сайт оставляет у вас в браузере, и вы можете порвать ее в любой момент. Отпечаток устроен иначе:

  • На вашей стороне ничего не хранится, поэтому операции «очистить» не существует.
  • Он межсайтовый по своей природе. Два сайта с одним и тем же скриптом и одним и тем же хешированием получат один и тот же идентификатор.
  • Приватный режим почти на него не влияет: он изолирует хранилище, но ничего не меняет в вашем железе и шрифтах.

У отпечатков есть и слабости. Обновление браузера может изменить отрисовку canvas; новый монитор меняет разрешение; установка одного шрифта меняет список шрифтов. Поэтому отпечатки «плывут», и трекер не может полагаться на точное совпадение — ему приходится сравнивать нечетко, допуская одно-два изменения и проверяя, сходится ли остальное. Именно поэтому стабильные атрибуты с высокой энтропией (модель GPU, аудиохеш) для трекеров ценнее всего.

Логика оценки «достоверность отпечатка»

Вверху страницы отпечатка стоит крупное число с подписью «достоверность отпечатка». Оно не оценивает вашу приватность. Оно отвечает на другой вопрос: выглядит ли этот браузер как настоящий, обычный браузер или как модифицированное окружение?

Оценка начинается со 100 и теряет баллы за каждое найденное противоречие:

Проверка Штраф
User-Agent в HTTP-заголовке отличается от navigator.userAgent в JavaScript 30
Особенности движка противоречат браузеру, заявленному в UA (заявлен Chrome, ведет себя как Firefox) 25
Платформа или бренд в Client Hints противоречат UA 15
Часовой пояс по IP ≠ часовому поясу JavaScript 15
Часы JavaScript расходятся со временем в часовом поясе IP больше чем на 3 минуты 5
Основной язык Accept-Language ≠ navigator.language 10
Публичный IP, раскрытый через WebRTC, ≠ IP HTTP-соединения 15
navigator.webdriver равен true или присутствуют признаки headless-режима 30
Невозможные значения экрана (доступная ширина больше полной и т. п.) 10
Десктопный UA при программном рендерере (SwiftShader, llvmpipe) 10
Ноль плагинов в десктопном Chrome 5
Два рисования на canvas дают разный результат (расширение с шумом) 10

Обратите внимание: пункта «ваш отпечаток слишком уникален» в списке нет. Оценке важна согласованность, и на то есть практическая причина: антифрод-системы и системы оценки риска рассуждают так же. Обычный браузер, у которого все атрибуты нормальны и согласуются друг с другом, не выделяется из толпы. Браузер, у которого UA переписан на Windows, а часовой пояс — на Нью-Йорк, тогда как рендерер WebGL по-прежнему сообщает Apple M2, а Accept-Language — zh-CN, помечается сразу. Подделать все атрибуты так, чтобы они не противоречили друг другу, намного труднее, чем не подделывать ничего.

Поэтому оценка полезна двум категориям людей. Тот, кто пользуется инструментом обхода блокировок, может проверить себя на характерные признаки — чаще всего это часовой пояс IP, не совпадающий с системным, и WebRTC, раскрывающий реальный IP. Тот, кто пользуется антидетект-браузером, может проверить, непротиворечива ли маскировка. Каждой проверке посвящена своя статья: согласованность часового пояса и языка, утечки WebRTC, обнаружение ботов.

Что этот сайт делает с вашими данными

Лаборатория отпечатков хранит только хеши и грубые атрибуты: хеши canvas, WebGL, аудио и шрифтов, а также семейство браузера, семейство ОС, размер экрана, часовой пояс, язык и название рендерера, которые используются для статистики уникальности. Исходные пиксели canvas, аудиоволны и IP-адреса в базу данных никогда не попадают. На странице есть опция «участвовать в статистике»; снимите галочку — и ничего не отправляется, результаты показываются только локально.

Вопросы и ответы

Можно ли полностью избежать снятия отпечатка? С трудом. Стратегия Tor Browser — сделать всех пользователей одинаковыми (фиксированный размер окна, большинство API отключено) ценой неудобной работы в вебе. В обычном браузере реалистичная цель — сократить атрибуты с высокой энтропией: не ставить много шрифтов, использовать распространенное разрешение, включать функции вроде «resist fingerprinting» в Firefox.

Помогают ли расширения, добавляющие шум в canvas? Они делают каждый хеш разным, что действительно ломает точное совпадение, но заодно помещают вас в небольшую группу людей, у которых вывод canvas меняется, а это само по себе признак. Этот сайт снимает за это 10 баллов. См. Отпечатки Canvas, WebGL и аудио.

Почему Chrome и Firefox на одном компьютере дают разные отпечатки? Потому что движок отрисовки, стратегия подстановки шрифтов и аудиоконвейер у них различаются. Отпечаток идентифицирует «этот браузер на этой машине», а не машину саму по себе.