Отпечатки canvas, WebGL и аудио: как они работают
Большинство сигналов отпечатка - это значения, которые браузер просто сообщает. Отпечатки рендеринга другие: сайт просит устройство нарисовать изображение или обработать звук, а потом смотрит на результат. Мелкие различия железа и программ делают этот результат удивительно характерным.
Проверьте свой браузер прямо сейчас
Проверяю браузер…
Отпечаток canvas
Скрипт рисует текст, фигуры и градиенты на скрытом элементе canvas, считывает пиксели и считает из них хеш. На точные пиксели влияют шрифты, сглаживание, драйвер видеокарты и операционная система. Хеш стабилен на одном устройстве и отличается на многих других, поэтому один вызов дает много идентифицирующей информации.
Отпечаток WebGL
WebGL раскрывает два типа данных. Во-первых, параметры: производителя и модель видеокарты через строку unmasked renderer, поддерживаемые расширения, максимальные размеры текстур и форматы точности. Во-вторых, рендеринг: рисование 3D-сцены и хеш пикселей, как в canvas, но через графический конвейер.
Название видеокарты - еще и сильный сигнал согласованности. Видеокарты Apple бывают только на устройствах Apple, а названия рендерера с упоминанием Direct3D - только в Windows. User-Agent Windows с видеокартой Apple в настоящем браузере не встречается.
WebGPU
Более новый API WebGPU тоже описывает графический адаптер. Когда WebGL и WebGPU называют разные видеокарты, это может быть ноутбук с двумя видеокартами или инструмент подделки, который изменил только одну из них.
Аудио-отпечаток
Сайт генерирует тон осциллятором, пропускает его через аудиоцепочку, например компрессор, полностью офлайн и беззвучно, и суммирует полученные сэмплы. Различия в обработке звука и вычислениях с плавающей запятой между браузерами и платформами меняют последние цифры результата.
Как работает защита
Инструменты приватности используют один из трех подходов:
- Блокировка: Tor Browser и Firefox с resistFingerprinting не отдают сайтам пиксели canvas просто так.
- Одинаковость: эти же браузеры возвращают стандартизованные значения для многих других свойств, поэтому пользователи выглядят похоже.
- Шум: Brave, Safari в усиленных режимах приватности и многие антидетект-браузеры добавляют к пикселям или сэмплам крошечные случайные изменения, поэтому разные сайты или сессии видят разные хеши.
Как замечают шум
У шума есть слабое место: настоящее устройство каждый раз рисует одно и то же изображение одинаково. Если страница дважды рисует одну и ту же картинку и получает два разных результата, кто-то добавил шум. Другие методы сравнивают результат с известными значениями для заявленной видеокарты или проверяют, не подменил ли скрипт функции canvas.
Проверка SpoofLens именно поэтому рисует canvas и аудио дважды. В Brave, Safari, Firefox с resistFingerprinting и Tor Browser она отмечает шум как защиту приватности, потому что эти браузеры намеренно добавляют или меняют такие данные. В других браузерах шум canvas считается противоречием, а шум аудио подозрительным признаком.
Уникальны ли эти отпечатки?
Меньше, чем кажется. Устройства одной модели с той же системой и версией браузера часто имеют одинаковые хеши canvas и WebGL, поэтому iPhone так трудно различить. Отпечатки рендеринга полезнее всего в сочетании с другими сигналами и для обнаружения подделки, а не как отдельный идентификатор.
Частые вопросы
- Можно ли заблокировать отпечаток canvas?
- Да. Tor Browser, Firefox с resistFingerprinting и Brave защищают от него по-разному. Расширения тоже могут, но плохо сделанное расширение может сделать браузер заметнее, потому что подменяет функции так, что это можно обнаружить.
- Почему мой хеш canvas меняется?
- Обновление браузера или драйвера видеокарты, изменение масштабирования экрана или функция приватности, которая добавляет шум. Если он меняется при каждом обновлении страницы, добавляется шум.
- SpoofLens сохраняет мой хеш canvas?
- Нет. Он вычисляется в вашем браузере, один раз отправляется для сверки и сразу отбрасывается.
Читайте также
- Отпечаток браузера: что это такое и как он работает
- Как сайты обнаруживают ботов и автоматизированные браузеры
- Утечка WebRTC: что это такое и как проверить свой браузер
- Часовой пояс против IP: почему сайты замечают ваш VPN
- Как сайты распознают антидетект-браузеры
- User-Agent Client Hints: что пришло на смену строке User-Agent