1. Что такое Client Hints в идентификации браузеров?

Client Hints (CH) — это HTTP-механизм, позволяющий сайтам запрашивать атрибуты устройства и браузера напрямую у клиента, дополняя (или заменяя) традиционный парсинг User-Agent.

С постепенным отказом от полных строк User-Agent в Chrome, Firefox и Edge, Client Hints стали основным источником отпечатков, раскрывая:

  • Модель и бренд устройства (Sec-CH-UA-Model, Sec-CH-UA-Platform)
  • Версию и вендора браузера (Sec-CH-UA, Sec-CH-UA-Full-Version-List)
  • Размеры экрана (Sec-CH-Viewport-Width, Sec-CH-Width)
  • Предпочитаемый язык и кодировку (Sec-CH-Lang, Sec-CH-Prefers-Reduced-Motion)
  • Состояние железа (Sec-CH-Save-Data, Sec-CH-DPR для плотности пикселей)

В отличие от User-Agent, Client Hints требуют явного разрешения сервера (через заголовок Accept-CH), но многие трекеры принудительно вытягивают их через JavaScript или iframe.


2. Как платформы используют Client Hints для идентификации

Современные анти-бот системы активно анализируют Client Hints, выявляя аномалии:

  1. Несоответствия версий
  • Разница между Sec-CH-UA и User-Agent
  • Невозможные комбинации (например, Chrome 120 на Windows 7)
  1. Атаки по времени
  • Задержка или отсутствие заголовков (признак подмены)
  • Сравнение прав Accept-CH между сеансами
  1. Корреляция железа и ПО
  • Sec-CH-UA-Model vs. navigator.hardwareConcurrency
  • Sec-CH-DPR vs. window.devicePixelRatio
  1. Принудительное извлечение
  • Использование <iframe> или fetch() с importance: 'high' для обхода ограничений
  • Фиксация дефолтных и переопределённых значений для детекта VM/Docker.

Client Hints опасны для анонимности, так как обходят традиционные средства подмены User-Agent, требуя глубокой интеграции в браузер.


3. Как FlashID контролирует отпечатки Client Hints

FlashID предоставляет точечный контроль над заголовками Client Hints, гарантируя для каждого профиля:
✔️ Отправку только разрешённых данных (соответствующих профилю)
✔️ Согласованность между API (например, JS и HTTP-заголовки)
✔️ Блокировку принудительного извлечения через маскировку прав

Ключевые функции:

1. Белый список Client Hints

  • Выбор заголовков Sec-CH-* для каждого профиля
  • Эмуляция легального согласования через Accept-CH и Critical-CH

2. Динамическая генерация заголовков

  • Автосоздание строк Sec-CH-UA-* в соответствии с версией браузера, ОС и типом устройства
  • Синхронизация Sec-CH-Viewport-Width с реальными размерами окна (при ресайзе)

3. Защита от детектирования

  • Блокировка принудительного извлечения через JS/iframe
  • Имитация естественных задержек (~100-300 мс) отправки заголовков

4. Согласование железа и ПО

  • Поддержка консистентности между:
    • Sec-CH-DPRdevicePixelRatio
    • Sec-CH-UA-Modelnavigator.userAgentData
    • Sec-CH-Widthscreen.width

Переопределяя Client Hints на сетевом уровне, FlashID нейтрализует следующее поколение идентификации, позволяя безопасно использовать мультиаккаунты на платформах, полагающихся на эти сигналы.


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

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

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

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