Ir para o conteúdo principal

O que é sequestro de sessão e como funciona?

Uma mulher trabalhando em um laptop

O login em sites ou portais é uma parte diária do uso da Internet para a maioria das pessoas. Cada vez que você faz login em um site, uma sessão é criada. Uma sessão é a comunicação entre dois sistemas, que permanece ativa até que o usuário termine a comunicação. Iniciar uma sessão é essencial para que a comunicação ocorra pela Internet, mas também causa um risco de sequestro de sessão. Continue lendo para saber mais sobre o sequestro de sessão, como funciona e como se proteger.

O que é um sequestro de sessão?

O sequestro de sessão – às vezes chamado de sequestro de cookie, side-jacking de cookie ou sequestro de sessão TCP – ocorre quando um invasor assume o controle de sua sessão de Internet. Isso pode acontecer quando você faz compras online, paga uma conta ou verifica seu saldo bancário. Os sequestradores de sessão geralmente têm como alvo navegadores ou aplicativos da Web, e seu objetivo é assumir o controle de sua sessão de navegação para obter acesso às suas informações pessoais e senhas.

Os sequestradores de sessão enganam os sites fazendo-os pensar que são você. Esse tipo de ataque pode ter consequências graves para a segurança dos aplicativos porque permite que os invasores obtenham acesso não autorizado a contas protegidas (e aos dados que contêm) disfarçando-se de usuários legítimos.

O que é uma sessão?

Cada vez que um usuário acessa um site ou aplicativo por meio de uma conexão HTTP, o serviço autentica o usuário (por exemplo, por meio de nome de usuário e senha) antes de abrir a linha de comunicação e fornecer acesso. No entanto, as conexões HTTP por si só são "sem estado", o que significa que cada ação realizada por um usuário é visualizada de forma independente. Como consequência, se dependêssemos apenas de HTTP, os usuários teriam que se autenticar novamente para cada ação realizada ou página visualizada.

As sessões superam esse desafio. Uma sessão é criada no servidor que hospeda o site ou o aplicativo assim que o usuário faz login e serve como referência para a autenticação inicial. Os usuários podem permanecer autenticados enquanto uma sessão permanecer aberta no servidor e podem encerrar uma sessão fazendo logout do serviço. Alguns serviços encerram uma sessão após um determinado período de inatividade.

Muitos serviços criam essas sessões emitindo um ID de sessão, uma sequência de números e letras armazenadas em cookies de uma sessão temporária, URLs, ou campos ocultos no site. Em alguns casos, mas não em todos, esses IDs de sessão são criptografados. Frequentemente, os IDs de sessão são baseados em informações previsíveis, como o endereço IP de um usuário.

Como funciona o sequestro de sessão?

Aqui está um exemplo hipotético de como o sequestro de sessão pode funcionar:

Etapa 1: Um usuário da Internet faz login em uma conta normalmente. 

Pode ser uma conta bancária online ou de cartão de crédito, uma loja online, um aplicativo ou portal. O aplicativo ou site instala um cookie de sessão temporário no navegador do usuário. Esse cookie contém informações sobre o usuário que permitem ao site mantê-lo autenticado e conectado e rastrear sua atividade durante a sessão. O cookie de sessão permanecerá no navegador até que o usuário faça logout (ou seja automaticamente desconectado após um determinado período de inatividade).

Etapa 2: Um criminoso consegue acesso à sessão válida do usuário na Internet. 

Os criminosos cibernéticos usam vários métodos para roubar sessões. Frequentemente, sequestro de sessão envolve roubar o cookie da sessão do usuário, localizar o ID da sessão dentro do cookie e usar essas informações para assumir o controle da sessão. O ID da sessão também é conhecido como chave de sessão. Quando o criminoso obtém o ID da sessão, ele pode assumir o controle da sessão sem ser detectado.

Etapa 3: O sequestrador da sessão recebe uma recompensa por roubar a sessão.

Depois que o usuário original da Internet continuar sua jornada online, o sequestrador poderá usar a sessão em andamento para cometer vários atos mal-intencionados. Isso pode incluir roubar dinheiro da conta bancária do usuário, comprar itens, obter dados pessoais para cometer roubo de identidade ou criptografar dados importantes e depois exigir um resgate pela sua devolução.

Os ataques de sequestro de sessão são geralmente realizados contra redes ocupadas com um grande número de sessões de comunicação ativas. Isso fornece ao invasor um grande volume de sessões para explorar e oferece a ele uma medida de proteção – porque o número de sessões ativas no servidor diminui a probabilidade de serem detectadas.

Tipos de sequestro de sessão

Cross-site scripting

Um ataque cross-site scripting envolve criminosos cibernéticos explorando pontos fracos de segurança em um servidor ou aplicativo da Web. Cross-site scripting envolve um invasor injetando scripts em páginas da Web. Isso faz com que seu navegador revele sua chave de sessão ao invasor para que ele possa assumir o controle da sessão.

Sidejacking de sessão (também conhecido como sniffing de sessão)

Nesse tipo de ataque, um criminoso precisa de acesso ao tráfego de rede de um usuário. Ele pode obter acesso quando o usuário usa uma rede Wi-Fi insegura ou participando de ataques man-in-the-middle. No sidejacking de sessão, um criminoso usa "sniffing de pacotes" para monitorar o tráfego de rede de um usuário da Internet para procurar sessões. Isso permite que o invasor obtenha um cookie de sessão e o utilize para assumir o controle da sessão.

Fixação de sessão 

Em um ataque de fixação de sessão, o criminoso cria um ID de sessão e engana o usuário para que ele inicie uma sessão com ele. Isso pode ser conseguido enviando um e-mail para o usuário com um link para um formulário de login no site que o invasor deseja acessar. O usuário faz login com o ID de sessão falso, dando ao invasor uma oportunidade.

Ataque man-in-the-browser

Ele é semelhante a um ataque man-in-the-middle, mas o invasor deve primeiro infectar o computador da vítima com um cavalo de Troia. Depois que a vítima é enganada para instalar malware no sistema, o malware espera que a vítima visite o site desejado. O malware man-in-the-browser pode modificar de forma invisível as informações das transações e também criar transações adicionais sem que o usuário saiba. Como as solicitações são iniciadas no computador da vítima, é muito difícil para o serviço Web detectar que as solicitações são falsas.

ID de token de sessões previsíveis

Muitos servidores Web usam um algoritmo personalizado ou padrão predefinido para gerar IDs de sessão. Quanto mais previsível for um token de sessão, mais fraco ele será. Se os invasores conseguirem capturar vários IDs e analisar o padrão, eles poderão prever um ID de sessão válido. (Essa abordagem pode ser comparada a um ataque de força bruta.)

Uma mulher fazendo login em um site de banco online

Como o sequestro de sessão difere do spoofing de sessão?

O sequestro de sessão e o spoofing de sessão compartilham semelhanças, mas não são o mesmo tipo de ataque. A principal diferença entre os dois é que o sequestro de sessão ocorre quando um usuário legítimo já está conectado em uma sessão da Web. Por outro lado, o spoofing de sessão ocorre quando os invasores se fazem passar por um usuário para iniciar uma nova sessão da Web (o que significa que o usuário não precisa estar conectado naquele momento).

Essa distinção significa que os usuários legítimos enfrentam os ataques de forma diferente. Com o sequestro de sessão, um invasor que interrompa a sessão pode fazer com que o site ou o aplicativo se comporte de maneira incomum ou até mesmo trave para a vítima. No entanto, como o usuário não está conectado ativamente durante um ataque de spoofing de sessão, ele não sofrerá nenhuma interrupção durante a próxima sessão.

Impacto de ataques de sequestro de sessão

Existem muitos riscos associados à não adoção de medidas para evitar o sequestro de sessão. Alguns desses perigos incluem:

Roubo de identidade 

Ao obter acesso não autorizado a informações pessoais confidenciais salvas em contas, os invasores podem roubar a identidade da vítima além dos limites do site ou aplicativo invadido.

Roubo financeiro

Por meio do sequestro de sessão, os invasores podem realizar transações financeiras em nome do usuário. Isso pode envolver a transferência de dinheiro de uma conta bancária ou a realização de compras com informações de pagamento salvas.

Infecção por malware

Se um hacker conseguir roubar o ID de sessão de um usuário, ele também poderá infectar o computador do usuário com malware. Isso permite que eles obtenham o controle do computador do alvo e roubem seus dados.

Ataques de negação de serviço (DoS)

Um hacker que obtiver o controle da sessão de um usuário pode lançar um ataque DoS contra o site ou o servidor ao qual está conectado, interrompendo o serviço ou causando o travamento do site.

Acesso a sistemas adicionais através de SSO

SSO significa "login único". Os invasores também podem obter acesso não autorizado a sistemas adicionais se SSO estiver ativado, espalhando ainda mais o possível risco de um ataque de sequestro de sessão. Esse risco é particularmente importante para as organizações, muitas das quais permitem agora SSO para os funcionários. Em última análise, isso significa que mesmo sistemas altamente protegidos com protocolos de autenticação mais fortes e cookies de sessão menos previsíveis, como aqueles que armazenam informações financeiras ou de clientes, serão tão protegidos apenas quanto o elo mais fraco de todo o sistema.

Exemplos de ataque de sequestro de sessão

Zoom bombing

Durante a pandemia de Covid-19, o mundo recorreu a aplicativos de videoconferência como o Zoom. Esses aplicativos se tornaram um alvo popular de sequestradores de sessão, ganhando até o apelido de "zoom bombing". Houve notícias de sequestradores de sessão ingressando em sessões de vídeo privadas, em alguns casos, gritando palavrões, linguagem de ódio e compartilhando imagens pornográficas. Em resposta, o Zoom introduziu melhores proteções de privacidade para minimizar o risco.

Slack

Em 2019, um pesquisador em uma plataforma de recompensas por bugs identificou uma vulnerabilidade no Slack que permitiu que invasores forçassem os usuários a redirecionamentos de sessão falsos para que pudessem roubar seus cookies de sessão. Isso deu aos invasores acesso a quaisquer dados compartilhados no Slack (o que, para muitas organizações, pode ser significativo). O Slack respondeu rapidamente e corrigiu a vulnerabilidade 24 horas após o pesquisador destacá-la.

GitLab

Em 2017, um pesquisador de segurança identificou uma vulnerabilidade no GitLab onde os tokens de sessão dos usuários estavam disponíveis diretamente no URL. Investigações adicionais revelaram que o GitLab também usava tokens de sessão persistentes que nunca expiravam, o que significava que, uma vez que um invasor obtivesse um token de sessão, ele poderia usá-lo sem a preocupação de expirar. Essa combinação de exposição aberta e tokens persistentes representava um risco sério, expondo os usuários a vários ataques graves por meio de sequestro de sessão via ataque de força bruta. O GitLab corrigiu a vulnerabilidade alterando a forma como usava e armazenava esses tokens.

Como evitar sequestro de sessão

Siga estas dicas de prevenção de sequestro de sessão para aumentar sua segurança online:

Evite redes Wi-Fi públicas

Evite realizar transações importantes, como transações bancárias, compras online ou fazer login em seu e-mail ou contas de rede social em redes Wi-Fi públicas. Pode haver um criminoso cibernético por perto que esteja usando sniffing de pacotes para tentar coletar cookies de sessão e outras informações.

Use uma VPN

Se você precisar usar uma rede Wi-Fi pública, use uma Rede Privada Virtual (VPN) para maximizar sua segurança e manter os sequestradores fora de suas sessões. Uma VPN mascara seu endereço IP e mantém suas atividades online privadas criando um túnel privado através do qual trafegam todas as suas atividades online. Uma VPN criptografa os dados que você envia e recebe.

Fique atento a phishing e outros golpes online

Evite clicar em qualquer link de e-mail, a menos que saiba que é de um remetente legítimo. Os sequestradores de sessão podem enviar a você um e-mail com um link para clicar. O link pode instalar malware em seu dispositivo ou levar você a uma página de login que entrará em um site usando um ID de sessão preparado pelo invasor.

Esteja ciente sobre a segurança do site

Bancos respeitáveis, provedores de e-mail, varejistas online e sites de rede social possuem salvaguardas para evitar o sequestro de sessões. Procure sites cujo URL comece com HTTPS – o S significa "seguro". Usar lojas online questionáveis ou outros provedores que podem não ter segurança robusta pode deixá-lo vulnerável a um ataque de sequestro de sessão.

Use software antivírus 

Instale um software antivírus com boa reputação que consiga detectar vírus facilmente e protegê-lo contra qualquer tipo de malware (incluindo malware que os invasores usem para realizar sequestro de sessões). Mantenha seus sistemas atualizados configurando atualizações automáticas em todos os seus dispositivos.

Produtos relacionados:

Mais leitura:

O que é sequestro de sessão e como funciona?

O sequestro de sessão envolve um invasor assumindo o controle de sua sessão de Internet para obter acesso não autorizado a dados ou recursos. Saiba mais.
Kaspersky logo

Artigos relacionados