← Voltar ao blog

O que é o fingerprint WebGL? Como as informações da placa de vídeo se tornam parte do fingerprint do navegador

Os sites acessam as informações da placa de vídeo por dois caminhos: perguntando parâmetros e olhando imagens. Ao abrir uma página de detecção de fingerprint, muita gente se surpreende ao ver o campo WebGL Renderer exibindo o modelo da própria placa e pensa: "Como o site sabe qual placa eu tenho?" O que ele lê não é o número de série do hardware, mas as características do ambiente gráfico expostas pelo navegador. Parte dessas características são parâmetros que a interface informa diretamente; a outra parte são resultados lidos depois que a placa desenha uma imagem. Cada item isolado não identifica ninguém, mas combinados formam peças de um quebra-cabeça com bom poder de distinção.

WebGL é a interface gráfica fornecida pelo navegador. Os modelos 3D, mapas e gráficos que você vê nas páginas contam com ela para acionar a placa de vídeo na renderização. A mesma interface também entrega uma parte do ambiente gráfico. O MostMate é um navegador antidetecção que prepara um ambiente de navegador independente para cada conta. As informações da placa e os parâmetros gráficos fazem parte dos sinais de ambiente que ele gerencia.

Dois tipos de informação: parâmetros que se perguntam, imagens que se desenham

As informações do fingerprint WebGL vêm de duas fontes, com métodos de coleta bem diferentes. A primeira é perguntando: a página consulta a interface e recebe respostas como fabricante da GPU, modelo do renderizador e versões suportadas. A segunda é desenhando: a página pede que a placa renderize um conteúdo fixo e depois lê o resultado desenhado. A saída de cada dispositivo apresenta diferenças sutis. As duas fontes juntas formam o retrato do ambiente gráfico aos olhos do site.

Diagrama do mecanismo de coleta em dois canais do fingerprint WebGL

Primeiro, a parte perguntada. Os campos da página de teste ficam assim:

CampoConteúdoExemplo comum
VendorFabricante da GPUGoogle Inc. (NVIDIA)
RendererModelo do renderizadorANGLE (NVIDIA, GeForce RTX 3060)
WebGL VersionVersão da interfaceWebGL 2.0
ExtensionsLista de extensõesum conjunto de nomes de extensão

Há alguns detalhes nessa lista que merecem atenção. No campo Vendor, muitos navegadores exibem uniformemente Google Inc., e o fabricante real fica escondido entre parênteses. O valor de Renderer varia conforme a implementação de cada navegador: duas máquinas com placa NVIDIA podem receber strings em formatos diferentes. As diferenças na lista de extensões são ainda mais evidentes. Quais extensões estão presentes e em que ordem também fornecem informações adicionais.

A porta de entrada para a leitura desses parâmetros é uma extensão chamada WEBGL_debug_renderer_info. Ela expõe duas constantes: a string não mascarada do fabricante e a string do renderizador. Segundo a documentação do MDN, essa extensão foi criada para depuração e muda conforme as configurações de privacidade do navegador. O Firefox, com o interruptor resistFingerprinting ativado, a desativa por completo. Em outras palavras, a mesma placa pode reportar conteúdos diferentes em navegadores e configurações de privacidade distintos. Fique atento a essa variável na hora de testar.

Por que a placa de vídeo se torna uma característica do ambiente

O poder de distinção dos parâmetros vem da combinação, não de um campo isolado. O mercado de GPUs é altamente concentrado. NVIDIA, AMD, Apple e Intel juntas cobrem a grande maioria dos dispositivos, e o campo Renderer sozinho não identifica ninguém. Mas, quando somado a outros sinais, o poder de distinção pode aumentar. Por exemplo, em um dispositivo Windows com o Chrome, o ambiente gráfico exposto pelo WebGL normalmente guarda relação com a configuração correspondente de sistema e navegador; se as informações do navegador indicam Windows, mas o ambiente gráfico apresenta características típicas de dispositivos macOS, vale inspecionar mais a fundo. Se outros parâmetros, como o fuso horário, também divergirem do ambiente esperado, a configuração como um todo pode emitir sinais contraditórios.

Diagrama comparativo entre combinações coerentes e contraditórias de parâmetros gráficos

O que importa não é alterar cada parâmetro aleatoriamente, e sim verificar se os sinais do ambiente se harmonizam. Mudar um parâmetro isolado ao acaso não necessariamente torna o ambiente mais coerente. Sobre os problemas que a randomização de fingerprints pode trazer, veja por que a randomização de fingerprint não é segura.

Quanto à parte desenhada: fazer a placa renderizar uma imagem fixa e ler a saída segue a mesma lógica do fingerprint de Canvas; o artigo sobre o fingerprint de Canvas explica o mecanismo das diferenças na renderização 2D. O WebGL percorre o pipeline 3D, e o processo de renderização passa pelo driver da placa e pelas bibliotecas gráficas de baixo nível. GPUs, versões de driver e implementações de navegador diferentes podem fazer a saída divergir por alguns pixels. Essas diferenças são invisíveis a olho nu, mas os scripts conseguem lê-las com precisão.

Duas ressalvas precisam ficar claras. Primeira: o poder de distinção das diferenças de imagem não é tão exagerado quanto se diz. Entre dispositivos com a mesma placa e a mesma versão de driver, pode ser que nenhuma diferença seja detectada. Segunda: a imagem e os parâmetros são dois métodos de coleta distintos, e os resultados dos testes devem ser interpretados separadamente.

Qual a diferença entre WebGL, Canvas e WebGPU

Três nomes andam juntos, mas observam coisas diferentes. Resumo:

ParâmetroO que observaComo coleta
CanvasResultado da renderização 2Ddesenha e lê diferenças
WebGLParâmetros gráficos e imagem 3Dpergunta e desenha
WebGPUSinais da nova interface gráficapergunta e testa cálculo
AudioContextSaída do processamento de áudioprocessa e lê o resultado

A relação entre WebGPU e WebGL se explica em uma frase. O WebGPU é a próxima geração de interface gráfica que os navegadores vêm promovendo, com mais recursos e um leque maior de parâmetros; o artigo sobre o fingerprint de WebGPU detalha quais características de dispositivo ele expõe. O WebGL, por sua vez, é a interface em atividade com a maior cobertura atual, suportado por praticamente todos os navegadores. Os dois coexistem por muito tempo, aparecem juntos nas páginas de teste e merecem atenção nos dois casos.

Como verificar o seu fingerprint WebGL

O teste é anotar e comparar, não olhar e fechar. São três passos:

  1. Abra uma página de verificação de IP acessada pelo ambiente ou uma ferramenta como o BrowserLeaks e localize o bloco WebGL. Anote quatro itens: Vendor, Renderer, WebGL Version e o número de extensões.
  2. Depois de um intervalo, repita o teste no mesmo ambiente e compare os dois resultados. Se os parâmetros passarem da placa real para uma renderização por software como o SwiftShader, ou o número de extensões mudar de forma expressiva, o ambiente sofreu alteração.
  3. Analise o resultado do WebGL dentro da configuração completa do ambiente. Se o WebGL reporta Windows e NVIDIA, o UA e o sistema operacional também precisam ser Windows, e fuso horário, idioma e região de saída devem corresponder entre si. Um ambiente com itens normais isoladamente, mas combinações contraditórias, continua chamando atenção.

Há um tipo de aviso que merece destaque à parte. Se a página de teste exibir SwiftShader, ANGLE (Google) ou outras designações de renderização por software, pode ser que o ambiente em si não tenha placa de vídeo. Também é possível que o navegador esteja usando renderização por software. Dispositivos reais raramente apresentam esses valores; em ambientes mantidos a longo prazo, são sinais que pedem tratamento.

Como usar o parâmetro WebGL image do MostMate

Nas "Configurações de fingerprint" do MostMate, o WebGL image é um parâmetro que pode ser ajustado isoladamente. Na página de configurações, ele aparece ao lado de parâmetros gráficos como o Canvas. Ao criar ou editar um ambiente, o campo WebGL image oferece duas opções: Real e Noise. Real mantém os valores reais; ao mudar para Noise, a saída entra em modo de ruído.

Em seguida, olhe a linha correspondente no painel de pré-visualização de fingerprint à direita: o valor passa a ter um formato com um código de seis dígitos. Esse código não é compartilhado com nenhum outro parâmetro; ele identifica a configuração de ruído, e o hash realmente exposto precisa ser conferido na página de teste acessada pelo ambiente.

Ilustração do parâmetro WebGL image nas configurações de fingerprint do MostMate

A escolha da opção depende de quem o ambiente precisa representar. Para ambientes de contas cultivadas a longo prazo, a recomendação é Real: os parâmetros de uma placa real e o comportamento do driver são os mais difíceis de falsificar, e um ambiente estável não precisa mexer neles. Quando for preciso preparar vários ambientes para o mesmo tipo de operação, o Noise oferece saídas de imagem diferenciadas, para que os ambientes não reportem a mesma face na dimensão gráfica. Optar pelo Noise também não significa reconfigurar tudo do zero: no painel de pré-visualização de fingerprint, o valor de cada item fica à vista, e a configuração pode ser conferida de relance.

Os limites também precisam ficar claros. A gestão de parâmetros reduz o risco de mistura e contradição entre ambientes. Além do WebGL, sinais como resolução de tela e fontes são independentes entre si; o artigo sobre a consistência antiassociação traz uma lista de verificação para alinhar item a item. Por mais bem montado que o ambiente esteja, quem decide como a plataforma avalia é a própria plataforma; este artigo não promete nada do tipo "configurei e não serei detectado".

Perguntas frequentes sobre o fingerprint WebGL

Os sites conseguem ver o modelo real da minha placa de vídeo?

Sim, conseguem ver a string de modelo no campo Renderer, desde que o navegador não tenha restringido a extensão WEBGL_debug_renderer_info. Mas isso são informações descritivas do ambiente gráfico expostas pelo navegador, e não uma leitura da identidade do hardware. Em navegadores como o Firefox, com a proteção de privacidade ativada, esse tipo de informação é ocultado ou generalizado.

Desativar o WebGL evita a identificação por fingerprint?

Não é recomendável. As páginas modernas dependem bastante do WebGL para renderizar, e desativá-lo compromete funcionalidades. Além disso, todos os navegadores mainstream suportam WebGL, então um navegador sem esse suporte já é, por si só, um sinal anômalo e acaba sendo classificado à parte com ainda mais facilidade.

Fingerprint WebGL e fingerprint de Canvas são a mesma coisa?

Não. Ambos exploram diferenças de renderização, mas o Canvas trabalha com renderização 2D, enquanto o WebGL percorre o pipeline 3D e traz ainda a camada dos parâmetros de capacidade. Nas páginas de teste, eles aparecem em blocos separados, e o valor de um não representa o outro.

Um navegador antidetecção pode transformar o WebGL em qualquer placa?

Depende da implementação de cada produto. A abordagem do MostMate é oferecer duas opções, real e ruído, em que o modo ruído gera saídas de imagem diferenciadas. O que importa, sempre, é manter os parâmetros do ambiente coerentes entre si, e não mudar um campo isolado para um valor qualquer.

Considerações finais

A essência do fingerprint WebGL está em o navegador entregar ao site os parâmetros e o comportamento de renderização do ambiente gráfico: os parâmetros respondem "qual é a sua placa", e a imagem responde "como fica o que você desenha". Quem opera várias contas nunca lida com a tarefa de esconder a placa. O ponto-chave é fazer com que os parâmetros gráficos de cada ambiente contem a mesma história que o UA, o fuso horário e a região de saída.

O MostMate reúne parâmetros como o WebGL image na configuração do ambiente para uma gestão unificada, o que simplifica verificações e alinhamentos. Construir o ambiente é só o começo; o hábito de conferência no dia a dia é que faz a diferença no longo prazo. Para conhecer mais formas de tratar parâmetros gráficos, a página inicial é o ponto de partida completo; e, para montar um conjunto de ambientes com limites bem definidos para várias contas, baixe o MostMate e comece pelo primeiro ambiente.

MOSTMATE

Gestão segura de múltiplas contas, sem complicação

Comece com sua primeira conta e use MostMate para construir operações multicontas mais seguras, inteligentes e eficientes.

  • Perfis independentes. Identidades consistentes.
  • Automação com IA · Saúde das contas · Operações em equipe
Baixar MostMate