Introdução
Na semana passada, pesquisadores de segurança da Universidade de Hamburgo publicaram um papel descrevendo um novo método que os sites podem usar para rastrear o histórico dos usuários do navegador. Sua técnica explora o recurso de retomada de sessão implementado no TLS protocolo.
TLS sessões
TLS é um protocolo criptográfico que os navegadores usam para proteger suas comunicações com servidores da web HTTPS, estabelecendo uma conexão criptografada entre um navegador e um servidor. No TLS jargão, o servidor cria um Sessão para cada um desses TLS conexão.
A criação de uma sessão requer que dados adicionais - como certificados digitais e chaves de criptografia - sejam trocados antes de quaisquer dados reais da web. O processo de estabelecer um TLS sessão é chamada de negociação de aperto de mão
Executando um aperto de mão para cada TLS a conexão requer mais largura de banda do que o HTTP não criptografado, e este é um dos principais problemas tratados na publicação recentemente publicada TLS 1.3 protocolo.
Se você quiser ler mais sobre a sobrecarga de desempenho imposta por TLS e que TLS 1.3 faz para reduzi-lo, consulte Este artigo.
TLS retomada da sessão
Para ajudar a aliviar a sobrecarga associada aos apertos de mão, TLS permite retomada da sessão, que permite que um navegador pule o processo de handshake com um servidor com o qual estabeleceu recentemente uma sessão.
Uma sessão dura por um período de tempo predeterminado, de alguns minutos a várias horas. Se o navegador revisita um servidor dentro da janela da sessão, o TLS a sessão pode ser retomada por meio de um único pedido de retomada, em vez de uma negociação de handshake completo (TLS 1.3 na verdade permite que um navegador envie dados do aplicativo junto com a solicitação de retomada da sessão, oferecendo efetivamente o mesmo desempenho rápido do HTTP não criptografado.)
Rastreando usuários com TLS retomada da sessão
Infelizmente, na maioria dos casos, a segurança e a utilidade são inversamente proporcionais, e os pesquisadores de Hamburgo demonstraram que a retomada da sessão melhora o desempenho às custas da privacidade dos usuários.
Várias técnicas foram usadas para rastrear usuários da Internet ao longo dos anos, como cookies persistentes ou impressões digitais do navegador. Todos eles foram projetados para permitir que os sites identifiquem um usuário de maneira única nas visitas, independentemente de seu endereço IP, local ou preferência de privacidade.
A este respeito, um TLS a retomada da sessão, estando unicamente ligada a um navegador específico, pode ser usada para rastrear usuários da mesma forma que os cookies. Essencialmente, quando um navegador retoma uma sessão, o site pode correlacionar a conexão com aquela que originalmente criou a sessão, mesmo se o usuário visitar de uma rede diferente (ou seja, endereço IP diferente) ou com configurações de privacidade diferentes (por exemplo, agente de usuário )
Ataque de prolongamento
Usando o método descrito acima, cada usuário individual pode ser rastreado por (no máximo) várias horas, com base na duração da janela da sessão negociada.
No entanto, um site pode renovar uma sessão por outro período de tempo em cada retomada da sessão, redefinindo a janela da sessão e efetivamente estendendo a vida útil da sessão indefinidamente. O artigo chama essa técnica de ataque de prolongamento.
Os pesquisadores demonstraram que esta técnica pode ser usada para permanentemente rastreie 65% dos usuários em seu conjunto de dados, porque esses usuários tendem a visitar sites de rastreamento com mais frequência do que as sessões expiram.
Além disso, eles mostraram que os sites podem usar o conteúdo incorporado para rastrear seus usuários, mesmo em sites diferentes. Por exemplo, uma rede de anúncios que incorporou anúncios em milhões de sites pode rastrear usuários individuais em todos os esses sites. (Observe que alguns navegadores, como mencionado no documento, bloqueiam solicitações de retomada de sessão de sites de terceiros).
Eu sou vulnerável?
Em termos de protocolo, todos TLS versões (incluindo as mais recentes TLS 1.3) fornecer um mecanismo para retomada da sessão, o que significa que os usuários podem ser rastreados usando esta técnica, independentemente de TLS versão.
Além disso, de 48 navegadores testados no artigo, apenas 3 foram desativados TLS retomada da sessão. Esses navegadores são:
- JonDoBrowserName
- Tor Navegador
- Orbot (para celular)
Para testar se o seu navegador (ou outro software cliente) é vulnerável a essa técnica de rastreamento, você pode usar esta ferramenta para gerar um relatório sobre o seu cliente TLS .
Verifique a seção “Detalhes do protocolo” - se “Tickets de sessão” estiver definido como “Sim”, a retomada da sessão está habilitada em seu navegador e você pode ser rastreado.
Existe uma correção?
TLS tíquetes de retomada de sessão são armazenados no navegador TLS cache, que é destruído sempre que o processo do navegador é fechado.
Se você fechar o navegador regularmente e a privacidade extrema não for uma necessidade absoluta, você deve estar seguro com esse método.
Infelizmente, a maioria dos sistemas operacionais móveis modernos mantém os aplicativos “sempre ativos”, o que significa que não é incomum que uma instância do navegador permaneça ativa por dias a fio. Mesmo que isso seja um tanto implausível, há casos em que é possível que um usuário seja rastreado no mundo real.
Por esse motivo, vários grupos de usuários orientados para a privacidade estão pedindo aos navegadores que desabilitem esse recurso (ou pelo menos adicionem uma opção para desabilitá-lo). No momento da redação deste artigo, no entanto, nenhum navegador importante discutiu publicamente o assunto.
Enquanto isso, se precisar de mais privacidade, você pode visitar um site no modo “incógnito” ou “privacidade”. Um navegador usando o modo de privacidade criará um novo TLS cache que não terá acesso aos tíquetes de retomada da sessão normal.
Caso contrário, você pode mudar temporariamente para um dos três navegadores que não oferecem suporte à retomada de sessão. Como alternativa, você pode desativar manualmente esse recurso no Firefox usando o seguinte método.
Desativar identificadores de sessão no Mozilla Firefox
O Mozilla Firefox era corrigido em 2014 para oferecer suporte a uma opção não documentada na configuração do navegador para desativar o reinício da sessão.
Para desativar a retomada da sessão, você deve visitar about:config
em um Firefox (clique em “Aceito o risco” para prosseguir). O Firefox mostrará uma lista de preferências para o seu navegador.
Clique com o botão direito em qualquer preferência e selecione “Novo” e “Booleano”, como mostrado na imagem a seguir.
Uma mensagem pop-up será exibida solicitando o nome da preferência. Tipo:
segurança.ssl.disable_session_identifiers
E selecione “verdadeiro” para o valor. Se você fez tudo corretamente, deve estar vendo algo semelhante à imagem abaixo.
Se você agora visita o Ferramenta de verificação de navegador SSL com o seu Firefox, ele deve informar que os “tickets de sessão” estão desabilitados, o que significa que você está protegido TLS rastreamento de sessão.
Mozilla começará a bloquear todos os rastreadores de terceiros
Finalmente, a Mozilla tem anunciou recentemente] que eles estão mudando sua política de conteúdo. Eles introduziram um novo recurso chamado Bloqueio de Conteúdo in (atualmente mais recente) versão 63, que permite aos usuários bloquear qualquer conteúdo de terceiros que o Firefox detecte nos sites.
Além do mais, na versão 65 o Firefox começará a bloquear todos os conteúdo de terceiros por padrão; Dessa forma, os usuários terão que dar permissão explícita antes que qualquer conteúdo externo seja renderizado.
Além das enormes melhorias na privacidade do usuário, esta nova política de bloqueio de conteúdo também reduzirá inadvertidamente o impacto da segurança do TLS técnica de retomada da sessão. Embora isso não seja de forma alguma uma solução completa, os sites só serão capazes de rastrear os usuários do Firefox quando eles realmente os visitarem, uma vez que o rastreamento entre sites depende de conteúdo de terceiros.
Conclusão
Felizmente, rastrear usuários com TLS provou ser plausível, mas não prático para a maioria dos usuários da Internet. Independentemente disso, há casos em que a privacidade absoluta é necessária e, embora existam soluções temporárias (como a correção do Firefox que descrevemos acima), podemos esperar uma mitigação apropriada dos principais fornecedores de navegadores em breve.
Como sempre, obrigado por escolher SSL.com - onde acreditamos que um mais segura Internet é uma better Internet.