Como se proteger contra o seqüestro de sessão

Nos últimos meses, de repente, nossos olhos se abriram para uma vulnerabilidade significativa da Web que está presente em muitos sites grandes, incluindo Facebook e Amazon.

Como se proteger contra o seqüestro de sessão

Essa vulnerabilidade sempre existiu, mas um cara chamado Eric Butler escreveu uma extensão do Firefox chamada Firesheep para destacar como é assustador – com apenas um clique do mouse, você pode se passar por alguém em muitos dos sites que eles usam, assim que acessarem eles.

A primeira coisa a esclarecer é que, se um site usa SSL, você está seguro

O principal problema é que os sites usam cookies para identificar usuários logados e estes, como qualquer chave, podem ser copiados e falsificados.

Isso não é novidade e é praticamente a única maneira sensata de trabalhar para sites que exigem um login (sim, você pode anexar strings ao URL de chamada, mas isso não é conveniente para prática).

Usando SSL

O problema surge se um site não emprega SSL para se comunicar entre o servidor e o cliente, de modo que qualquer outra pessoa no site mesma rede sem fio pode interceptar o tráfego e ler os dados contidos em um cookie para representar o logado do utilizador.

Dependendo de qual site eles estão conectados, isso pode significar a capacidade de realizar transações como esse usuário, além de ler suas mensagens ou alterar sua senha, bloqueando-o de seu conta.

A primeira coisa a esclarecer é que, se um site usa SSL – ou seja, se a conexão aparece na barra de endereço como https://sitename.com em vez de http://sitename.com - então você está bastante seguro.

O SSL criptografa todo o tráfego entre o servidor e o navegador, de modo que, mesmo que os dados sejam interceptados, eles precisam ser descriptografados, o que leva muito tempo para ser viável.

Portanto, conectar-se à sua conta bancária enquanto está sentado em uma cafeteria usando o Wi-Fi gratuito é bom (ou talvez seja melhor dizer que você não está vulnerável a esse modo específico de ataque).

O problema é que muitos sites não usam SSL, ou usam apenas na página de login (não no resto do site), e todas as páginas desprotegidas são potencialmente vulneráveis.

Vale a pena dedicar um segundo aqui para esclarecer por que um site pode usar SSL apenas para sua página de login, mas não para o resto do site. Por muito tempo, todos os sites sensatos usaram SSL sempre que um usuário faz login para criptografar o nome de usuário e a senha do usuário e impedir que alguém que esteja procurando por pacotes obtenha essas credenciais.

Descubra mais

Por que não usar SSL o tempo todo?

O problema é que geralmente essa é a única página criptografada, de modo que os dados passam pela rede em texto não criptografado e podem ser facilmente interceptados. Os dados desprotegidos incluem um cookie que valida o usuário para o servidor.

O ataque, conhecido como “sequestro de sessão”, envolve a análise de um cookie capturado, descobrindo como o usuário é autenticado no servidor, e, em seguida, usando essas informações para representar esse usuário - essencialmente enviando uma versão ligeiramente modificada do cookie de volta para o servidor.
O servidor acredita involuntariamente que o sequestrador é o usuário autenticado e enviará com prazer os dados do usuário.

Firesheep em poucos segundos

A primeira vez que você usa o Firesheep é assustador ver como é fácil realizar tais atos maliciosos.

O download e a instalação levam apenas alguns segundos. Em seguida, reinicie o Firefox e vá para Exibir | Barra lateral | Firesheep, onde uma barra lateral aparecerá. Na parte inferior, selecione Preferências e informe ao programa de qual interface de rede você deseja coletar dados.

Isso, normalmente, será sua interface sem fio. Depois é só clicar em Iniciar Captura e aguardar os dados das pessoas aparecerem. Sempre que alguém na mesma rede se conecta a um site que o Firesheep conhece, um ícone aparecerá, geralmente fornecendo o nome e o nome do site. Clique duas vezes nele e uma nova janela do navegador aparecerá, com você logado no mesmo site que o usuário…

Você pode tentar isso em sua rede doméstica (desde que não seja criptografada com WPA) ou então ir até a rede local café com seu laptop e experimente lá (embora, desnecessário dizer, você não deva sequestrar ninguém sessão).