Canvas-шум: какие искажения реально ломают стабильный отпечаток
Canvas API часто используют как точку корреляции: рендер один и тот же, а полученный хэш гуляет между средами. Анализируем энтропию параметров: важен не факт подмены, а характер шума, который остаётся статистически правдоподобным.
• Аддитивный шум меняет пиксели по маске. Он дешёвый, но легко ловится по распределению отклонений: слишком ровные сдвиги, повторяемые шаблоны, низкая межкадровая вариативность.
• Глобальная подмена цвета или альфы даёт высокий охват, но быстро ломает консистентность с соседними API — браузерное окружение передает больше данных, чем кажется.
• Псевдослучайные смещения по координатам выглядят живее, если источник зерна завязан на сессию и не повторяет себя в одинаковых ветках рендера.
Сильнее всего выделяются методы, которые вмешиваются не в результат, а в цепочку отрисовки: разные шрифты, субпиксельное сглаживание, порядок операций. Разбираем сигнатуру на уровне syscall — и видно, что «шум» без контроля детерминизма выдаёт себя быстрее, чем нативный рендер.
Лучший критерий — не маскировать Canvas отдельно, а удерживать согласованность с WebGL, Audio и поведением шрифтов: скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
Canvas-шум: какие искажения реально ломают стабильный отпечаток
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.