1. Що таке API у відбитках браузера
У відбитках браузера, “API” відноситься до сукупності інтерфейсів JavaScript та вихідних даних методів, які можуть бути унікально прив’язані до різних браузерів, версій, розширень, обмежень або навіть поведінки, специфічної для системи.
Приклади включають:
navigator.mediaDevices
navigator.getBattery()
window.RTCPeerConnection
CanvasRenderingContext2D
WebGLRenderingContext
AudioContext
Ці API розкривають:
- Підтримувані можливості
- Доступні функції
- Чи вони увімкнені або змінені
- Детерміновані, але чутливі значення, що повертаються — що робить їх придатними для ідентифікації браузера
Стратегії збору відбитків на основі API часто долають розрив між виявленням апаратного забезпечення та програмним середовищем, зокрема на сайтах-утилітах, таких як fingerprintjs.com, великих рекламних платформах або інструментах проти скрапінгу, що використовують інтроспекцію JS API для виявлення автоматизації та підробки.
2. Як платформи виявляють відбитки API
Кожен API розкриває не лише поверхневі набори функцій, але й внутрішні результати виконання або трасування toString()
. Деякі з найпопулярніших методів, що використовуються для виявлення відбитків API, включають:
- Виявлення перевантаження функцій: Справжні браузери повертають нативні функції, такі як
CanvasRenderingContext2D.prototype.fillText.toString()
, як'[native code]'
. Інструменти, що виявляють перевантажені методи, можуть позначати підроблені або замасковані API. - Стереотипізація DOM API: Відповіді API, такі як
navigator.userAgent
абоwindow.chrome
, можуть перевірятися на відповідність очікуваним шаблонам — навіть між платформами або контекстами. - Картування доступності API: Платформи перевіряють, які API доступні, не є нульовими або повертають кешовані/системно-специфічні дані, щоб побудувати “нормативну модель поведінки браузера”.
- Віддзеркалення системної поведінки:
AudioContext.sampleRate
може відображати реальні можливості аудіовиходу.window.devicePixelRatio
може перехресно перевірятися з підробкою, пов’язаною з відображенням/вікном перегляду.
- Підписи екземплярів API: Кожен екземпляр API (наприклад,
new AudioContext()
) може генерувати тонку випадковість або унікально структуровані контексти, які використовуються для відбитків.
Веб-сайти можуть створювати високоефективні моделі відбитків, комбінуючи результати численних викликів API для підвищення впевненості в ідентифікації користувача, особливо в таких сценаріях, як програмна реклама, KYC-верифікація та безпека SaaS.
3. Як FlashID маскує відбитки API
FlashID втручається на поверхневому рівні JavaScript API, дозволяючи підробляти не лише значення, але й усе семантичне дерево поведінки API, що розкривається браузером.
Маскування API від FlashID включає:
- Імітація нативного коду:
- Він замінює перевантажені функції, такі як
fillText
абоgetCurrentPosition
, мостами, які повертають'function fillText() { [native code] }'
, обманюючи багато базових систем виявлення.
- Він замінює перевантажені функції, такі як
- Вибірковий контроль доступу до API:
- FlashID дозволяє налаштовувати для кожного профілю, які API повинні виглядати як підтримувані, обмежені, невдалі або замасковані імітованою відповіддю.
- Узгодженість API на рівні екземпляра:
- Кожен API — навіть при відновленні сесії — зберігає поведінку, щоб забезпечити відтворюваність між профілями.
- Впровадження власного стека та підробка ToString:
- Походження
toStringTag
,Symbol.toStringTag
таtarget
перезаписуються для підтримки цілісності.
- Походження
- Узгодженість подій та імітація колбеків:
- FlashID забезпечує, щоб асинхронні та подієво-орієнтовані шаблони API виглядали правдоподібно, а не як скрипт.
- Розбіжність API між профілями:
- Кожен профіль поводиться по-різному, навіть якщо працює на одній машині. Це забезпечує різноманітність API, що є критично важливим для безпеки кількох облікових записів.
- Рівень перехоплення для сучасних API:
- Підтримує перехоплення та маскування поточних API, таких як
MediaCapabilities
,DeviceInfo
та інших.
- Підтримує перехоплення та маскування поточних API, таких як
FlashID не просто підробляє окремі значення — він створює цілком правдоподібні моделі ідентичності браузера для кожної активної сесії, допомагаючи користувачам залишатися функціональними та невиявними на платформах, які застосовують кореляцію відбитків API.
Вам також може сподобатися