1. Что такое API в создании цифровых отпечатков браузера

В создании цифровых отпечатков браузера “API” означает набор интерфейсов JavaScript и результатов методов, которые могут быть уникально привязаны к разным браузерам, версиям, расширениям, ограничениям или даже особенностям работы операционной системы.

Примеры включают:

  • navigator.mediaDevices
  • navigator.getBattery()
  • window.RTCPeerConnection
  • CanvasRenderingContext2D
  • WebGLRenderingContext
  • AudioContext

Эти API раскрывают:

  • Поддерживаемые возможности
  • Доступные функции
  • Их статус (включены или изменены)
  • Детерминированные, но чувствительные возвращаемые значения — что делает их уязвимыми для идентификации браузера

Стратегии создания цифровых отпечатков на основе API часто заполняют пробел между обнаружением оборудования и программным окружением, особенно на таких сайтах, как fingerprintjs.com, крупных рекламных платформах или инструментах защиты от парсинга, использующих интроспекцию JS API для обнаружения автоматизации и подмены.


2. Как платформы обнаруживают отпечатки API

Каждый API раскрывает не только базовые наборы функций, но и результаты внутреннего выполнения или следы toString(). Некоторые из самых популярных методов обнаружения отпечатков API включают:

  1. Обнаружение переопределения функций: Нативные функции в реальных браузерах, такие как CanvasRenderingContext2D.prototype.fillText.toString(), возвращают '[native code]'. Инструменты, обнаруживающие переопределенные методы, могут помечать поддельные или замаскированные API.
  2. Стереотипизация DOM API: Ответы API, такие как navigator.userAgent или window.chrome, могут проверяться на соответствие ожидаемым паттернам — даже на разных платформах или в разных контекстах.
  3. Картирование доступности API: Платформы проверяют, какие API доступны, не являются null или возвращают кешированные/системные данные, чтобы построить «модель нормативного поведения браузера».
  4. Отражение поведения системы:
  • AudioContext.sampleRate может отражать реальные возможности аудиовыхода.
  • window.devicePixelRatio может проверяться на соответствие с фальсификацией, связанной с дисплеем или областью просмотра.
  1. Сигнатуры экземпляров API: Каждый экземпляр API (например, new AudioContext()) может генерировать небольшую случайность или уникально структурированные контексты, которые используются для создания отпечатков.

Веб-сайты могут создавать высокоэффективные модели отпечатков, комбинируя результаты множественных вызовов API, чтобы усилить уверенность в идентификации пользователя, особенно в сценариях программатической рекламы, верификации KYC и безопасности SaaS.


3. Как FlashID маскирует отпечатки API

FlashID вмешивается на уровне поверхности API JavaScript, позволяя не только подменять значения, но и весь семантический дерево поведения API, раскрываемого браузером.

Маскировка API в FlashID включает:

  1. Симуляция нативного кода:
  • Он заменяет переопределенные функции, такие как fillText или getCurrentPosition, мостами, возвращающими 'function fillText() { [native code] }', обманывая многие базовые системы обнаружения.
  1. Выборочный контроль доступа к API:
  • FlashID позволяет настраивать для каждого профиля, какие API должны выглядеть поддерживаемыми, ограниченными, вызывающими ошибку или замаскированными с симулированным ответом.
  1. Согласованность API на уровне экземпляров:
  • Каждый API — даже при восстановлении сессии — сохраняет поведение, чтобы обеспечить воспроизводимость между профилями.
  1. Подмена стека и ToString:
  • toStringTag, Symbol.toStringTag и источники target перезаписываются для поддержания согласованности.
  1. Согласованность событий и симуляция колбэков:
  • FlashID гарантирует, что асинхронные и событийные шаблоны API выглядят правдоподобно, а не скриптово.
  1. Расхождение API между профилями:
  • Каждый профиль ведет себя по-разному, даже если работает на одной машине. Это обеспечивает разнообразие API, что критически важно для безопасности мультиаккаунтинга.
  1. Слой перехватчика для современных API:
  • Поддерживает перехват и маскировку новых API, таких как MediaCapabilities, DeviceInfo и других.

FlashID не просто подменяет отдельные значения — он создает полностью правдоподобные модели идентичности браузера для каждой активной сессии, помогая пользователям оставаться функциональными и необнаруживаемыми на платформах, применяющих корреляцию отпечатков API.


Рекомендуемое Чтение

Защита безопасности нескольких аккаунтов, начиная с FlashID

С помощью нашей технологии отпечатков пальцев оставайтесь незаметными.

Защита безопасности нескольких аккаунтов, начиная с FlashID