segunda-feira, 25 de outubro de 2010

'Cookie eterno' pode rastrear internauta e é impossível de apagar

O cookie é um recurso básico da web. Ele é criado quando um site solicita ao navegador que uma informação seja armazenada. Por exemplo, quando você faz login em um site, o site pede que o navegador armazene um código. Toda vez que você visitar outra página naquele site, o navegador enviará o código. O site estará preparado para saber que o internauta com aquele código é você e o manterá logado no sistema.

É por esse motivo que o chamado roubo de cookies é problemático. Se um site tem alguma brecha que permite o roubo dos cookies, o código armazenado pode ser injetado no navegador do criminoso, que irá acessar a página como se fosse você. Por motivos de segurança, cada site só pode ler os próprios cookies, ou seja, a Globo.com só pode ler os cookies criados por sites dela mesma. É preciso uma falha de segurança nos sites para permitir a leitura dos cookies.

Existem dois tipos de cookie: os cookies de sessão e aqueles que têm uma data de validade. Os cookies de sessão existem apenas até o navegador ser fechado. Quando você fecha o navegador, esses cookies são apagados. Um exemplo são os cookies em sistemas de login nos quais você não clicou em “lembrar de mim”.

Os cookies com data de validade permanecem no computador até serem removidos manualmente ou até a data especificada pelo site. Por questões técnicas, a data máxima hoje é o ano de 2038 – é claro que você não vai ficar com o mesmo computador até 2038, portanto essa é uma data simbólica. Alguns chamam os cookies marcados com validade até 2038 como “cookies eternos” por representaram a intenção do site de nunca remover aquele cookie.

Esses cookies de longa validade são usados por sistemas de login quando você clica em “lembrar de mim” – e o roubo deles é ainda mais perigoso. Eles são também usados por sistemas de publicidade na web, que rastreiam sua interação com anúncios para determinar qual é o seu perfil de acesso e ajudar a oferecer peças publicitárias mais próximas do seu interesse. Foram esses cookies que viraram alvo de softwares anti-spywares, que os consideravam uma forma de “espionar”, por mais que os cookies, em si, jamais carregassem qualquer informação pessoal.

De qualquer forma, é muito fácil remover os cookies. Os próprios navegadores permitem que o usuário faça isso e diversos aplicativos anti-spywares auxiliam a tarefa.

'Evercookie': o cookie que não pode ser removido

O cookie é um recurso intencional da web, criado quando se percebeu que era necessário identificar um mesmo internauta que acessava diferentes páginas de um site. O evercookie não é exatamente um cookie e sim um mecanismo criado pelo programador Samy Kamkar para armazenar uma informação de forma permanente no computador. Isso é possível graças ao uso subvertido de diversos recursos.

O evercookie é armazenado como um cookie normal, mas também como um “cookie” do Flash (chamado de Local Shared Object ou LSO), “cookie” específico do Internet Explorer, do Silverlight (tecnologia semelhante ao Flash, da Microsoft), como valores no banco de dados do HTML5 (outro recurso polêmico) e ainda como arquivos cacheados e no histórico da web.

No total, são 13 formas de armazenar a mesma informação, com mais duas previstas. Enquanto uma delas estiver presente, todas as demais podem ser recriadas, tornando o “cookie” permanente.

O evercookie é armazenado também no cache do navegador. O cache é composto pelos arquivos já baixados da internet e que são usados em várias páginas (como o logotipo do G1) e que ficam no disco para que o navegador não precise baixar de novo, acelerando a navegação. A informação do evercookie é armazenada em um arquivo em cache, enviado pelo servidor. Quando o navegador perguntar ao servidor se o arquivo em cache pode ser usado ou se ele precisa ser baixado novamente, o site pode “mentir” ao navegador que o arquivo (que nunca existiu) não mudou e que não é necessário baixá-lo novamente, sendo possível ler a informação que o navegador armazenou em cache, exatamente como um cookie.

Outra técnica interessante é a armazenagem do evercookie no histórico do navegador – o recurso que registra as páginas acessadas previamente. Ele armazena o cookie como uma sequência de endereços no histórico, que o navegador acessa silenciosamente durante o armazenamento do cookie. Para ler é preciso verificar todas as combinações possíveis do histórico – o que é muito rápido, porque o próprio navegador faz isso usando uma série de técnicas já conhecidas. Não existe maneira legítima de simplesmente “ler” o histórico – isso em si só acontece graças à subversão de outros recursos.

Por causa disso, eliminar um evercookie pode significar remover o histórico, o cache e várias outras informações armazenadas no PC que, a princípio, não deveriam ser resgatadas por um site na internet. E o pior: algumas delas nem são fáceis de serem removidas, não existindo um botão que simplesmente realize a tarefa de forma centralizada.

“Criei o evercookie para demonstrar o que já está acontecendo por aí e informar os usuários e a comunidade de segurança para que elas possam saber disso e prevenir esse tipo de rastreamento se assim quiserem. Fundamentalmente, é um teste para que a pessoa verifique se ela pode ser rastreada”, explicou Samy Kamkar, o autor do evercookie, em entrevista exclusiva ao G1.

Para Kamkar, o evercookie utiliza, sim, meios de armazenamento que nunca foram pensados como uma forma de armazenar e obter informações e não era previsível que eles poderiam ser usados dessa forma. “Os evercookies deveriam ser possíveis, mas também deveriam ser fáceis de remover”, afirmou.

São necessários seis passos para remover um evercookie do Firefox. No Chrome, são quatro. Para o Safari, no Mac, um código específico foi criado. O software de limpeza BleachBit é capaz de apagar os evercookies do Internet Explorer. Em alguns dispositivos, com o iPhone, apagar o evercookie é uma verdadeira guerra. Dos modos de navegação privada, apenas o do Safari impede completamente o evercookie.

Por outro lado, criar um evercookie é muito fácil. O código está disponível na internet, bem como a documentação de cada método. Um programador web pode facilmente adicioná-lo ao seu site. Por ora não há absolutamente nada prático que possa ser feito contra esses cookies que não diminui a experiência na web. E mais ainda: alguns métodos são compartilhados entre os navegadores, o que significa que um usuário pode ser rastreado mesmo após mudar de software.

Tecnologias concorrentes, como o Silverlight e o Flash, acabam sendo usadas, em conjunto, para um mesmo fim que, infelizmente, apenas piora a experiência do usuário na web – é contra as expectativas do internauta que um site ainda possa lembrá-lo depois de apagar os cookies.

É hora de desenvolvedores de navegadores e tecnologias web conversarem para definir como resolver o problema, pois não é razoável pensar que os usuários vão acessar diversos menus só para apagar uma única informação.

Nenhum comentário: