podapps logo

Você pode se esconder, mas não pode escapar: como a impressão digital revolucionou o rastreamento on-line


📅

Ninguém gosta de ser seguido. É seguro dizer que você ficaria extremamente preocupado se um grupo de estranhos o seguisse na vida real. No mundo on-line, não é muito diferente – os rastreadores se escondem nas sombras de cada site e seguem você pela Internet.

Rastreamento: não apenas cookies

Quando você clica em um site que nunca visitou, seu navegador baixa pequenos arquivos de texto dele. Eles são salvos no seu disco rígido e contêm informações sobre o que você fez no site, seu registro, sua localização, seu idioma preferido, bem como quais itens você adicionou ao seu carrinho. O navegador enviará esses arquivos de volta para o site na próxima vez que você abri-lo. “Oh, esse é o meu amigo Jacque de Marcel”, o site vai pensar, abrindo em francês para o usuário que retorna. Esses pequenos arquivos são chamados de cookies e podem ser colocados pelo site ou por seus parceiros. Estes últimos são fáceis de detectar: geralmente são banners de anúncios ou botões semelhantes. Os anunciantes podem rastrear usuários em todas as páginas onde colocaram seus banners. Eles fazem isso para coletar informações sobre os interesses do usuário para bombardeá-los com anúncios altamente específicos.

Assim, os cookies de terceiros agem como um bando de paparazzi esperando para pular em você assim que você sair de uma limusine, abra um site. Além disso, esses paparazzi estão se convidando para o seu PC: é muito mais fácil clicar em “Aceitar Tudo” do que em “Gerenciar Cookies Manualmente” e trabalhar com as configurações. Poderia irritá-lo, mas você não poderia fazer muito sobre isso. Até recentemente.

À medida que os usuários se tornaram mais conscientes dos problemas de privacidade decorrentes do uso de cookies, os legisladores e até mesmo beneficiários dessa tecnologia – gigantes da tecnologia como o Google – tomaram medidas para controlá-los. De acordo com o Regulamento Geral de Proteção de Dados (RGPD) da UE, os usuários devem consentir explicitamente com o uso de cookies, a menos que sejam essenciais para a funcionalidade do site. O consentimento pode ser retirado a qualquer momento e, supostamente, com facilidade. O Google deu um passo adiante, propondo substituir cookies de terceiros por Tópicos, a nova tentativa de conciliar os interesses dos anunciantes e os de usuários preocupados com a privacidade. Spoiler: um fracasso. Os usuários do Google na Europa já podem rejeitar cookies com um clique. Você pode limpar seus cookies, navegar em um modo anônimo, usar um navegador que bloqueia cookies de terceiros por padrão, fazer uma dieta e parar de comer biscoitos peru frio. Ufa, você é anônimo? Não tão cedo.

Os cookies como mecanismo de rastreamento estão lentamente se tornando uma coisa do passado

Na verdade, a questão é muito mais complicada do que isso. Os cookies são apenas a ponta do iceberg e, mesmo que sejam descartados na lata de lixo da história em um futuro próximo, ainda será fácil identificá-lo. O problema é que os cookies são apenas parte da sua pegada digital e existem técnicas de rastreamento muito mais coniventes. Uma dessas técnicas é conhecida como “impressão digital”.

A impressão digital rastreia o usuário através dos parâmetros de seu navegador e sistema operacional. A precisão do método decorre do fato de que não somos propensos a alterar os parâmetros do nosso sistema operacional com muita frequência. Além disso, ao contrário dos cookies armazenados no dispositivo, a impressão digital do seu navegador é armazenada do lado do servidor, o que significa que você não pode “limpá-la”, mas apenas alterá-la.

Impressão digital do navegador: o que é isso?

Como já mencionamos, a impressão digital é o processo de identificar um usuário por meio de características secundárias relacionadas ao seu hardware, software e sua configuração.

Quem e quando você pode tirar as impressões digitais?

Seu navegador fornece algumas informações ao servidor da web quando você solicita o endereço de um site. O site precisa saber qual é a resolução da tela, sua localização, idioma, fonte e sistema operacional para exibir corretamente. Ao mesmo tempo, uma biblioteca de impressões digitais, como o FingerprintJS, pode estar questionando seu navegador sobre todos os parâmetros e características do seu dispositivo. O resultado final deste questionário é a soma hash de todos os dados que seu navegador estimou durante este processo mais ou menos voluntário. A soma hash é um número único de 32 bits, por exemplo: ba4f31d70cc306fcd736y81cd6d74a7a.

De que é feita a sua impressão digital?

A impressão digital do seu dispositivo ou a impressão digital do navegador (usaremos esses dois termos de forma intercambiável para os fins deste artigo) pode consistir em dezenas de parâmetros. Você pode verificar até que ponto sua impressão digital é única e do que ela é feita em um desses serviços: AmIUniqueFake VisionCoverYouTracks. Ou você pode continuar lendo.

Então, do que é feita uma ‘impressão digital’? Vamos ver.

  1. Atributos de cabeçalhos HTTP. Um cabeçalho HTTP é uma lista de strings enviadas pelo seu navegador para o servidor ao tentar acessar um site. Esta é uma espécie de biografia curta lida por um programa especial instalado em um servidor para que ele possa exibir corretamente o site para você.
  • Tipo e versão do navegador
  • Configurações de confidencialidade
  • Idioma do conteúdo
  • Sistema operacional
  • Formatos de mídia suportados
  • Métodos de compressão suportados
  1. Informações obtidas através do código JavaScript incorporado
  • Lista de plug-ins
  • Deslocamento do fuso horário: Diferença de horário entre o horário médio de Greenwich e a hora local em minutos
  • Configurações de cookies
  • Tamanho da tela e profundidade de cor
  • Idioma do conteúdo
  • Lista de fontes
  • Plataforma (por exemplo, Windows 32)
  • Uso do Adblock
  • Suporte por toque
  • Microfones, câmeras, fones de ouvido presentes
  • Não rastrear: se os usuários permitem que sites rastreiem suas preferências
  • Propriedades do navegador
  • Concorrência de hardware: número de processadores
  • Memória do dispositivo em gigabytes
  • Java habilitado ou não
  • Permissões: notificações, acesso à geolocalização, push, armazenamento persistente
  • Conexão (por exemplo, WiFi 4G)
  • Giroscópio (para dispositivos móveis)
  • Acelerômetro (para dispositivos móveis)
  • Bateria
  • Layout do teclado (QWERTY ou AZERTY)
  • Identificador de compilação do navegador
  • Sensor de proximidade (para dispositivos móveis)
  • Formatos de áudio e vídeo suportados

Além disso, as informações sobre fontes instaladas, idioma, resolução de tela e plataforma podem ser obtidas através do FLASH.

O fato de seu navegador bloquear cookies pode tornar sua impressão digital mais única. O mesmo vale para a função Não Rastrear. Se você optar por ativá-lo, deve ter em mente que isso pode torná-lo mais único aos olhos dos scripts de impressão digital.

OK, mas que tal cobrir suas faixas usando vários navegadores ao mesmo tempo? Esse método era eficaz em sua época. No entanto, desde que a impressão digital entre navegadores se tornou uma coisa e os métodos focados em hardware evoluíram, o malabarismo com três ou quatro navegadores de cada vez se tornou menos eficaz.

Mas isso não é tudo. Para identificar as características do seu dispositivo com mais precisão, diferentes APIs podem forçá-lo a participar de uma audição: gerar uma imagem em 2D, desenhar um triângulo em 3D e cantar uma música inaudível. Sim, não estamos brincando.

  • A primeira técnica usa a API Canvas. O navegador é instruído a “desenhar” uma linha de texto com efeitos sobrepostos, por exemplo, um emoji. O script de impressão digital captura como o navegador renderizou a imagem. O resultado depende da combinação de GPU, placa de vídeo, drivers de vídeo e fontes instaladas. Talvez a diferença entre dois dispositivos não seja óbvia a olho nu, mas os juízes (rastreadores) reconhecerão seu trabalho.
O resultado de um teste usando a API Canvas
  • A segunda técnica usa API JavaScript para renderizar gráficos 3D e 2D — WebGL. O navegador é instruído a gerar um triângulo em 3D com efeitos sobrepostos. Como no caso do Canvas, o resultado depende da GPU, placa de vídeo e drivers.
O resultado de um teste usando a API WebGL
  • A terceira técnica usa a API AudioContext. O navegador é instruído a gerar um sinal de baixa frequência a partir da pilha de áudio do seu dispositivo. O sinal resultante depende da placa de áudio e dos drivers.
O resultado de um teste usando a API AudioContext

Os resultados dos testes acima mencionados são retornados ao servidor como hashes – identificadores exclusivos do seu dispositivo, pelos quais o servidor irá reconhecê-lo.
Mencionamos algumas das técnicas de impressão digital mais populares. A lista não é exaustiva. Por exemplo, um navegador pode ser levado a enviar várias informações em resposta a solicitações CSS. Há também uma API separada que fornece informações sobre o nível de carga da bateria do dispositivo. A lista pode continuar.

Para que é usado o uso de impressões digitais?

O objetivo original da impressão digital do navegador era impedir fraudes financeiras. A prevenção de fraudes continua sendo um de seus principais usos. Se dermos uma olhada na lista de FingerprintJS, poderemos ver uma gigante do comércio eletrônico Ebay, Booking.com, provedor de soluções de pagamentos Checkout.com, troca de criptomoedas Coinbase, sistema internacional de transferência de dinheiro Western Union e grandes bancos.

A impressão digital pode ser usada para negar o acesso de um bot a uma conta bancária quando ele não gera uma impressão digital de tela. Bots mais sofisticados que usam navegadores sem cabeça (ou seja, navegadores sem uma interfaça gráfica do usuário – como o PhantomJS) podem ser identificados com base em sua impressão digital e comportamento, por exemplo, por várias tentativas de login. A impressão digital também pode ajudar a proteger contas de phishing. Um site pode exigir que um usuário conclua a autenticação de dois fatores ou confirme um endereço de e-mail se tentar fazer login com uma nova impressão digital.

As lojas on-line usam técnicas de impressão digital para impedir o abuso promocional de cupons, sinalizar usuários que contestam pagamentos, mesmo que tenham recebido o produto ou serviço. Nas indústrias de jogos e jogos de azar, a impressão digital é usada para evitar trapaças através da criação de várias contas. Além disso, certas características de uma impressão digital podem sugerir que um usuário tentará um comportamento fraudulento.

Os anunciantes também mostraram um grande interesse na impressão digital do navegador. Mas por que, você pode perguntar, eles precisam das informações sobre a resolução da minha tela ou um modelo de GPU? Primeiro, uma loja de tecnologia pode querer segmentá-lo com anúncios sugerindo que você compre um monitor melhor ou uma GPU mais avançada.

Em segundo lugar, uma impressão digital do navegador pode ser enriquecida com dados de bancos de dados e, novamente, ser usada para segmentar usuários com anúncios altamente personalizados. Por exemplo, um anunciante pode tentar combinar sua impressão digital com seu nome real, a marca do seu carro, seus endereços físicos e IP. Em 2012, o CEO da BlueCava, uma empresa especializada em impressões digitais, a chamou de “a próxima geração de publicidade on-line”. O BlueCava também pode fazer impressões digitais entre dispositivos, ou seja, combinar um smartphone e uma impressão digital de PC com a mesma pessoa. Em 2016, a BlueCava se fundiu com a Qualia, uma empresa que rastreava a “intenção” dos usuários de comprar algo em tempo real através das mídias sociais. Em 2018, a Qualia foi comprada por uma empresa de marketing com um nome revelador, IDify. Hoje, faz parte da agência de marketing Adstra, que vende grandes quantidades de dados identificáveis on-line e conta com a Amazon Advertising, Snapchat e Facebook entre seus clientes. Parece que o futuro já está lá.

Deve-se mencionar que a coleta de impressões digitais também pode ser usada na aplicação da lei. Seus métodos podem permitir que os governos rastreiem dissidentes e censurem a liberdade de expressão, entre outras coisas.

As técnicas de impressão digital se tornam mais sofisticadas

Os métodos de impressão digital evoluem constantemente. O mais novo avanço no campo é a técnica, chamada ‘DrawnApart’, que pode ser usada em sites que suportam a API WebGL. WebGL é uma API multiplataforma para renderizar gráficos 2D e 3D no navegador. Ele é implementado em todos os principais navegadores, incluindo Chrome, Firefox, Edge e Safari.

A técnica, projetada por um grupo de pesquisadores da França, Israel e Austrália, permitiu que eles criassem impressões digitais distintas de GPUs aparentemente idênticas. As técnicas de impressão digital que discutimos na seção anterior tiveram uma grande desvantagem ou vantagem: elas não são sensíveis o suficiente para fazer uma distinção entre GPUs da mesma marca e tipo. O desafio pode realmente parecer insuperável: imagine, você conhece gêmeos idênticos – você será capaz de diferenciá-los de uma só vez? Dificilmente.

Os pesquisadores dizem que “mesmo dispositivos de hardware nominalmente idênticos têm pequenas diferenças induzidas por seu processo de fabricação”, e que sua técnica de impressão digital desencadeia essas diferenças.

Como parte do experimento, eles contaram o número e a velocidade das unidades de execução (UEs) na GPU e viram quanto tempo leva para concluir as funções de renderização e parada. Como resultado, eles conseguiram coletar 50 vestígios de cada GPU. Cada um desses 50 traços consistia em 176 medições feitas a partir de 16 pontos. A diferença entre traços brutos de duas unidades gráficas da Geração 3 é óbvia até mesmo a olho nu.

As diferenças entre duas GPUs podem ser vistas claramente

A nova técnica tornou uma abordagem de rastreamento de última geração conhecida FP-STALKER 67% mais eficaz. Combinado com Drawn Apart, o FP-STALKER conseguiu rastrear uma impressão digital por 28 dias, em vez de 17,5 dias apenas para o FP-STALKER.

Embora este método possa não ser à prova de balas, sua implementação pode prejudicar ainda mais a privacidade do usuário. Os pesquisadores acreditam que a técnica se tornará ainda mais precisa nas novas versões do WebGL. Os pesquisadores habilitaram o suporte ao WebGL 2.0 no Chrome e conduziram o experimento mais uma vez. Eles conseguiram identificar uma GPU com “uma precisão de classificação quase perfeita de 98%”, enquanto o teste em si foi muito mais rápido de executar, levando apenas 150 milissegundos.

Na verdade, quá única é a sua ‘impressão digital única’?

As técnicas de impressão digital se tornaram mais avançadas, mas a grande questão é o quão fácil será realmente identificar um usuário individual. Uma coisa é quando há milhões das mesmas impressões digitais que as minhas, e uma completamente diferente se houver apenas milhares dos meus sósias digitais.

Houve várias pesquisas importantes estudando a singularidade de uma impressão digital de dispositivo.

Em 2010, a Electronic Frontier Foundation (EFF) estudou impressões digitais de uma amostra de 470.761 navegadores como parte do projeto Panopticlick. Os participantes da pesquisa conscientemente entregaram suas impressões digitais visitando um site, que digitalizaria suas impressões digitais. Os pesquisadores se concentraram em um conjunto restrito de dados. Ou seja, eles recuperaram as informações sobre a versão do sistema operacional, idioma, barras de ferramentas, tipo e versão do navegador, resolução de tela, fuso horário, plug-ins, fontes do sistema, se os cookies estavam ativados ou não.

A conclusão foi alarmante. Cerca de 83,6% dos navegadores tinham uma “impressão digital instantâneamente única”. Isso significava que, entre 286,777 navegadores, havia apenas um par de impressões digitais idênticas, na melhor das hipóteses. Além disso, o algoritmo foi capaz de rastrear alterações de impressões digitais e identificar um “progenitor” de uma impressão digital em 99,1% de todos os casos.

Em 2016, outro grupo de pesquisadores estudou uma amostra de 118.934 impressões digitais do navegador que voluntários experientes em privacidade forneceram através do site https://amiunique.org. 89,4% delas acabaram sendo únicas. Em comparação com a pesquisa de 2010, a lista dos parâmetros aumentou e técnicas de impressão digital mais sofisticadas, incluindo Canvas e WebGL API, foram empregadas. Os pesquisadores levaram em consideração o uso de um bloqueador de anúncios, o status da função Não Rastrear e as informações sobre um processador gráfico e uma placa gráfica. Pela primeira vez, os pesquisadores avaliaram a singularidade de uma impressão digital móvel, identificando-a com 81% de precisão.

Em 2018, foi realizado o maior estudo de impressões digitais até o momento chamado ‘Hiding in the Crowd’. Os pesquisadores analisaram uma amostra gigantesca de 2.067.942 navegadores que visitaram um popular site francês. O resultado foi encorajador: apenas 33,6% das impressões digitais eram únicas. O número de impressões digitais únicas obtidas de PCs foi de 35,7%, enquanto apenas 18,5% das impressões digitais móveis foram únicas. Os pesquisadores usaram o mesmo conjunto de parâmetros da pesquisa de 2016. Mas os próprios testes se tornaram mais complexos. Por exemplo, eles forçaram os navegadores a desenhar uma imagem abstrata abaixo, uma melhoria de uma sequência de caracteres com um emoji.

O resultado de um teste mais avançado usando a API Canvas

Os próprios pesquisadores explicaram uma lacuna tão grande entre seus achados e os das duas pesquisas anteriores por histórico dos participantes. Embora as pessoas que se juntaram às pesquisas de 2010 e 2016 conscientemente concordaram em se tornar parte do experimento, os participantes do estudo francês eram apenas usuários regulares. Os pesquisadores por trás de ‘Hiding in the Crows’ argumentam que seu resultado é mais representativo da população em geral, porque as impressões digitais que eles coletaram não vieram de alguns geeks obcecados pela privacidade que haviam sido “incecados a brincar com seus navegadores para mudar sua configuração”.

No entanto, deve-se notar que, em todas essas pesquisas, os pesquisadores analisaram um número relativamente pequeno de parâmetros. E à medida que os métodos de impressão digital se tornam cada vez mais sofisticados, a singularidade da impressão digital inevitavelmente aumentará. Como tal, os desenvolvedores da biblioteca FingerprintJS afirmam que seu método permite identificar um dispositivo móvel e um dispositivo de desktop com 99,5% de precisão.

No geral, a eficácia dos métodos de impressão digital depende de dois parâmetros:

  • Persistência
  • Singularidade

Quanto mais frequentemente alteramos a configuração do nosso sistema e os parâmetros do navegador, menos persistente ou estável é a nossa impressão digital. Mas, ao mesmo tempo, pode se tornar mais único! Temos que ter isso em mente ao tentar evitar scripts de rastreamento. Essencialmente, os usuários estão presos entre uma rocha e um lugar duro.

O que pode ser feito?

Como podemos ver, a maior parte das informações identificáveis é de plugins, fontes e o hash Canvas. Na superfície, o problema pode ser resolvido desativando o JavaScript — um script de impressão digital não será capaz de detectar a lista de plugins ou fontes. No entanto, essa abordagem tem um grande defeito: a esmagadora maioria dos sites usa JavaScript e, portanto, eles vão quebrar para você. Liberte-se e quebre a internet — não é a solução mais atraente.

Navegador corajoso. Por padrão, os parâmetros de impressão digital dos aleatorizadores Brave baseados em cromo. Assim, cada novo site vê você de forma diferente. Essa tecnologia irá protegê-lo do rastreamento entre sites. Um usuário também pode atualizar sua proteção anti-impressão digital para “máxima”. Nesse caso, o programa não apenas alterará ligeiramente sua impressão digital, mas também lhe dará uma reforma total, o que significa que sua impressão digital consistirá em parâmetros que não são baseados em valores reais, mas são completamente aleatórios. A última abordagem, no entanto, pode quebrar muitos locais.

Navegador Tor. O navegador Anonymous Tor deu um passo adiante. Faz com que todas as impressões digitais pareçam iguais. Não importa quais sejam os parâmetros do seu dispositivo e navegador, um site verá todos os usuários da mesma maneira.

Há também serviços como o FingerprintSwitcher que adicionam “ruído” à sua impressão digital ou trocam sua impressão digital por uma real de sua própria base.

Orçamento de Privacidade do Google. Esta solução foi proposta pelo Google como parte de sua iniciativa Privacy Sandbox (escrevimos recentemente sobre a própria Privacy Sandbox, seus prós e contras). O Orçamento de Privacidade deve diminuir a quantidade de informações que um site pode receber do navegador. Se o seu navegador for solicitado a fornecer informações além de um determinado limite ou “orçamento”, a solicitação retornará um erro ou um site receberá um valor genérico.

Você também pode bloquear o download de scripts de impressões digitais na página. Nesse caso, você não permitirá que os programas de impressão digital coletem dados sobre o seu dispositivo. No entanto, isso funcionará apenas para os scripts que você conhece. Você também terá que monitorar e atualizar a lista de rastreadores a serem bloqueados.

O AdGuard impede que as bibliotecas de impressões digitais mais populares sejam executadas. Além disso, para usar uma impressão digital, você precisa enviá-la para algum lugar. O AdGuard bloqueia domínios de rastreamento conhecidos — isso significa que será impossível enviar sua impressão digital para os servidores e usá-la para segmentação.


Fonte: AdGuard (tradução direta)