← Назад в блог

Что такое Canvas-отпечаток: как сайты узнают устройство по отрисовке

Главный вывод: Canvas-отпечаток рождается из реальной операции рисования, а результат определяют видеокарта, система, шрифты и движок браузера; по одному параметру личность не установить, но при перекрёстной проверке параметров он выдаёт настоящую основу окружения. В управлении держитесь двух правил: показания одного окружения должны быть стабильны, а разные окружения должны заметно различаться. Дальше по порядку: принцип, влияющие факторы, границы распознавания, проверка и два режима настройки в MostMate.

Открываете один и тот же сайт на двух устройствах, страница рисует одну и ту же картинку, а пиксели не совпадают. Это не сбой страницы: каждое устройство оставляет свой след на этапе рисования. Сайт собирает этот след и превращает его в значение, так и появляется Canvas-отпечаток, один из самых различимых параметров в браузерном фингерпринте. MostMate это антидетект-браузер, и Canvas как раз один из базовых параметров в его настройках фингерпринта; в статье разбираем весь путь параметра от генерации до настройки.

Как сайт рисует «подпись» устройства через Canvas

Canvas-отпечаток рождается из реальной операции рисования: сайт просит браузер отрисовать заданный фрагмент, считывает результат и превращает его в характерное значение. Для рисования используется Canvas-интерфейс браузера, та самая возможность 2D-холста, на которой держатся браузерные игры, графики и редакторы изображений; детали интерфейса описаны в документации Canvas API на MDN. Для пользователя всё проходит незаметно. По шагам это выглядит так:

  1. Рисование: скрипт страницы выводит на холст фиксированный фрагмент, чаще всего несколько строк текста с геометрическими фигурами и градиентами.
  2. Чтение: скрипт через интерфейсы вроде toDataURL() или getImageData() экспортирует холст в строку или массив пикселей.
  3. Сравнение: экспортированный результат превращается в хеш и сверяется с прошлыми записями этого окружения или с ожиданиями по другим сигналам.
Схема трёх шагов формирования Canvas-отпечатка

Почему два устройства не рисуют одинаковую картинку

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

  • GPU и драйвер. Одни и те же команды на разных видеокартах и версиях драйверов дают слегка разные пиксели, и это главный источник расхождений.
  • Операционная система и отрисовка текста. Windows, macOS и Linux по-разному рендерят текст и сглаживают края, поэтому одна и та же строка выходит с разной гладкостью краёв.
  • Шрифтовое окружение. Текст на холсте рисуется локальными шрифтами, так что в результат попадает весь установленный набор и его версии; логику проверки списка шрифтов мы разбирали в статье как проверяют шрифтовой отпечаток, источник у обоих тестов один.
  • Движок и версия браузера. Chromium, Firefox и WebKit отрисовывают по-своему, а крупные обновления версий приносят изменения в деталях.
Разница хешей одной команды рисования на разных устройствах

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

Насколько точно Canvas-отпечаток распознаёт устройство

Canvas-отпечаток относится к признакам устройства с высокой различимостью, но сам по себе личность не устанавливает. Сначала обозначим три границы.

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

Вторая: сайты не принимают решение только по Canvas: показания сверяются в перекрёстной проверке вместе с UA, экраном, шрифтами и языком, и в этом наборе Canvas работает как улика, которую не заявить словами и которую можно снять только на месте.

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

Три границы складываются в один вывод: Canvas не решает судьбу аккаунта, но если у целой партии окружений хеши совпадают полностью, на перекрёстной проверке они сами себя выдают.

Три шага, чтобы увидеть Canvas-отпечаток своего окружения

Для проверки Canvas ничего ставить не нужно: хватит одной страницы проверки и двух повторных замеров. Действуйте в таком порядке:

  1. Запишите текущие показания. Откройте в окружении страницу проверки Canvas на BrowserLeaks: она покажет хеш и превью картинки для текущего окружения. Зафиксируйте оба значения.
  2. Повторите замер в том же окружении. Закройте страницу и откройте заново или повторите тест через день-другой: хеш одного окружения должен остаться прежним. Если два замера расходятся, в показания вмешивается дополнительная обработка.
  3. Сравните окружения между собой. Запустите тот же тест во втором окружении: хеши должны заметно различаться. Чем больше разрыв, тем понятнее разделение между окружениями.

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

Страница проверки Canvas на BrowserLeaks

Как выбрать один из двух режимов Canvas в MostMate

В настройках фингерпринта MostMate у Canvas два режима: Real и Noise, по умолчанию стоит Real. Обзор продукта есть в статье что такое MostMate; в списке ручных настроек фингерпринта на официальном сайте Canvas стоит в одном ряду с аудио, WebGL и другими параметрами, всё настраивается в одной области при создании окружения. Для начала сравнение двух режимов:

АспектRealNoise
Источник показанийЖивая отрисовка на хост-машинеШум поверх реального результата отрисовки
Поведение при проверкеОтражает реальную цепочку рендеринга хостаОтходит от хоста, своё значение у окружения
Подходящие сценарииПерсона совпадает с регионом хост-системыПартии окружений, которым нужен разрыв
На что обратить вниманиеНа одной машине показания совпадаютАмплитуду шума держите в разумных пределах

Режим Real подходит там, где у хост-машины чистая база: английская Windows на вашем компьютере и окружение под США складываются удачно, показания совпадают с ручным открытием браузера, и следов сборки не остаётся. Ограничение столь же очевидно: если все окружения одной машины сидят на Real, Canvas-показания у всех одинаковые, и разницы между окружениями нет.

Режим Noise закрывает именно эту брешь: он добавляет шум к Canvas-показаниям окружения, отрывает результат от реальной отрисовки хоста и разводит окружения из партии по разным значениям. Условие одно: шум под контролем. Даже с шумом показания должны оставаться в нормальном диапазоне настоящего устройства, иначе сама эта «разница» становится заметной аномалией. Показания, которые меняются между двумя замерами одного окружения, тоже относятся к признакам аномалии; риски подробно разобраны в статье почему рандомизация фингерпринта опасна.

Canvas стоит сверять вместе с параметрами той же группы. Отрисовка холста не обходится без операционной системы, шрифтов и видеокарты, и эти параметры должны указывать на один профиль устройства: если выбран профиль macOS, аудио, WebGL-изображения и остальные параметры группы проверяются по разумным диапазонам macOS; взгляд только на Canvas легко пропускает рассогласование внутри группы. Логика режимов аудио разобрана в статье как настроить AudioContext-отпечаток, подход переносится напрямую.

После настройки проведите раунд проверки: подтвердите режим Canvas в настройках фингерпринта, и в панели предпросмотра справа поле Canvas покажет код вроде Noise[3LR450]. Этот код обозначает конфигурацию шума данного окружения, у каждого окружения он свой, и к хешу со страницы проверки он отношения не имеет, поэтому не сверяйте код с хешем. Реальные показания смотрите, открыв окружение и зайдя на страницу проверки, и сопоставляйте с ожиданиями; после каждой смены прокси или правки настроек фингерпринта повторяйте тест до ввода окружения в работу.

Область настроек фингерпринта в форме создания окружения MostMate

Частые вопросы

Canvas-отпечаток и браузерный отпечаток: это одно и то же?

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

Помогает ли отключение Canvas избежать распознавания?

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

Меняется ли Canvas-отпечаток при обновлениях браузера?

Да, но ритм совсем не такой, как у рандомизации. Изменения отрисовки в крупных обновлениях приходят ко всем пользователям одновременно, и платформы знают этот ритм. Для реального окружения сменить Canvas-значение несколько раз за год нормально, аномалией выглядит частая и бессистемная смена.

Может ли антидетект-браузер сделать Canvas разным в каждом окружении?

Да, и режим Noise создан именно для этого: он добавляет шум к Canvas-показаниям и разводит показания окружений из партии. Условие: амплитуда шума в разумных пределах, а показания остаются в нормальном диапазоне соответствующей системы.

Заключение

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

MOSTMATE

Безопасное управление аккаунтами — это просто

Начните с первого аккаунта и выстройте с MostMate более безопасную, умную и эффективную работу с несколькими аккаунтами.

  • Независимые профили. Согласованные цифровые идентичности.
  • ИИ-автоматизация · Состояние аккаунтов · Командная работа
Скачать MostMate