Canvas-шум: почему «рандом» ломает отпечаток быстрее, чем его маскирует
Браузерное окружение передает больше данных, чем кажется. Canvas API — один из самых чувствительных каналов: любая подмена оставляет след в распределении пикселей, а не только в итоговой картинке.
Есть три базовых подхода к шуму:
— Пер-пиксельный: изменяет отдельные точки. Даёт высокий разброс, но часто создаёт «зерно», которое легко отличить от естественного рендера.
— Блочный: искажает участки 2D-поля. Менее заметен визуально, но его корреляция по блокам хорошо ловится статистикой.
— Стабилизированный: шум зависит от ключа, устройства и сессии. Это снижает фликер между запросами и делает отпечаток консистентным.
Анализируем энтропию параметров. Слабое место не в самом шуме, а в его повторяемости: если один и тот же браузер выдаёт разные Canvas-хэши в соседних вызовах, детектирование упрощается. Если же шум слишком стабилен, он начинает выглядеть как искусственная сигнатура.
Рабочая схема обычно строится не на максимальной случайности, а на контролируемом смещении: минимальная амплитуда, согласованная с контекстом рендера, и отсутствие резких артефактов на границах объектов. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
Canvas-шум: почему «рандом» ломает отпечаток быстрее, чем его маскирует
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.