1. O que são Client Hints em Impressão Digital de Navegador?
Client Hints (CH) são um mecanismo baseado em HTTP que permite que websites solicitem atributos específicos de dispositivo e navegador diretamente do cliente, complementando (ou substituindo) a análise tradicional da string do User-Agent.
Desde a depreciação gradual das strings completas do User-Agent no Chrome, Firefox e Edge, os Client Hints tornaram-se uma fonte primária de impressão digital, expondo pontos de dados como:
- Modelo e marca do dispositivo (
Sec-CH-UA-Model
,Sec-CH-UA-Platform
) - Versão e fornecedor do navegador (
Sec-CH-UA
,Sec-CH-UA-Full-Version-List
) - Dimensões da tela (
Sec-CH-Viewport-Width
,Sec-CH-Width
) - Idioma preferencial e codificação (
Sec-CH-Lang
,Sec-CH-Prefers-Reduced-Motion
) - Status do hardware (
Sec-CH-Save-Data
,Sec-CH-DPR
para proporção de pixel da tela)
Ao contrário do User-Agent, os Client Hints exigem permissão explícita do servidor (via cabeçalho Accept-CH
) antes que o navegador os envie — no entanto, muitos scripts invasivos à privacidade forçam sua entrega via JavaScript ou truques de iframe.
2. Como as Plataformas Detectam e Usam os Client Hints para Impressão Digital
Sistemas modernos de anti-bot e detecção de fraude investigam ativamente os Client Hints para construir impressões digitais de alta entropia, verificando anomalias como:
Inconsistências de Versão
- Strings
Sec-CH-UA
vs.User-Agent
incompatíveis - Combinações impossíveis de navegador/SO (por exemplo, Chrome 120 no Windows 7)
- Strings
Ataques de Tempo de Cabeçalho
- Detectando cabeçalhos atrasados ou ausentes (um sinal de middleware de falsificação)
- Comparando permissões
Accept-CH
entre sessões
Correlação Hardware/Software
Sec-CH-UA-Model
vs.navigator.hardwareConcurrency
Sec-CH-DPR
vs.window.devicePixelRatio
Extração Forçada de Client Hints
- Usando
<iframe>
oufetch()
comimportance: 'high'
para ignorar restrições de privacidade - Registrando hints padrão vs. substituídos para detectar ambientes VM/dockerizados
- Usando
Os Client Hints são particularmente perigosos para o anonimato porque contornam as ferramentas tradicionais de falsificação de User-Agent — exigindo profunda integração com o navegador para manipulá-los de forma convincente.
3. Como o FlashID Controla as Impressões Digitais dos Client Hints
O FlashID oferece aos usuários controle granular sobre os cabeçalhos dos Client Hints, garantindo que cada perfil de navegador: ✔️ Envia apenas os hints permitidos (correspondendo ao seu perfil de impressão digital) ✔️ Mantém a consistência entre APIs (por exemplo, JS vs. cabeçalhos HTTP) ✔️ Bloqueia a extração forçada de hints via mascaramento de permissão
Os principais recursos de falsificação incluem:
➠ 1. Whitelisting de Client Hints
- Selecione quais cabeçalhos
Sec-CH-*
são expostos por perfil - Simule a negociação legítima de hints com
Accept-CH
eCritical-CH
➠ 2. Geração Dinâmica de Cabeçalhos
- Gere automaticamente strings
Sec-CH-UA-*
correspondentes à versão do navegador, SO e tipo de dispositivo - Sincronize
Sec-CH-Viewport-Width
com as dimensões reais da janela (quando redimensionada)
➠ 3. Proteções Anti-Detecção
- Bloqueie a extração coercitiva de hints via injeção de JS/iframe
- Mimetize atrasos naturais no envio de cabeçalhos (~100-300ms) para evadir verificações de tempo
➠ 4. Alinhamento Hardware/Software
- Imponha consistência entre:
Sec-CH-DPR
↔devicePixelRatio
Sec-CH-UA-Model
↔navigator.userAgentData
Sec-CH-Width
↔screen.width
Ao substituir cirurgicamente os Client Hints na camada de rede, o FlashID derrota a impressão digital de próxima geração, permitindo o uso seguro de múltiplas contas em plataformas que dependem desses sinais para pontuação de fraude.
Você Também Pode Gostar