1 / 37

Seqüestro de Sessão

Seqüestro de Sessão. Leonardo de Oliveira Muller Rodrigo Benincá Machado Shirlei Aparecida de Chaves. Introducão. Preocupação de hoje: invasão e ataques. Habilidades para atacar não qualificam alguém para montar mecanismos de defesa. Estrutura da Apresentação. O que é seqüestro de sessão

mina
Download Presentation

Seqüestro de Sessão

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seqüestro de Sessão Leonardo de Oliveira Muller Rodrigo Benincá Machado Shirlei Aparecida de Chaves INE 5630 Segurança da Informação

  2. Introducão • Preocupação de hoje: invasão e ataques. • Habilidades para atacar não qualificam alguém para montar mecanismos de defesa. INE 5630 Segurança da Informação

  3. Estrutura da Apresentação • O que é seqüestro de sessão • Formas existentes para combater e prevenir esse tipo de invasão • Conclusões • Referências bibliográficas INE 5630 Segurança da Informação

  4. O que é seqüestro de sessão • Como o seu computador sabe que está falando com o computador que ele acha que está falando? • Quando a comunicação é estabelecida entre dois computadores, pelo uso de credenciais, ela é feita na fase de configuração da sessão, mas depois não mais. INE 5630 Segurança da Informação

  5. O que é seqüestro de sessão • Classificado em três categorias: • Ataque do Homem do meio • Roubo cego de sessão • Seqüestro de sessão INE 5630 Segurança da Informação

  6. O que é seqüestro de sessão • Ataque do Homem do Meio • Comunicação entre os dois hosts é interceptada • Comunicação passa a fluir pelo atacante • Alvos: protocolo que usam chave pública para proteger a comunicação. INE 5630 Segurança da Informação

  7. O que é seqüestro de sessão • Roubo Cego • Atacante pode adicionar comandos maliciosos na mensagem interceptada • Atacante não recebe confirmação de que o comando adicionado à mensagem foi efetivamente executado • Ataque geralmente muito efetivo INE 5630 Segurança da Informação

  8. O que é seqüestro de sessão • Seqüestro de Sessão • O termo seqüestro de sessão se refere à capacidade de um atacante assumir o controle de parte de uma sessão (normalmente uma conversação de rede) e agir como um dos participantes. O seqüestro de sessão explora a fragilidade inerente na maioria dos tipos de rede e de protocolos não criptografados, principalmente os que transmitem as informações livremente. (RUSSEL, 2002). INE 5630 Segurança da Informação

  9. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Estabelecimento de sessão TCP • Cliente envia um pacote de sincronização (SYN) x para o servidor como um número de seqüência inicial • Servidor responde com um pacote SYN/ACK que contêm o próprio número de seqüência p do servidor e o número ACK para o pacote SYN • O cliente informa ao servidor que tomou conhecimento desse pacote através do envio do pacote ACK com o próximo número de seqüência que é esperado pelo servidor, nesse caso p+1. INE 5630 Segurança da Informação

  10. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Estabelecimento de sessão TCP INE 5630 Segurança da Informação

  11. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados INE 5630 Segurança da Informação

  12. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados • Cliente envia para o servidor o caracter A num pacote com o número de seqüência x+1 • O servidor avisa que recebeu este pacote através do ACK x+2 como sendo o próximo número de seqüência esperado pelo servidor INE 5630 Segurança da Informação

  13. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Neste ponto o atacante deve: • Imitar o ip do cliente • Determinar o número de seqüência correto que é esperado pelo servidor do cliente • Adicionar dados na sessão antes que o cliente envie o próximo pacote INE 5630 Segurança da Informação

  14. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados às cegas INE 5630 Segurança da Informação

  15. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados às cegas • Se o servidor receber o pacote enviado pelo atacante, vai responder ao cliente com o ACK x+3 • Pacote confunde o cliente, ou porque ele não enviou dados ou porque a próxima seqüência esperada está incorreta INE 5630 Segurança da Informação

  16. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados às cegas • Pode causar um problema conhecido como TCP ACK storm • O cliente vai tentar re-sincronizar esta sessão através do envio para o servidor de um pacote ACK da seqüência que ele está esperando • Este pacote ACK vai conter uma seqüência que o servidor não está esperando, então ele vai reenviar ao cliente o último pacote ACK INE 5630 Segurança da Informação

  17. O que é seqüestro de sessão • Seqüestro de Sessão TCP • Envio de dados às cegas • Pode ser facilmente percebida por dispositivos como os sensores IDS (Intrusion Detection System) • O intruso pode então utilizar a manipulação da tabela ARP (Address Resolution Protocol) INE 5630 Segurança da Informação

  18. O que é seqüestro de sessão • Seqüestro de Sessão UDP • Protocolo DNS • Responsável pela resolução dos endereços de domínios para endereços IP’s • Um hacker pode fingir ser o servidor WEB e quando o cliente faz uma solicitação DNS ela ser resolvida para a máquina do hacker e não para a máquina servidor legítima • Muito usada para para roubar números de contas bancárias. INE 5630 Segurança da Informação

  19. O que é seqüestro de sessão • Seqüestro de Sessão UDP • Passos seguidos pelo hacker • O hacker finge ser o servidor Web, digamos, securityfocus.com; • O hacker programa sua máquina atacante para esperar uma requisição por esse nome e armazenar uma cópia do pacote; • O hacker extrai o ID de requisição e o utiliza para aprontar um pacote de resposta, preparado antecipadamente, que aponte para seu endereço IP; • O cliente, então, contata a máquina do hacker em vez de securityfocus.com; • O cliente vê uma mensagem equivalente a securityfocus encontrado. INE 5630 Segurança da Informação

  20. O que é seqüestro de sessão • Seqüestro de Sessão Nível Aplicação • Protocolo http • Não possui informações de estado • Servidores HTTP não mantêm qualquer informação a respeito dos navegadores que estão conectados a eles de uma solicitação para a outra INE 5630 Segurança da Informação

  21. O que é seqüestro de sessão • Seqüestro de Sessão Nível Aplicação • Protocolo http • Na próxima vez que ele receber uma solicitação, a mesma será tratada como se fosse a primeira daquela máquina • Gerenciamento de sessão fica por conta da aplicação INE 5630 Segurança da Informação

  22. O que é seqüestro de sessão • Seqüestro de Sessão Nível Aplicação • Protocolo http INE 5630 Segurança da Informação

  23. O que é seqüestro de sessão • Seqüestro de Sessão Nível Aplicação • Protocolo http INE 5630 Segurança da Informação

  24. O que é seqüestro de sessão • Ferramentas • Juggernaut • Criada por Route, editor da revista Phrack. Pioneira como ferramenta de seqüestro de sessão e sniffing • Escrita na linguagem C • Informações:http://staff.washington.edu/dittrich/talks/qsm-sec/P50-06.txt INE 5630 Segurança da Informação

  25. O que é seqüestro de sessão • Ferramentas • Hunt • Criada por Pavel Krautz, encontra-se na versão 1.5 • Possui modos de sniffing e seqüestro de sessão • Inclui ferramentas para realizar spoofing de ARP a fim de fazer os hosts vítimas buscarem uma máquina atacante, para eliminar os problemas de tempestade ACK normalmente associados a um seqüestro de sessão TCP • Informações : http://lin.fsid.cvut.cz/~kra/index.html#HUNT INE 5630 Segurança da Informação

  26. Combatendo e Prevenindo • Ações • A tentativa de seqüestro de sessão contra suas próprias aplicações ou rede (pouco recomendável) • Ideal: utilizar um paradigma de segurança. Por exemplo, usar protocolos de transporte que utilizem criptografia como Secure Shell (SSH), Secure Socket Layers (SSL), e Internet Protocol Security (IPSec) INE 5630 Segurança da Informação

  27. Combatendo e Prevenindo • Ações • Evitar se comunicar com sistemas de alta criticidade sem ser sobre um algoritmo de alta criptografia • Telnet e FTP são escolhas extremamente pobres e susceptíveis a seqüestros de sessão quando não protegidos por canais seguros INE 5630 Segurança da Informação

  28. Combatendo e Prevenindo • Ações • Na questão de sistema operacional utilizado, Russel (RUSSEL, 2002), cita que se acaba tendo que optar por alguma solução UNIX “(...)a única razão para isso é que algumas ferramentas de segurança estão disponíveis apenas para sistemas UNIX ou os que funcionam como ele.” INE 5630 Segurança da Informação

  29. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • Troca de identificadores de sessão • No caso do estado da sessão com identificadores de sessão (por exemplo, símbolos contidos nos cookies), examinar se o identificador ou cookie é ou não transmitido apenas por um canal criptografado, como SSL INE 5630 Segurança da Informação

  30. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • Troca de identificadores de sessão • No caso de usar autenticação de formulários, certificar-se de que o aplicativo criptografa os cookies de autenticação usando o atributo protection="All" do elemento <forms>. Essa prática é recomendada além do SSL para reduzir o risco de um ataque XXS (cross site scripting) que tenta roubar o cookie de autenticação de um usuário INE 5630 Segurança da Informação

  31. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • Troca de identificadores de sessão • Certificar-se de que o aplicativo não transmite identificadores de sessão em seqüências de caracteres de consulta. Essas seqüências de caracteres podem ser facilmente modificadas no cliente, permitindo que um usuário acesse o aplicativo como outro usuário, bem como acesse os dados particulares de outros usuários e possivelmente eleve privilégios INE 5630 Segurança da Informação

  32. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • A duração da sessão é restrita • Examinar por quanto tempo o aplicativo considera válido um identificador de sessão. O aplicativo deve limitar esse tempo para reduzir a ameaça de seqüestro de sessão e ataques de repetição INE 5630 Segurança da Informação

  33. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • Protegendo o armazenamento de estado da sessão • Examinar como o aplicativo armazena o estado da sessão. Ele pode ser armazenado no processo do aplicativo da Web, no serviço de estado de sessão ASP.NET ou no armazenamento de estados do SQL Server INE 5630 Segurança da Informação

  34. Combatendo e Prevenindo • Recomendações quanto ao seqüestro no nível de aplicação • Protegendo o armazenamento de estado da sessão • Se usar um armazenamento de estado remoto, certificar-se de que o link entre o servidor Web e o armazenamento remoto seja criptografado com IPSec ou SSL para proteger os dados durante a transmissão INE 5630 Segurança da Informação

  35. Combatendo e Prevenindo • Prevenção • Criptografia é hoje a principal forma de proteção, embora em alguns casos possa não ser 100% garantidas • Detecção • Utilizar ferramentas que observem alguns dos sinais desse tipo de ataque: conexões sendo reinicializadas ou “penduradas” (tempestades de ACK ou lixo estranho aparecendo na tela), por exemplo INE 5630 Segurança da Informação

  36. Conclusão • Não há como ter um sistema 100% imune a seqüestro de sessão, mas medidas preventivas e um bom conhecimento do assunto pelos responsáveis pela segurança podem, se não impedir essa situação, minimizar os efeitos negativos que podem ter sobre o sistema como um todo, incluindo a imagem da empresa atacada, pois o alvo geralmente são informações confidenciais de clientes. INE 5630 Segurança da Informação

  37. Referências Bibliográficas • Seqüestro de Sessão. Disponível em:http://www.geocities.com/siliconvalley/network/1493/security/fa/fa00002.htm. Acessado em: 05/11/2004. • LAM, Kevin & LeBLANC, David & SMITH Ben. Theft on the Web : Prevent Session Hijacking. Disponível em: http://www.microsoft.com/technet/technetmag/issues/2005/01/SessionHijacking/default.aspx. Acessado em: 07/11/2004. • MURILO, Nelson. "Para saber defender é preciso saber atacar". Disponível em: http://www.infoguerra.com.br/infonews/viewnews.cgi?newsid1079578716,19492, . Acessado em: 05/11/2004. • PITELLA, Felipe. Gerenciamento de Sessão. Disponível em: http://www.javafree.com.br/forum/viewtopic.php?t=1408 . Acessado em: 11/11/2004. • RUSSEL, Ryan at al. Rede Segura. Pág. 348 – 375. Alta Books, 2002. INE 5630 Segurança da Informação

More Related