Mal uso da ‘impressão digital’ do navegador

A impressão digital do navegador é uma das muitas táticas que os autores de sites de phishing usam para evitar verificações de segurança e prolongar a vida útil de campanhas maliciosas.

Embora a impressão digital do navegador tenha sido usada por organizações legítimas para identificar exclusivamente navegadores da Web há quase 15 anos, agora ela também é comumente explorada por cibercriminosos: um estudo recente mostra que um em cada quatro sites de phishing usa alguma forma dessa técnica.

Este artigo explicará o que é impressão digital do navegador, fornecerá exemplos e discutirá como ela é usada.

Impressão digital do navegador explicada

A impressão digital do navegador usa uma variedade de verificações do lado do cliente para estabelecer identidades do navegador, que podem então ser usadas para detectar bots ou outro tráfego indesejável da web. Vários dados podem ser coletados como parte da impressão digital, incluindo:

  • Fuso horário
  • Configurações de linguagem
  • endereço de IP
  • Configurações de cookies
  • Resolução da tela
  • Privacidade do navegador
  • String do agente do usuário

A impressão digital do navegador é usada por muitos provedores legítimos para detectar bots que utilizam indevidamente seus serviços e outras atividades suspeitas, mas os autores de sites de phishing também perceberam seus benefícios e estão usando a técnica para evitar sistemas automatizados que possam sinalizar seus sites como phishing. Ao implementar seus próprios controles de impressão digital do navegador que carregam o conteúdo do site, os agentes de ameaças conseguem ocultar o conteúdo de phishing em tempo real.

Por exemplo, a Fortra observou agentes de ameaças usando impressões digitais do navegador para contornar o processo de revisão de anúncios do Google. Como o processo de revisão do Google é semiautomático, a implementação de verificações de impressão digital do navegador permitiu que os agentes da ameaça identificassem quando o Google estava visualizando os destinos de seus anúncios em comparação com um usuário normal. Se o autor da ameaça suspeitasse de atividade do Google, conteúdo benigno era exibido. Isso fez com que os relatórios de phishing fossem rejeitados pelo Google porque nenhum conteúdo de phishing foi detectado.

Exemplos de impressão digital do navegador

O Bot Fight Mode da Cloudflare é um exemplo de provedor legítimo que usa técnicas de impressão digital do navegador para identificar e bloquear bots.

impressão digital do navegador
O Bot Fight Mode da Cloudflare usa técnicas de impressão digital do navegador para identificar e bloquear bots.

Cada vez que um site é carregado com o Bot Fight Mode, o JavaScript abaixo é executado e envia os resultados de volta para Cloudflare. Dependendo dos resultados, você receberá um captcha ou será bloqueado.

impressão digital do navegador
impressão digital do navegador
impressão digital do navegador

Abaixo está um exemplo de uma das verificações de impressão digital do navegador implementadas em um site de phishing. No primeiro carregamento, o site executará o seguinte JavaScript codificado:

impressão digital do navegador

Se o JavaScript for decodificado, as equipes de segurança verão que ele está ofuscado e poderão inferir pelas strings mostradas que ele está solicitando inúmeras propriedades do navegador e executando testes para ver os resultados.

impressão digital do navegador

Assim que o JavaScript termina, ele gera uma impressão digital e envia todas as informações de volta ao site de phishing onde os resultados são analisados ​​pelo servidor. Dependendo do que for determinado, será exibido conteúdo benigno ou um site de phishing.

No exemplo abaixo, o grande bloco de texto contém quantidades significativas de dados sobre o navegador que está visitando a página.

impressão digital do navegador

Essa impressão digital contém todas as propriedades do navegador, incluindo informações sobre dimensões da tela, sistema operacional, hardware da GPU, fuso horário e muitos outros pontos de dados. Todas essas informações combinadas podem tornar muito fácil determinar se o navegador é real ou um emulador.

Os exemplos a seguir contêm informações que apontam para a atividade do bot.

Exemplo A: Há uma discrepância entre a Plataforma e o UserAgent, indicando que o UserAgent foi alterado.

impressão digital do navegador
Exemplo A

Exemplo B: As dimensões da tela são conflitantes, pois os valores internos são maiores que os valores externos.

impressão digital do navegador
Exemplo B

Exemplo C: O deslocamento do fuso horário é 0 ou UTC, o que indica atividade de um servidor e não de um sistema cliente. As informações da GPU também revelam que este é um sistema Linux.

impressão digital do navegador
Exemplo C

Qualquer um dos exemplos e informações anteriores pode ser analisado para determinar a probabilidade de um visitante ser um bot. No caso do site de phishing acima, conteúdo benigno será exibido se os dados extraídos indicarem que não estão sendo acessados ​​por um navegador real. Esse tipo de detecção pode identificar praticamente qualquer emulação de navegador pronta para uso, como Curl, Puppeteer, Selenium ou Chrome sem cabeça.

No passado, os rastreadores podiam facilmente evitar a detecção aproveitando um proxy e alterando seu UserAgent. No entanto, a impressão digital do navegador é muito eficaz na identificação desses sistemas automatizados, permitindo que os autores do site alterem o conteúdo do site com base nos resultados. Compreender as propriedades do navegador que os criminosos coletam durante a impressão digital é fundamental para que as equipes de segurança evitem suspeitas dos atores da ameaça.