BotBan

Отпечаток браузера: как он помогает узнавать ботов

Как из canvas, WebGL, шрифтов и настроек складывается отпечаток, зачем он в защите от ботов и почему на него нельзя опираться в одиночку.

3 мин чтения

Отпечаток браузера — это набор характеристик, которые вместе делают конкретную связку «устройство плюс браузер» узнаваемой. По отдельности ни одна из них не уникальна, но их сочетание встречается редко.

Из чего складывается

Canvas. Браузеру предлагают нарисовать в невидимом холсте текст и градиент, а потом забирают результат. На разных устройствах он чуть отличается: сказываются шрифты, драйверы видеокарты, сглаживание.

WebGL. То же самое, но для трёхмерной графики. Дополнительно можно спросить название видеокарты — оно тоже сужает круг.

Список шрифтов. Набор установленных шрифтов у людей разный: зависит от системы, офисного пакета, установленных программ.

Экран и устройство. Разрешение, плотность пикселей, количество ядер, объём памяти, поддержка касаний.

Языки и часовой пояс. Порядок предпочитаемых языков и зона системы.

Аудио. Обработка звукового сигнала даёт слегка разный результат на разных устройствах.

Зачем это в защите от ботов

Не для того, чтобы следить за конкретным человеком. Задача другая: понять, похоже ли то, что мы видим, на настоящий браузер вообще.

У безоконных браузеров отпечатка часто нет. Chrome, запущенный без окна, нередко не даёт результата ни на canvas, ни на WebGL — рисовать некуда. Отсутствие отпечатка при заявленном свежем Chrome — сильный признак.

У ботофермы отпечатки одинаковые. Тысяча «разных посетителей» с одинаковым отпечатком графики — это одна виртуалка, размноженная тысячу раз.

Отпечаток противоречит заголовкам. User-Agent говорит про iPhone, а отпечаток — про Linux с видеокартой NVIDIA. Такого не бывает.

Почему нельзя опираться только на отпечаток

Его подделывают. Существуют браузеры, специально созданные для подмены отпечатка. Против них признак работает только в связке с поведением: подделать движение мыши правдоподобно намного дороже.

Его блокируют честные люди. Firefox с включённой защитой от цифрового отпечатка и Tor Browser намеренно отдают одинаковый или искажённый результат. Это не боты, это люди, которые заботятся о приватности.

Данные приходят от самого клиента. Всё, что собирает скрипт на странице, присылает браузер посетителя — то есть, возможно, бот. Поэтому уличающие показания (нет отпечатка, есть признаки автоматики) имеет смысл считать весомыми, а оправдывающие («у меня всё хорошо») — ограничивать. Соврать в свою пользу проще, чем против себя.

В BotBan это правило записано прямо: оправдывающие браузерные признаки не учитываются вовсе, если против посетителя есть хотя бы один тяжёлый довод, увиденный со стороны сервера.

Где граница с приватностью

Отпечаток можно использовать двумя способами. Первый: узнавать конкретного человека между сайтами и следить за ним. Второй: понять, похож ли клиент на настоящий браузер, и забыть.

Разница в сроке хранения и в связывании. Если отпечаток живёт полчаса, привязан к одному сайту и не сопоставляется ни с какими личными данными — это защита. Если он живёт годами и склеивается с профилем — это уже другое.

Читайте также