Executando verificação de segurança...
7

Testes de privacidade nos navegadores

Os navegadores podem disponibilizar diversas informações que possibilitam um site identificar um usuário e rastreá-lo. Com isso em mente, existe um site chamado PrivacyTests.org (GitHub) que explica diversas características diferentes e quais navegadores (dentre os mais populares) passam no teste de privacidade dessa característica, com testes em diferentes sistemas operacionais.

Para compreender e comparar as características de privacidade dos navegadores, cada navegador é submetido ao mesmo conjunto de testes automatizados. Cada teste de privacidade examina se o navegador, nas configurações padrão, protege contra um tipo específico de vazamento de dados.

Os resultados e testes são apresentados em uma tabela, indicando se o navegador passou no teste, reprovou ou não possui o recurso em questão.

Os testes são realizados a cada duas semanas para monitorar a evolução de cada navegador. Você pode encontrar histórico no GitHub ou no próprio site, que lista o que há de novo na rodada de testes atual.

Para entender mais detalhes sobre um grupo de testes, você pode clicar no título ou descrição desse grupo:

Grupo "State Partitioning tests" exibindo um texto descritivo num tooltip.

Pode clicar no resultado de um teste para entender o que foi feito:

Descrição sobre um teste Cookie HTTP que o Chrome falhou, contendo o código de escrita, leitura e o resultado dos testes.

E também no nome do teste:

Detalhes sobre o teste aparecem no tooltip.

Os testes são divididos em 11 grupos, que traduzi abaixo:

  1. Particionamento de estado: Uma vulnerabilidade comum dos navegadores é que eles permitem que empresas de rastreamento "marquem" seu navegador com alguns dados ("estado") que o identificam. Quando rastreadores de terceiros são incorporados em sites, eles podem ver esses dados de identificação enquanto você navega em diferentes sites. Felizmente, é possível corrigir esta categoria de vazamentos particionando todos os dados armazenados no navegador de forma que nenhum dado possa ser compartilhado entre sites.
  2. Navegação: Quando você clica em um link para navegar de um site para outro no navegador, determinadas APIs do navegador permitem que o primeiro site se comunique com o segundo site. Estas vulnerabilidades de privacidade podem ser corrigidas através da introdução de novos limites na quantidade de dados transferidos entre sites.
  3. HTTPS: HTTPS é o protocolo que os navegadores usam para se conectar com segurança aos sites. Quando o HTTPS está sendo usado, a conexão é criptografada para que terceiros na rede não possam ler o conteúdo enviado entre o servidor e o seu navegador. No passado, as conexões inseguras (HTTP) eram o padrão e os sites precisavam solicitar ativamente que um navegador usasse HTTPS.
  4. Miscelâneas: Esta categoria inclui testes para a presença de diversos recursos de privacidade.
  5. Resistência à impressão digital: A impressão digital (fingerprinting) é uma técnica que os rastreadores usam para identificá-lo exclusivamente enquanto você navega na web. Um script de impressão digital medirá diversas características do seu navegador e, combinando esses dados, criará uma impressão digital que poderá identificá-lo exclusivamente entre os usuários da web. Os navegadores podem introduzir contramedidas, como minimizar as informações distintivas divulgadas por certas APIs da web, de modo que seja mais difícil distinguir seu navegador na multidão.
  6. Query parameter de rastreamento: Quando você navega de uma página para outra, as empresas de rastreamento frequentemente anexam um "query parameter de rastreamento" ao endereço da segunda página da web. Esse parâmetro de consulta pode conter um identificador exclusivo que rastreia você individualmente enquanto você navega na web. E esses parâmetros de consulta são frequentemente sincronizados com cookies, tornando-os um forte vetor de rastreamento. Os navegadores podem protegê-lo de parâmetros de rastreamento conhecidos, removendo-os dos endereços da Web antes que o navegador os envie. (O conjunto de parâmetros de consulta de rastreamento testados aqui foi em grande parte emprestado do Brave.)
  7. Bloqueio de conteúdo do rastreador: Quando você visita uma página, ela frequentemente contém conteúdo de rastreamento incorporado de terceiros, como scripts e pixels de rastreamento. Esses componentes incorporados espionam você. Alguns navegadores e extensões de navegador mantêm uma lista de empresas de rastreamento e bloqueiam o carregamento de seu conteúdo. Esta seção verifica se um navegador bloqueia 20 dos maiores rastreadores listados por https://whotracks.me.
  8. Proteção de cookies de rastreamento: Uma grande fração das páginas possui rastreadores de terceiros ocultos que leem e gravam cookies em seu navegador. Esses cookies podem ser usados para rastrear sua navegação em sites. Esta seção verifica se um navegador interrompe o rastreamento entre sites por cookies de 20 dos maiores rastreadores listados por https://whotracks.me.
  9. Rastreamento primário entre sessões: Uma vulnerabilidade comum dos navegadores é que eles permitem que sites ("primários", "first parties") "marquem" seu navegador com alguns dados de rastreamento. Essa tag pode ser usada para identificá-lo novamente quando você retornar a um site que visitou anteriormente. Esta categoria de vazamentos pode ser evitada pelo navegador se eles limparem ou isolarem os dados entre as sessões do navegador. (Nos casos em que um usuário fez login em um site ou inseriu informações detalhadas, pode ser justificável que um navegador retenha informações entre sessões. Esses testes verificam quando não existe tal justificativa: quando você não inseriu nenhuma informação significativa em um site, o navegador ainda retém dados que permitem que você seja rastreado nas sessões?)
  10. Rastreamento de terceiros entre sessões: A mesma coisa que o grupo de testes anterior, porém realizados por "terceiros" ("third-party"), e não pelo próprio site.
  11. Privacidade do DNS: O Sistema de Nomes de Domínio (DNS) é o método pelo qual os navegadores procuram o endereço IP de cada site que você visita. Em uma consulta DNS, um navegador solicitará a um resolvedor DNS (em algum lugar da Internet) o endereço IP correspondente a um nome de domínio de um site que você deseja visitar. Tradicionalmente, a maioria dos navegadores envia suas consultas DNS sem criptografia, o que significa que seu ISP ou qualquer outra pessoa na rede entre seu computador e o resolvedor DNS pode espionar os sites que você visita. Nos últimos anos, navegadores e sistemas operacionais começaram a introduzir DNS criptografado, incluindo o protocolo DNS sobre HTTPS (DoH), para criptografar a solicitação de DNS do seu navegador e a resposta do resolvedor para evitar vazamento do seu histórico de navegação. Esses testes verificam se um navegador ainda está protegendo suas solicitações de DNS, enviando-as criptografadas.

Mesmo que você não tenha pretensões de trocar de navegador, vale a pena visitar o site e ler sobre alguns testes para entender algumas fragilidades dos navegadores que podem ser exploradas. E, se você for um desenvolvedor web, poderá entender por que alguns recursos podem retornar valores diferentes ou até mesmo não funcionar da forma que você espera.

2

Estou impressionado com alguns browser que bloqueiam medias queries e o screen.x do js muitos usados pra criar páginas responsivas. Fora que alguns bloqueiam cookies, os de terceiros até entendo, mas alguns bloqueiam cookies primários, como a pessoa efetuaria certos logins? Acho que os mais privados não funcionaria em parte dos sites

2

Não sei como funciona no LibreWolf, Mullvad e Tor, que aparentemente retornam valores fixos que parecem "distantes" dos valores reais para atributos como o screenX e screen.width, mas se você for ver o Brave, que é um navegador mais comum que passou nesse teste, ele apenas retorna valores levemente alterados, por exemplo 1202, 1203 e 1206 para os três testes de screen.width (para comparação, LibreWolf retornou 1600, Mullvad e Tor 1400). Não consegui identificar qual era o valor real nos testes para afirmar o comportamento com certeza aqui, e também nunca usei o LibreWolf, Mullvad e Tor para opinar sobre o funcionamento da responsividade neles.

No caso dos cookies, se você está falando sobre a parte "Tracking cookie protection tests", esses testes são para cookies específicos de rastreamento. Se você está falando sobre a parte "Cross-session first-party tracking tests" ou "Cross-session third-party tracking tests", a descrição do teste menciona:

In cases where a user has logged into a website or entered detailed information, it may be justifiable for a browser to retain information across sessions. These tests check when no such justification exists: when you have entered no significant information into a website, will the browser still retain data that allows you to be tracked across sessions?

Ou, como eu traduzi na publicação:

Nos casos em que um usuário fez login em um site ou inseriu informações detalhadas, pode ser justificável que um navegador retenha informações entre sessões. Esses testes verificam quando não existe tal justificativa: quando você não inseriu nenhuma informação significativa em um site, o navegador ainda retém dados que permitem que você seja rastreado nas sessões?

Ou seja, seu exemplo do login não é considerado aqui no teste, é considerado apenas um rastreamento de usuários que decidiram não se identificar ou disponibilizar outras informações. Um exemplo é um site que gera um ID para cada visitante e atrela ações à esse ID, mantendo o ID entre sessões diferentes, dessa forma podendo rastrear o usuário como se ele estivesse logado.


Edit: Decidi testar brevemente o Mullvad e imagino que os outros navegadores façam da mesma forma: ele possui tamanhos pré-definidos e deixa uma barra cinza em volta, dessa forma vários usuários possuem o mesmo tamanho, o que impede o rastreamento por meio desses valores.

Navegador Mullvad em dimensões pré-estabelecidas conforme o tamanho da janela do navegador muda

Fiz um teste no Brave e o valor screen.width muda ao fechar e abrir a janela do navegador. Nos meus testes, foram: 983, 980 e 978. O valor retornado não mudou ao testar no mesmo site em guias diferentes, mas mudou ao testar em diferentes sites.

1

mas alguns bloqueiam cookies primários

Esse bloqueio impede que você possa ler esses cookies pelo cliente. Mas os cookies são enviados ao servidor.

No caso só o navegador sabe o conteúdo e não tem como qualquer script ler