Canvas-отпечаток — одна из самых распространённых технологий браузерного fingerprinting. Сайты используют её для распознавания устройств и отслеживания пользователей. В статье объясняется принцип работы Canvas-отпечатка, его отличие от других отпечатков, способы проверки и меры защиты приватности.
Каждый клик во время просмотра сайтов, каждое движение мыши, модель устройства и версия операционной системы могут быть объединены сайтом в уникальный идентификатор — браузерный отпечаток. Среди множества технологий fingerprinting Canvas-отпечаток является одной из самых распространённых и стабильных. Пользователь его не видит, однако сайты давно применяют его для распознавания посетителей.
Что такое Canvas?
Canvas — это графический элемент HTML5, по сути пустой холст внутри веб-страницы. С помощью JavaScript разработчики могут рисовать на нём фигуры, текст и изображения, создавать графики, игры, обработку изображений и другие визуальные эффекты. Canvas используется во многих интерактивных элементах современных сайтов.
Как формируется Canvas-отпечаток?
Даже если разным устройствам дать команду «нарисовать одну и ту же картинку», результат не будет полностью одинаковым. Причина в том, что отрисовка зависит от аппаратного и программного обеспечения:
- Видеокарта и драйверы: Графику обрабатывает GPU, а разные видеокарты и драйверы немного по-разному выполняют сглаживание, градиенты и цветопередачу;
- Операционная система: Windows, macOS и Linux отличаются механизмами отображения шрифтов и реализацией графических интерфейсов;
- Браузер и движок: Разные браузеры по-разному реализуют Canvas API;
- Монитор и настройки цвета: Цветовой охват, гамма и другие параметры также могут влиять на итоговое изображение.
Обычно сайт с помощью скрипта заставляет браузер посетителя нарисовать на Canvas один и тот же контент — как правило, сочетание графики и текста. Затем содержимое холста преобразуется в данные изображения и вычисляется hash. Поскольку результат рендеринга отличается между устройствами, этот hash становится достаточно стабильным «отпечатком устройства».

Различия могут быть очень небольшими: одна и та же картинка на двух устройствах может отличаться всего несколькими пикселями на сглаженных краях, но вычисленные hash-значения при этом будут совершенно разными — этого достаточно, чтобы различать устройства.
Для чего используют Canvas-отпечаток?
- Идентификация и отслеживание: Сайт может запомнить устройство по Canvas-отпечатку даже без входа в аккаунт и связывать действия пользователя между страницами, а иногда и между разными сайтами;
- Антифрод и контроль рисков: Платформы электронной коммерции, платежные сервисы и соцсети могут использовать Canvas-отпечаток как один из сигналов риска для обнаружения необычного поведения, например массовых регистраций или совместного использования аккаунтов;
- Таргетирование рекламы: Некоторые рекламные сети используют его для построения поведенческих профилей между сайтами.
Сам по себе Canvas-отпечаток обычно не позволяет определить, «кто именно вы». Это лишь один из множества сигналов. В сочетании с IP-адресом, User-Agent, часовым поясом, шрифтами и другими данными способность к распознаванию значительно усиливается.
Отличия Canvas-, WebGL- и шрифтового отпечатков
Все три относятся к отпечаткам, основанным на различиях в отрисовке на устройствах, однако источники у них разные:
- Canvas-отпечаток: Основан на различиях результатов 2D-рендеринга Canvas;
- WebGL-отпечаток: Основан на 3D-рендеринге. Сайт может считывать параметры видеокарты, например производителя WebGL и строку renderer, чтобы распознавать устройство;
- Шрифтовой отпечаток: Определяет список установленных в системе шрифтов, чтобы сделать вывод об операционной системе и устройстве.
Эти сигналы часто используются совместно и формируют «характеристики среды устройства» в системах риск-контроля сайтов.
Как проверить свой Canvas-отпечаток?
Для проверки можно использовать публичные сервисы BrowserScan, PixelScan и другие. Аналогичные инструменты легко найти по запросу «browser fingerprint test». Обычно они показывают сведения о Canvas, WebGL, шрифтах, часовом поясе и других параметрах. Если результат сообщает о наличии Canvas-отпечатка или показывает стабильный hash, это означает, что устройство может отмечаться таким способом. Результаты сторонних сервисов следует воспринимать только как справочные: они не являются официальным решением какой-либо платформы.
Как обычному пользователю защититься?
Полностью устранить Canvas-отпечаток сложно, поскольку Canvas является обычной функцией браузера. Однако можно уменьшить степень отслеживания:
- Использовать браузер с акцентом на приватность или включить режим приватности/строгой защиты от отслеживания;
- Установить расширения против fingerprinting, которые блокируют чтение Canvas или добавляют шум;
- Регулярно очищать Cookie и данные сайтов, чтобы уменьшить долгосрочную связь между отпечатком и активностью аккаунта;
- Поддерживать систему и браузер в актуальном состоянии, поскольку новые версии имеют больше встроенных ограничений против fingerprint-трекинга.
Что делать при управлении несколькими бизнес-средами?
При трансграничных операциях и управлении несколькими аккаунтами задача выглядит иначе. Команде нужно не «скрывать себя», а обеспечивать каждому бизнес-аккаунту стабильную и контролируемую среду и снижать риск ошибочных срабатываний из-за взаимного влияния характеристик устройств.
PurpleMark позволяет при создании браузерной среды настраивать параметры Canvas, WebGL, шрифтов и других отпечатков, чтобы разные среды отображали разные характеристики устройств, а внутри каждой среды параметры оставались постоянными. Благодаря этому каждый магазин или аккаунт в долгосрочной работе сохраняет стабильный «профиль устройства», а не меняется при каждом запуске. Важно подчеркнуть: параметры отпечатка являются возможностью настройки среды. Реальное соблюдение правил бизнеса по-прежнему зависит от выполнения политик используемых платформ — инструменты управления средой нельзя и не следует использовать для выдачи себя за другое лицо или обхода правил платформ.
Часто задаваемые вопросы
Может ли Canvas-отпечаток однозначно идентифицировать человека? Сам по себе — редко. Обычно это один из комбинированных сигналов; вместе с IP-адресом, системной информацией и поведенческими данными его эффективность значительно выше.
Поможет ли отключение JavaScript от Canvas-fingerprinting? Это может заблокировать сбор данных на большинстве сайтов, но многие сайты перестанут работать корректно. Браузеры, ориентированные на приватность, и расширения против fingerprinting обычно являются более сбалансированным решением.
Canvas-отпечаток — это вирус? Нет. Это обычная работа скриптов сайта, а не вредоносная программа. Однако технология связана с отслеживанием пользователей и вопросами приватности, поэтому вызывает споры.
Если сервис проверки fingerprint показывает необычный результат, значит ли это, что с устройством что-то не так? Не обязательно. Разные инструменты используют разные алгоритмы и базы сравнения, поэтому их результаты носят справочный характер. Важнее фактическое состояние вашего аккаунта на используемой платформе.


