Browser Fingerprinting: Canvas, WebGL, Audio

Продвинутый browser fingerprinting использует особенности рендеринга и обработки для уникальной идентификации.

Canvas fingerprinting

Рендер текста и графики в canvas → извлечение pixel data → хеш. Результат отличается между устройствами из-за: GPU, драйверов, шрифтов, ОС, anti-aliasing. Уникальность: 85–95%. Стабильность: годы (до смены железа или ОС).

WebGL fingerprinting

WebGL renderer string: точная модель GPU. WEBGL_debug_renderer_info: полное описание. Rendering test: сложная сцена → hash. Точность идентификации GPU: 99%+. Не блокируется отключением JS — работает через WebGL API.

Audio fingerprinting

AudioContext.createOscillator + analyser. Обработка звука отличается на разных устройствах из-за: driver, оборудования, ОС. Uniqueness: 60–80% как одиночный сигнал, но добавляет entropy к комбинированному fingerprint. Silent processing — юзер не слышит.

TCP/IP fingerprinting

TCP window size, MSS, TTL, IP flags. Отличается между ОС и версиями. Не требует JS. p0f для passive fingerprinting. Комбинация с browser layer даёт 99%+ uniqueness. Используется в security appliances и WAF.