seqüestro de sessão

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

Upload: mina

Post on 18-Jan-2016

47 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Seqüestro de Sessão

INE 5630 Segurança da Informação

Seqüestro de Sessão

Leonardo de Oliveira MullerRodrigo Benincá MachadoShirlei Aparecida de Chaves

Page 2: Seqüestro de Sessão

INE 5630 Segurança da Informação

Introducão

Preocupação de hoje: invasão e ataques.

Habilidades para atacar não qualificam alguém para montar mecanismos de defesa.

Page 3: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 4: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 5: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 6: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 7: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 8: Seqüestro de Sessão

INE 5630 Segurança da Informação

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).

Page 9: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 10: Seqüestro de Sessão

INE 5630 Segurança da Informação

O que é seqüestro de sessão

Seqüestro de Sessão TCP Estabelecimento de sessão TCP

Page 11: Seqüestro de Sessão

INE 5630 Segurança da Informação

O que é seqüestro de sessão

Seqüestro de Sessão TCP Envio de dados

Page 12: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 13: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 14: Seqüestro de Sessão

INE 5630 Segurança da Informação

O que é seqüestro de sessão

Seqüestro de Sessão TCP Envio de dados às cegas

Page 15: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 16: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 17: Seqüestro de Sessão

INE 5630 Segurança da Informação

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)

Page 18: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 19: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 20: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 21: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 22: Seqüestro de Sessão

INE 5630 Segurança da Informação

O que é seqüestro de sessão Seqüestro de Sessão Nível Aplicação

Protocolo http Vulnerabilidade Implicações

Transmitir identificadores de sessão por canais sem criptografia

Os invasores podem capturar os identificadores de sessão para falsificar a identificação.

Tempo prolongado de sessão.

Isso aumenta o risco de seqüestro da sessão e de ataques de repetição.

Page 23: Seqüestro de Sessão

INE 5630 Segurança da Informação

O que é seqüestro de sessão Seqüestro de Sessão Nível Aplicação

Protocolo http Vulnerabilidade Implicações

Armazenamentos inseguros de estado da sessão

Os invasores podem acessar os dados de uma sessão particular de um usuário.

Identificadores de sessão em seqüências de caracteres de consulta

Os identificadores de sessão podem ser modificados facilmente no cliente para se falsificar a identificação e acessar o aplicativo como outro usuário.

Page 24: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 25: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 26: Seqüestro de Sessão

INE 5630 Segurança da Informação

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)

Page 27: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 28: Seqüestro de Sessão

INE 5630 Segurança da Informação

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 algumasferramentas de segurança estão disponíveis apenas para sistemas UNIX ou os que funcionam

como ele.”

Page 29: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 30: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 31: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 32: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 33: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 34: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 35: Seqüestro de Sessão

INE 5630 Segurança da Informação

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

Page 36: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.

Page 37: Seqüestro de Sessão

INE 5630 Segurança da Informação

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.