A impressão digital do navegador é uma técnica viável para identificar usuários anônimos?


96

A impressão digital do navegador é um método suficiente para identificar exclusivamente usuários anônimos? E se você incorporar dados biométricos como gestos do mouse ou padrões de digitação?

Outro dia, encontrei o experimento Panopticlick, o EFF, que estava sendo executado nas impressões digitais do navegador .

É claro que pensei imediatamente nas repercussões da privacidade e em como elas poderiam ser usadas para o mal. Mas, por outro lado, isso pode ser usado para muito bem e, no mínimo, é um problema tentador de se trabalhar.

Ao pesquisar o tópico, encontrei algumas empresas usando impressões digitais no navegador para atacar fraudes. E depois de enviar alguns e-mails, posso confirmar que pelo menos um dos principais sites de namoro está usando a impressão digital do navegador como um mecanismo para detectar contas falsas. (Nota: Eles descobriram que não é único o suficiente para agir como uma identidade ao aumentar para milhões de usuários. Mas, meu cérebro programador não quer acreditar neles).

Aqui está uma empresa que usa impressões digitais do navegador para detecção e prevenção de fraudes:
http://www.bluecava.com/

Aqui está uma lista bastante abrangente de coisas que você pode usar como identificadores exclusivos em um navegador:
http://browserspy.dk/


6
Quão fácil seria escrever um plugin para o seu navegador favorito para alterar a impressão digital do seu navegador? Imagino que se isso pudesse ser feito, alguém poderia distribuir um plug-in que permita alterar sua impressão digital à vontade. Ele poderia até conter pré-carregado "perfis" para todo um grupo de usuários poderiam usar a mesma impressão digital ...
FrustratedWithFormsDesigner

1
Relacionada discussão Meta Stack Overflow sobre como fazer isso na pilha de câmbio: Implementar alguma forma de fingerprinting navegador para ajudar Suss meias

Sobre o uso de um plug-in para alterar a impressão digital do navegador. Este artigo IEEE ( spectrum.ieee.org/computing/software/... ) argumenta por que isso poderia ser contra-produtivo
Pimin Konstantin Kefaloukos

Respostas:


91

Primeiro, não acho realista esperar que os usuários tenham o JavaScript desativado na web moderna. Então, vamos dar uma olhada no que o Panopticlick pode coletar somente através do JavaScript, juntamente com a pontuação de exclusividade do meu navegador em particular:

  • Agente do usuário (1 em 4.184)
  • Cabeçalhos HTTP_ACCEPT (1 em 14)
  • Detalhes do plug-in do navegador (1 em 1,8 milhão)
  • Fuso horário (1 em 24)
  • Tamanho da tela e profundidade de cor (1 em 1.700)
  • Fontes do sistema (1 em 11)
  • Cookies ativados? (1 em 1,3)
  • Teste limitado de SuperCookie (1 em 2)

Os destaques da exclusividade são claramente os plugins de agente e navegador do usuário. Lembre-se de que esses itens são usados juntos para formar uma impressão digital do navegador, portanto, são mais do que tão fortes quanto as pontuações individuais. A singularidade cumulativa aqui é: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2também conhecida como NÚMERO REALMENTE GRANDE . Isso é ... único.

Eu tenho o Flash desativado no momento, com "clique para ativar". A ativação do Flash adiciona:

  • Fontes do sistema (1 em 374k)

O Flash fornece o segundo elemento detectável mais exclusivo, mas, dado o enorme número que até a detecção de JavaScript padrão no Panopticlick produz, não tenho certeza se o Flash é necessário para que esse tipo de impressão digital do navegador funcione. Apenas o JavaScript ativado é suficiente.

A impressão digital do navegador é apenas uma parte da história. Considere a soma do que tudo o que podemos detectar de usuários anônimos, porque tudo pode funcionar em conjunto para imprimir usuários anônimos. Quão difícil é reunir e usar os dados detectados?

  1. Detecção de detalhes do navegador, como mostrado acima (fácil)
  2. Endereço IP, que possui um nível conhecido de confiabilidade com prós e contras (fácil)
  3. Padrões de comportamento do usuário, como uso (hora do dia), digitação, movimentos de mouse ou dedo, uso de palavras (difícil, no servidor, no cliente)

Uma coisa com que me preocupo apenas com o sniffing do navegador é como é trivialmente fácil para os usuários trocarem de navegador. Existem pelo menos quatro alternativas excelentes e gratuitas de navegador na maioria das plataformas: Chrome, Opera, Firefox, Safari. Portanto, para interromper o cheiro do navegador ou, pelo menos, interrompê-lo, você pode mudar de navegador com frequência.

Vale mencionar os SuperCookies aqui, pois eles podem realmente funcionar, em alguns casos, mesmo se você alternar entre navegadores e mesmo se o JavaScript, o HTML 5 Local Storage e o Flash estiverem desativados .

Um pesquisador de privacidade revelou a genialidade por trás de um serviço de análise da web com fins lucrativos, capaz de seguir usuários em mais de 500 sites, mesmo quando todo o armazenamento de cookies foi desativado e os sites foram visualizados usando o modo de privacidade do navegador.

(Se você estiver curioso, a versão TL; DR é que eles fazem isso explorando princípios obscuros do cabeçalho ETag .)

Enfim, voltando a cheirar o navegador - há duas coisas um tanto inconvenientes que os usuários podem fazer para combater isso:

  1. Alterne constantemente os navegadores.
  2. Sempre navegue com JavaScript e Flash desativados.

No entanto, se o usuário não souber que as configurações do navegador estão sendo detectadas e usadas como parte do método para obter impressões digitais, duvido muito que eles necessariamente se metessem ao trabalho de fazer essas duas coisas. Isso funciona.

Com base nos dados acima, acredito que o sniffing do navegador pode ajudar a identificar o usuário anônimo típico da Internet - mas é eficaz apenas em combinação com outras coisas que normalmente detectamos de usuários anônimos da Internet, como o Endereço IP.


7
+1 Hacker. Seus pais sabem como você gasta seu tempo?
usar o seguinte

2
"Primeiro, não acho realista esperar que os usuários tenham o JavaScript desativado na web moderna". Fico feliz que uma simples solução NoScript interrompa completamente o meu rastreamento.
Arda Xi

93
"também conhecido como NÚMERO REALMENTE GRANDE. Isso é ... bem único." É único se esses recursos forem distribuídos entre os usuários aleatoriamente. É possível que a maioria dos usuários execute um subconjunto muito menor de agentes e configurações de plugins? Existem alguns agentes ou configurações de plugins altamente correlacionados? Se você confiar que isso é único, observe a distribuição desses recursos entre os usuários, não apenas o melhor caso possível.
Charles E. Grant

3
@Arda Xi: Ainda faz para uma experiência de navegação problemático embora ...;)
BoltClock

1
"Primeiro, não acho realista esperar que os usuários tenham o JavaScript desativado na web moderna". Atenciosamente, você está errado. Com o complemento noscript, é fácil desativar os scripts para seu site desconhecido enquanto desfruta da web moderna em sites conhecidos.
Arkh #

11

A impressão digital do navegador depende de um ecossistema de navegador / dispositivo muito heterogêneo. Uma coisa a considerar é que estamos nos movendo em direção a um ecossistema cada vez mais homogêneo, à medida que mais e mais navegação é feita em smartphones e tablets / pads, que tendem a ser muito menos fragmentados nesse sentido. IPhones / iPads, por exemplo, parecerão todos essencialmente idênticos.


3
um ponto excelente e meio triste. Mas essa é uma realidade muito provável.
Jeff Atwood

O número de modelos de iPhones e iPad é divergente.
JoJo

10

A impressão digital do navegador é um método suficiente para identificar exclusivamente usuários anônimos?

Não, na melhor das hipóteses , pode identificar exclusivamente um computador . Não há como diferenciar entre dois computadores novos (e similares) na mesma rede (Mesmo IP) sem um cookie \ sessão.

E se você incorporar dados biométricos como gestos do mouse ou padrões de digitação?

Isso não parece realista. Isso teria que ser codificado quase inteiramente em JavaScript, já que "dados bio-métricos" são do lado do cliente. O usuário pode simplesmente desligá-lo. Além disso, como serão os seus "dados bio-métricos" Perl Script?


Dito isto, usar esse tipo de tática para combater a fraude é uma boa idéia. Não precisa ser 100%. Qualquer redução na fraude é boa, mesmo que seja apenas uma melhoria de 5%.

A luta contra a fraude é incremental, não existe uma solução única para combater a fraude, nem se preocupe em procurar uma.


EDIT: Para responder aos comentários abaixo (e porque é muito relevante), o fato de as impressões digitais tratarem perfis diferentes é, em minhas crenças, um NEGATIVO líquido *. Isso é algo que um usuário mal-intencionado usará para enganar o mecanismo de impressão digital, o fato de o usuário ter controle sobre todas as variáveis ​​usadas na impressão digital é uma falha séria por si só .

* É por isso que digo, na melhor das hipóteses, que ele pode identificar um único computador, porque é melhor então identificar uma única conta em um computador. Se você pode fazer as duas coisas, isso é ótimo.


3
"dados biométricos" também poderia ser quando as pessoas acessam o site, que URLs, quantas vezes, os seus padrões de palavras e linguagem .. nada disto requer JavaScript
Jeff Atwood

2
A impressão digital pode realmente identificar contas diferentes na mesma máquina. Eu sei inglês, sueco e um pouco de espanhol. Eu configurei meu Mac de acordo. Quando o Firefox solicita uma página, ele envia "Accept-Language: en-us, en; q = 0,8, sv; q = 0,5, es; q = 0,3". Minha esposa não sabe espanhol. O Firefox em sua conta na mesma máquina não inclui o termo "es". Muito claramente, isso que você diz não é possível.
Andrew Dalke 29/11

Andy, só porque é o seu perfil de usuário, não significa que você está sentado na frente do computador.
Idiotas

4
Mor, sua afirmação "na melhor das hipóteses, pode identificar exclusivamente um computador" está incorreta. Na melhor das hipóteses, ele pode distinguir entre contas diferentes no mesmo computador. Se for uma conta em rede, talvez seja possível distinguir entre duas contas diferentes na mesma rede. O fato de várias pessoas poderem usar a conta é uma questão diferente.
Andrew Dalke

6

Concordo com o @vincentcr , mas acrescentaria mais um ambiente a considerar: a rede corporativa.

Aqui é provável que você encontre muitas dezenas ou centenas de usuários (em potencial) com exatamente o mesmo navegador, plug-ins, fontes etc. Os fatores adicionais que @vincentcr sugere também falham aqui - os endereços IP provavelmente serão os mesmos se os usuários estiverem atrás de um firewall corporativo, assim como os locais relatados pelos usuários.

Mesmo com os gestos do mouse e os padrões de digitação incluídos, duvido que essas técnicas possam ser usadas para identificar usuários únicos com qualquer forma de segurança e se você deseja que as contas de usuário possam sobreviver ao usuário que está mudando de navegador, será necessário apoiá-lo. de qualquer maneira com um sistema de autenticação mais tradicional.

Embora, como já foi dito, possa ser um pouco útil na detecção de spambots e similares. Por exemplo, o plug-in do WordPress "Bad Behavior" analisa cabeçalhos HTTP (entre outros fatores) na tentativa de detectar spambots.


Muito bom ponto. Embora você possa detectar coisas como a inclinação do relógio, que varia de computador para computador, e aparentemente você pode obter IPs reais através do flash. Também há uma resolução de monitor, que valeria algo, mas menos útil em um ambiente corporativo.
SMrF 29/11

4

Mesmo se houver um grande número de combinações, elas não serão todas distribuídas uniformemente.

Pense em quantas pessoas, digamos, em um macbook, usarão apenas a configuração de estoque. Ou aqueles que nunca instalam nenhum plug-in: suspeito que esses sejam a maioria dos usuários.

E, no extremo, você tem o segmento de dispositivos que mais cresce: usuários de celulares e tablets, especialmente iPhones e iPads, onde você é reduzido a apenas duas variáveis: marca e número da versão.

Portanto, pode ser uma boa heurística quando combinada com outros fatores (como endereço IP ou local, quando disponível), mas não muito mais que isso.


3

Usando a impressão digital do navegador, você pode identificar um usuário individual na Web, e a única desvantagem é que você precisa tornar o javascript obrigatório para todos os usuários.

Ele trabalha em dois princípios:

  1. Detectar a impressão digital do navegador com base em 8 parâmetros
  2. Detecte se alguém alterou sua impressão digital alterando qualquer parâmetro.

O sucesso da impressão digital depende do segundo princípio; para detectar se alguém alterou a impressão digital.

Para mais informações, tente o código disponível . Você precisa desenvolver seu próprio algoritmo para detectar um usuário que retornou, pois o algoritmo usado por https://panopticlick.eff.org/ não é 100% eficiente no momento.


1
'não é 100% eficiente' ou talvez 'não seja 100% eficaz'? Você poderia elaborar sobre esse ponto?
Martijn Pieters

2

Alguns navegadores também podem ser identificados via Supercookies HSTS.

É aqui que você pode incorporar uma página com solicitações a conjuntos aleatórios de recursos seguros e não seguros para cada visitante e monitorar o padrão de solicitações em uma visita de retorno. Se cada recurso for solicitado no mesmo padrão, você poderá usar essas informações para identificar o usuário.

Isso é particularmente útil para identificar iPhone / iPads que, de outra forma, teriam uma impressão digital genérica no navegador. Essa abordagem não é tão útil para o Internet Explorer, onde o HSTS não é suportado.

Este artigo explica a abordagem; http://www.radicalresearch.co.uk/lab/hstssupercookies/

Este artigo fornece um bom exemplo de como aproveitar os Supercookies do HSTS para identificar usuários; https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/


0

Javascript não é obrigatório, pois existem muitos outros parâmetros para farejar o PHP. Dito isto, 99% do usuário tem JS, então por que se preocupar

As impressões digitais podem fornecer uma identificação única o suficiente? Eu acredito que sim. E o mesmo diz www.visitor-intelligence.com com sua filosofia de triagem sucessiva. Pense nisso.

Sua galáxia particular pessoal não é tão grande quanto todo o nosso planeta.

Quantos cabelos altos, castanhos e olhos azuis, uma garota com sotaque francês anda na sua rua? Em escala planetária, milhões. Mas aposto que ela seria bem única na sua rua (ou visitando sua loja).

A menos que você viva em Champs Elysees. Então olhe mais de perto. Ela é esbelta e anda como uma modelo? Ela usa uma bolsa cara? Tudo bem, ela é totalmente única agora :-)

Observar apenas os cabeçalhos está errado, pois inclui o número da versão do navegador e parâmetros mais variáveis.

Agora estamos no Chrome 27 e Firefox 21. Estamos atualizando a versão do navegador sem perceber.

Agora, olhar para a lista completa de plug-ins também está bastante errado. Tente o seguinte: instale o Firefox, instale o Acrobat Reader e instale o Chrome. Aposto que o Acrobat Reader não aparecerá na sua lista de plugins do Chrome :-)

Então ... o ponto principal é: se você procura um sistema de identificação decente para uma loja de tamanho padrão, a impressão digital é suficiente e ainda mais estável que os cookies (eu excluo todos os meus cookies quase todos os dias).

Apenas meus 2 centavos

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.