Canvas Fingerprint: 10 лет мы смотрели не туда? CPU vs GPU и детект антидетектов
Вы уверены, что знаете, как работает Canvas Fingerprint?
Большинство пользователей и даже разработчиков антидетект-браузеров смотрят на Canvas одинаково: получили хеш, изменили его, проверили на BrowserLeaks — отпечаток другой, значит всё работает.
Но реальный Canvas значительно сложнее.
Вы узнаете:
— чем отличаются CPU Canvas и GPU Canvas;
— почему изменение видеокарты может менять один отпечаток, но не влиять на другой;
— почему обычные Canvas-чекеры показывают лишь часть картины;
— как аппаратное ускорение и Chromium/Skia участвуют в рендеринге Canvas;
— почему добавление шума в Canvas само может становиться признаком подмены;
— какие проблемы возникают у антидетект-браузеров при работе с разными типами Canvas;
— как сравнение CPU и GPU Canvas может использоваться при анализе браузерного окружения, ОС и оборудования;
— почему успешное прохождение публичного fingerprint-чекера ещё не означает прохождение серьёзной антифрод-системы.
Собственно, идея в том, что Canvas — это не просто картинка, а результат работы и CPU, и GPU, и от них отпечаток реально зависит. Поэтому просто менять хеш — поверхностно, надо смотреть глубже, как именно рендерится и кто за это отвечает. Поэтому и антидетекты, которые ориентируются только на один вид Canvas, могут легко просчитываться.
Вот это поворот! Всё было так просто в голове — поменял хеш и в дамки. А тут оказывается, что Canvas — это как двухголовый дракон с CPU и GPU, и если не разобраться, кто за что отвечает, можно и фейл словить. Вся эта тема с антидетектами выглядит сейчас как детский лепет по сравнению с реальностью. Кто бы подумал, что нужно не просто менять картинку, а понимать, как она вообще появилась!