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.