1. Що таке AudioContext у відбитках браузера

AudioContext є частиною Web Audio API, що пропонує граф обробки сигналів для керування джерелами аудіо, фільтрами та призначеннями всередині браузера. Хоча він не такий візуальний чи часто згадуваний, як відбитки Canvas або WebGL, він може бути прихованим, але сильним ідентифікатором на програмному рівні.

Системи відбитків експлуатують конвеєри відтворення аудіо, такі як:

  • Кількість каналів і можливості пристрою виведення аудіо
  • Розбіжності в частоті дискретизації та точності під час відтворення
  • Поведінка затримки обробки аудіо
  • Чи підтримується або блокується ScriptProcessorNode чи AudioWorklet
  • Властивості налагодження, такі як audioContext.listener, currentTime та baseLatency

З мінімальною взаємодією з користувачем або запитами на дозвіл, відбиток AudioContext важко відключити і може бути синтезований непомітно, що робить його популярною мішенню в пасивних системах розпізнавання пристроїв.


2. Як платформи виявляють відбитки AudioContext

Найбільш просунуті платформи (особливо ті, що орієнтовані на водяні знаки аудіо, згортку аудіо або характеристики DSP) можуть використовувати AudioContext таким чином, щоб вимірювати внутрішні варіації браузера та аудіо-движка.

Приклад фрагмента виявлення:

const audioCtx = new AudioContext();
const oscillator = audioCtx.createOscillator();
const listener = audioCtx.listener;
const dest = audioCtx.destination;

console.log(listener.forwardX.value, listener.forwardY.value, listener.forwardZ.value);
console.log({
  sampleRate: audioCtx.sampleRate,
  baseLatency: audioCtx.baseLatency,
  state: audioCtx.state,
  outputChannelCount: dest.maxChannelCount,
});

Що може бути відбитком:

Властивість аудіоВикористання у відстеженні
Частота дискретизаціїМоже виявляти налаштування за замовчуванням ОС/macOS/Windows
Підтримка кількості каналівВизначення можливостей пристрою
Простір Audio ListenerПриховані стерео/3D орієнтаційні патерни
Сигнатури ядра DSPОсобливо в мережах згортки
Планування Web AudioПодії, такі як oncomplete + затримки, є показовими

Деякі платформи навіть відтворюють синтетичні форми хвилі, обчислюють швидкі перетворення Фур’є (FFT) за допомогою JavaScript або кодують тонкі аудіо артефакти (наприклад, розбіжності відсікання), щоб розрізняти реальні та емульовані браузери.


3. Як FlashID маскує відбитки AudioContext

Щоб запобігти випадковому відбитку браузерів за допомогою звуку, FlashID забезпечує повну віртуалізацію та спуфінг поведінки Web Audio API, включаючи:

  1. Віртуалізація AudioContext Listener

    • Спуфінг значень 3D орієнтації, таких як forwardX, positionX, velocity для PannerNode та AudioListener
  2. Маскування частоти дискретизації та кількості каналів

    • Маскування audioContext.sampleRate за допомогою конфігурованих реалістичних значень для настільних/мобільних пристроїв (44100, 48000 тощо)
    • Спуфінг максимальної кількості вихідних каналів (destination.maxChannelCount) незалежно від справжніх обмежень пристрою
  3. Симуляція шляху DSP

    • Кодування етнічно змішаного буферного виходу замість використання фактичних сигнальних графів
    • Запобігання системам використовувати ScriptNode або комунікацію Worklet для виведення унікальності
  4. Контроль стану та затримки

    • Фіксація audioContext.state до очікуваних значень часу виконання (running/closed/suspended)
    • Маскування baseLatency для відображення стандартної поведінки за замовчуванням настільного або мобільного пристрою
  5. Послідовність контексту протягом сесії

    • Аудіо відбитки прив’язані до ідентичності кожного профілю
    • Запобігає дрейфу між послідовними сесіями відтворення, забезпечуючи однакові базові значення після багаторазових скидань двигуна

FlashID імітує це за допомогою внутрішнього проксі AudioBus та налаштовує підроблені вузли та ланцюжки маршрутизації, які підтримують правдоподібні відповіді Web Audio API, не розкриваючи реальні характеристики DSP пристрою.

Це гарантує, що платформи не можуть використовувати AudioContext окремо або в поєднанні з Canvas/WebGL для реконструкції різноманітності пристроїв або позначення підроблених середовищ — при цьому надаючи той самий інтерфейс, який очікував би ваш код.


Вам також може сподобатися

Run multiple accounts without bans and blocks
Спробуйте безкоштовно

Захист безпеки кількох облікових записів, починаючи з FlashID

Завдяки нашій технології відбитків пальців, залишайтеся непоміченими.

Захист безпеки кількох облікових записів, починаючи з FlashID