AudioContext fingerprinting ломается не расширением, а шумом, который выглядит как норма
Browser audio-стек отдаёт стабильные микродельты: rounding ошибок, частоты дискретизации, поведение dynamics compressor и квантизацию в OfflineAudioContext. Этого достаточно, чтобы связать сессию даже без cookies. Анализируем энтропию параметров: опасен не один канал, а их корреляция.
Что реально противодействует:
• рандомизация выходных сэмплов в пределах естественного шума;
• детерминированный jitter, зависящий от профиля, а не от запроса;
• выравнивание API-ответов между foreground и background;
• унификация sampleRate, channelCount и latency-метрик;
• отказ от точной эмуляции там, где она создаёт редкий паттерн 🎧
Слабая защита обычно палится по двум признакам: все значения становятся «слишком чистыми», либо шум меняется от вызова к вызову. Первый вариант даёт редкую сигнатуру, второй — высокий энтропийный хвост. Браузерное окружение передает больше данных, чем кажется, поэтому защита должна сохранять правдоподобную статистику, а не просто портить измерение.
Практика простая: не маскировать AudioContext точечно, а встроить его в общий профиль приватности — вместе с Canvas, WebGL и timing API. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
AudioContext fingerprinting ломается не расширением, а шумом, который выглядит как норма
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.