GTS 02.03 Grupo de Trabalho em Segurança de Redes Checkhosts Monitoramento e Gerência de Sistemas Anderson Alves, Fernando Spencer, Marcelo Portes, Márcio de Albuquerque e Marita Maestrelli ceo@cbpf.br Rio de Janeiro Dezembro de 2003 1 Agenda 1 --Introdução 2 Sistema CheckHosts 3 Estrutura do do Sistema 4 Estudo de de Casos 5 Perspectivas e Conclusão 2
1. Introdução Crescimento da rede e da diversidade Acesso fácil a informação riscos Informação valiosa pode ser perdida, roubada, corrompida, mal-utilizada e/ou o sistema pode ser corrompido O intruso esconde as evidencias da atividade não autorizada Preocupação de todos 3 Ataques Motivações e Agentes Motivações Simples curiosidade Notoriedade Lucro Vingança Investigação Legal 1. Introdução Agentes Alunos Espiões Administradores de Rede Amparados pela lei Turista acidental Kids? 4
Porque investir na S.I.? Crescente número de ameaças Recursos cada vez mais complexos Ferramentas de ataques mais poderosas Proteger Competitividade Hora de trabalho Cumprimento da política de segurança Imagem 1. Introdução Ações de S.I. mais comuns Firewalls Sistema de detecção de intrusos (IDS) Contínua troca de senhas Monitoraramento dos usuários Trancar tudo é impossível! 5 Técnicas de Ataques Técnicas mais comuns Monitoramento / cópia de transmissões Sniffing Exploração de Erros de Configuração de serviços e permissões Programação (exploit, buffer overflow) Negação de Serviço Backdoor Varreduras Hosts e redes Engenharia Social 1. Introdução Variedades de ferramentas 6
Vulnerabilidades Vulnerabilidade: Falha que pode ser explorada por alguém que não é autorizado a usar um recurso Causa: erro de projetos ou falhas na implementação do sistema 1. Introdução Executar comandos como outro usuário Acessar dados restritos Colocar uma entidade desconhecida no sistema Conduzir um denial of service Vulnerabilidades Reportadas pelo CERT/CC Fonte: Computer Emergency Response Team / Coordination Center CERT/CC 5000 4000 3000 Até Out 2003 2.437 4.129 2.982 Dados até 17 Outubro 2003 2000 1000 0 1090 171 345 311 262 417 1995 1996 1997 1998 1999 2000 2001 2002 2003 Quando uma vulnerabilidade é aproveitada comprometendo o sistema ou a informação incidente de segurança 7 Incidentes Incidentes de segurança: Definidos de acordo com as regras locais de uma entidade O que para uns é um incidente para outros pode não ser Na prática: pode ser definido como uma atividade nas máquinas ou na rede que possa ameaçar a segurança dos sistemas computacionais. Incidentes Reportados ao CERT/CC 1. Introdução 140.000 120.000 100.000 80.000 Até Out 2003 82.094 114.855 60.000 52.658 40.000 20.000 0 21.756 2.412 2.573 2.134 3.734 9.859 1995 1996 1997 1998 1999 2000 2001 2002 2003 Fonte: Computer Emergency Response Team / Coordination Center CERT/CC Dados até 17 Outubro 2003 8
CBPF Ambiente de Rede Coordenação de Engenharia e Operações da Rede Rio Ponto de presença da RNP-RJ Importante ponto de troca de tráfego acadêmico Sistema de Gerência Pró-Ativo Sistema de gerência descentralizado e redundante Análise e previsão de tráfego Monitoramento de páginas HTML Gerência de fluxo de tráfego no backbone 1. Introdução Necessidade de monitorar serviços em equipamentos Alertar possíveis comprometimentos Painel Eletrônico Desenvolvimento do Checkhosts 9 2. Sistema CheckHosts Sistema de monitoramento 1-1-Etapa de de Cadastro Base de Dados CheckHosts Alvo Varredura de Portas PC Internet Armazenar base de de dados 2 Etapa de de Monitoramento Celular Diagrama Esquemático Modem Comparar estados do do equipamento Roteador Rede de Telefonia Alertar os os administradores Convencional Alvo 10
Etapa de Cadastro 2. Sistema Checkhosts checkhosts.conf [Equipamento] s Faixa de Portas Logs [Tipo de Alerta] E-mail Telefones [Visualização] Página wap Página web Scan Scan Equipamento Equipamento Armazena Armazena Configuração Configuração Válida Válida Armazena Armazena Log Log do do Scan Scan _checkhosts.db _checkhosts.log [Ação] Configurar firewall 11 Relatório do Cadastro 2. Sistema Checkhosts 12
Etapa de Monitoramento 2. Sistema Checkhosts Ip1_checkhosts.db Ip2_checkhosts.db Ip3_checkhosts.db Ipn_checkhosts.db... Varredura Varredura no no Equipamento Equipamento Portas Portas cadastro cadastro?? S Tipos de Alerta Alerta Alerta Ações Ações Equipamento Equipamento N Log Log Ip_checkhosts-ver.log 13 3. Estrutura do Sistema Varredura de de Portas e UDP O # e a porta permitem que qualquer aplicativo em uma máquina em rede seja identificado de forma exclusiva Porta de Origem: identifica o aplicativo na estação local que solicitou a transferência de dados Porta de Destino: definido pelo serviço solicitado a estação destino A IANA (Internet Assigned Numbers Authority) define os números de portas reservados (On-line database ou antiga RFC 1700) http://www.iana.org/numbers.htm (atualizações) atribuídos: [0, 1023] (não devem ser usadas) registrados: [1024, 65535] (registrados por empresas) dinâmicos : [1024, 65535] Portas 1024 podem ser usadas livremente 14
Protocolo 3. Estrutura do Sistema Como verificar se a porta está em estado de escuta? Seqüência de mensagens em um handshake de três vias CheckHosts Envia SYN seq=x Recebe SYN + ACK Envia ACK y+1 Mensagens da Rede Equip. Alvo Recebe um segmento SYN Envia SYN seq=y, ACK x+1 Recebe ACK Estabelecimento de uma conexão Handshake de três vias Segmento 1: bit SYN no campo de código Segmento 2: bits SYN e ACK confirmando o primeiro SYN e continuando o handshake Segmento 3: mensagem final de confirmação Garante que ambas as extremidades estão prontas para transmitir dados Checkhost encerra a conexão 15 Exemplo Porta Aberta 3. Estrutura do Sistema SYN SYN ACK dump # tcpdump host 192.168.y.y x tcpdump: listening on eth1 Seqüência : SYN 11:58:47.450932 netnix.44736 > 192.168.y.y.telnet Seqüência #2: SYN + ACK 11:58:47.453291 192.168.y.y.telnet > netnix.44736: 143536982 112138132,nop,[ tcp]> (DF) ACK 112138132[ tcp]> (DF) [tos 0x10] 4510 003c b7b0 4000 4006 c73e c814 5e46 9854 fd0d aec0 0017 377f a024 0000 0000 a002 16d0 d0bb 0000 0204 05b4 0402 080a 06af 1794 0000 4500 0040 afdb 4000 3e06 d11f 9854 fd0d c814 5e46 0017 aec0 d1b9 9b2b 377f a025 b012 6028 cc82 0000 0101 080a 088e 3356 06af 1794 0103 Fonte: Dump trace Seqüência #3: ACK 11:58:47.453353 netnix.44736 > 192.168.y.y. ack 1 112138133 143536982> (DF) [tos 0x10] 4510 0034 b7b1 4000 4006 c745 c814 5e46 9854 fd0d aec0 0017 377f a025 d1b9 9b2c 8010 16d0 56a5 0000 0101 080a 06af 1795 088e 3356 Cabeçalho - 32 bits 1 o byte 2 o byte 3 o byte 4 o byte Ver IHL Tipo Comprimento Total Identificação DF MF D. Fragmento Tmp Vida Proto CRC Cabeçalho Endereço de Origem Endereço de Destino Porta de Origem - 16 bits Porta de Destino - 16 bits Número de Seqüência Número de Confirmação HLEN U A P R S F Reser R C S S Y I vado G K H T N N Janela T C P CRC Ponteiro Urgente Opções Enchimento Dados Fonte: Comer, D.E. Interligação em Rede com / 16
Exemplo Porta Fechada 3. Estrutura do Sistema SYN dump # tcpdump host 192.168.y.y.3333 -x tcpdump: listening on eth1 Seqüência #2: Reset + ACK 12:01:17.580908 192.168.y.y.3333 > netnix.44742 Reset ACK Seqüência : SYN 12:01:17.575821 netnix.44742 > 192.168.y.y.3333 112153145[ tcp] > (DF) [tos 0x10] 4510 003c c585 4000 4006 2884 c814 5e46 c814 5e33 aec6 0d05 40f2 97bc 0000 0000 a002 16d0 f731 0000 0204 05b4 0402 080a 06af 5239 0000 4510 0028 3b43 4000 4006 b2da c814 5e33 c814 5e46 0d05 aec6 0000 0000 40f2 97bd 5014 0000 ceb2 0000 0204 05b4 0402 Fonte: Dump trace Cabeçalho - 32 bits 1 o byte 2 o byte 3 o byte 4 o byte Ver IHL Tipo Comprimento Total Identificação DF MF D. Fragmento Tmp Vida Proto CRC Cabeçalho Endereço de Origem Endereço de Destino Porta de Origem - 16 bits Porta de Destino - 16 bits Número de Seqüência Número de Confirmação HLEN U A P R S F Reser R C S S Y I vado G K H T N N Janela CRC Ponteiro Urgente Opções Enchimento Dados T C P Fonte: Comer, D.E. Interligação em Rede com / 17 Protocolo UDP 3. Estrutura do Sistema Como saber se a porta UDP está em estado de escuta? Ao receber ICMP port unreachable,após o envio de um pacote UDP o CheckHosts marca a porta como fechada. Pacote UDP ICMP port unreachable CheckHosts Alvo 18
Exemplo: Porta UDP 3. Estrutura do Sistema Envio de pacote UDP Pacote -UDP Cabeçalho -UDP 32 bits UDP 4500 0024 0000 4000 4011 ee26 c814 5e46 c814 5e33 8349 e0e1 0010 c97a 6161 6161 Fonte: Dump trace Ver 1 o byte IHL Tmp Vida Identificação 2 o byte 3 o byte 4 o byte Tipo Proto DF Endereço de Origem Comprimento Total MF CRC Cabeçalho D. Fragmento Endereço de Destino Porta de Origem - 16 bits Porta de Destino - 16 bits Comprimento UDP Dados CRC UDP U D P Fonte: Comer, D.E. Interligação em Rede com / 19 Exemplo: Porta UDP 3. Estrutura do Sistema Exemplo UDP ICMP port unreachable: porta fechada. Pacote -ICMP Cabeçalho -ICMP 32 bits ICMP Porta destino NÃO acessível 4500 0040 710b 4000 ff01 be0e c814 5e33 c814 5e46 0303 49c1 0000 0000 4500 0024 0000 4000 4011 ee26 c814 5e46 c814 5e33 8349 e0e1... Fonte: Dump trace Ver 1 o byte IHL Tmp Vida Tipo msg Identificação Identificador 2 o byte 3 o byte 4 o byte Tipo Proto DF Endereço de Origem Endereço de Destino Code msg Dados Comprimento Total MF CRC Cabeçalho CRC D. Fragmento Número de Sequência Pacote -UDP enviado anteriormente I C M P Fonte: Comer, D.E. Interligação em Rede com / 20
Tipos de Alertas 3. Estrutura do Sistema Tipos de Alerta Logs Via WEB Via WAP Via e-mail Ligação Celular 21 Exemplo de Alerta via E-mailE 3. Estrutura do Sistema mail 22
Exemplo de Histórico via Web 3. Estrutura do Sistema 23 Uso da tecnologia WAP Alerta via Celular 3. Estrutura do Sistema Diagrama Esquemático [Alerta] 14/11/2003 09:50:22 192.168.4.2:23 Base de Dados CheckHosts Varredura de Portas Internet Alvo PC Alvo Celular Modem Rede de Telefonia Convencional Roteador 24
Ação do CheckHosts 3. Estrutura do Sistema Sistema interagindo com firewall Bloqueio do do serviço Ação rápida e automática Aumenta o tempo para intervenção humana Problema resolvido (temporariamente) 25 Segurança no CH Softwares: Kernel e SO otimizados (só o necessário) Verificar assinatura dos arquivos do sistema (AIDE ou Tripwire) Habilitação de logs Atualização periódica do SO e dos utilitários Eliminar programas servidores desnecessários Filtro de pacotes sem atrapalhar as varreduras de portas Hardware Ponto de rede confiável e em posição estratégica No Breaks Acesso: Acesso restrito e criptografado (SSH) Instalação de um Sistema Detecção de Intrusos (tipo snort) cuidado com falsos alarmes 3. Estrutura do Sistema 26
4. Estudo de Casos Exemplos de atuações do CheckHosts 1. 1. Usuário local utilizando programa não autorizado 2. 2. Invasão de de um servidor 27 Caso 1 4. Estudo de Casos Usuário local utilizando programa não não autorizado Usuário CheckHosts Servidor Alvo Instituição A Roteador Internet Servidor de IRC 28
Invasão de um servidor em rede local 1... A,B P 4. D Estudo de Casos All Serviços Porta A B C Servidor Proto /UDP /UDP t 0 Configura o CH e o Firewall t 1 Invasor aproveita vulnerabilidade nos serviços de A e B e instala uma backdoor no Servidor Caso 2 Instituição B Monitoramento CH Proto /UDP Porta A,B CheckHosts Firewall Roteador Regras Regras do do Firewall Firewall Internet Invasor Permit/Deny Permit/Deny Porta Porta In/Out In/Out Proto Proto Deny Permit C A,B IN IN /UDP Permit A,B IN /UDP > R1 Permit IN > < R1 R2 Permit IN < R2 Deny others IN /UDP Deny others IN /UDP Ação do Checkhosts bloqueia a participação do Servidor no ataque 29 5. Perspectivas Atualizações previstas Base de de dados encriptada Alertar quando serviço é parado Verificar assinatura dos serviços Utilizar half-scan na na varredura Gerência via WEB 30
Conclusão Ferramenta para monitoramento de de serviços Comparação dos estados de de equipamentos Alertas gerados rapidamente Ações de de bloqueio de de serviços Software Livre 31 A Informação "Cabe lembrar que o mais importante sempre será a informação. A área de segurança trabalha numa tênue linha que visa proteger a informação, porém sem bloquear ou censurar Obrigado!!! 32
GTS 02.03 Grupo de Trabalho em Segurança de Redes Checkhosts Monitoramento e Gerência de Sistemas Anderson Alves de Albuquerque aaa@cbpf.br Fernando Spencer spencer@cbpf.br Marcelo Portes de Albuquerque marcelo@cbpf.br Márcio Portes de Albuquerque mpa@cbpf.br Marita Maestrelli marita@cbpf.br Rio de Janeiro Dezembro de 2003 33