Laboratório de Administração e Segurança de Sistemas Instituto de Computação Universidade Estadual de Campinas Segurança e Vulnerabilidades de Redes Edmar Roberto Santana de Rezende edmar.rezende@ic.unicamp.br Mestrado Ciência da Computação
Apresentação! Cenário atual! Ameaças e vulnerabilidades Ataques para obtenção de informações Ataques ativos contra o TCP/IP Ataques de negação de serviço Ataques coordenados Ataques no nível de aplicação! Mecanismos de segurança Firewalls IDS (Intrusion Detection System) Criptografia! Referências
Cenário atual
Cenário atual Fatos marcantes! Internet Worm 2 de novembro de 1988 Autor: Robert Morris Jr. Parou cerca de 50% da Internet na época! Kevin Mitnick Considerado por muitos o maior hacker da história. Entrou no sistema de Dan Farmer e roubou uma versão ainda não lançada de seu software SATAN. 25 de Dezembro de 1994! invadiu o sistema pessoal de Tsutomo Shimomura (expert em segurança do Centro Nacional de Supercomputação em San Diego). Preso em fevereiro de 1995! libertado em janeiro de 2000. 25 acusações federais: fraude no sistema telefônico, roubo de software proprietário (ex: Sun, Motorola, Novell e Nokia), etc.
Cenário atual Retrospectiva 2000! Fevereiro de 2000 Ataques coordenados a grandes sites:! Yahoo!, E-Trade, Datek, ZDNet, Amazon.com, Buy.com, CNN.com e ebay.com.! No Brasil: o UOL e o Cadê?! Fevereiro e Setembro de 2000 números de cartões de crédito roubados por hackers:! RealNames! 20 mil! Western Union! 15 mil! Grupos brasileiros (Prime Suspectz e Insanity Zine): Assinaram invasões aos sites:! Banco Central, Congresso Nacional, Dell, UOL, Microsoft Brasil e às páginas brasileiras das empresas McAfee e Network Association.
Cenário atual Vírus e Worms! I love you (maio de 2000) Prejuízos: ~ US$11 bilhões! SirCam (julho de 2001) Cerca de 50 mil computadores infectados em 2001 Prejuízos: ~US$1,15 bilhões! Nimda (setembro de 2001) Cerca de 103 mil computadores infectados. Prejuízos: ~US$635 milhões! Code Red (metade de 2001) Cerca de 225 mil computadores infectados. Prejuízos: ~US$2,62 bilhões Total em 2001 = ~US$13,2 bilhões
Cenário atual Incidentes Ano Incidentes 1988 6 1989 132 Total 138 Ano Incidentes 1990 252 1991 406 1992 773 1993 1.334 1994 2.340 1995 2.412 1996 2.573 1997 2.134 1998 3.734 1999 9.859 Total 25.817 Ano Incidentes 2000 21.756 2001 52.658 *2002 43.136 Total 117.550 1º Semestre* "Total: 143.505 1988-2002 Fonte: CERT/CC (Computer Emergency Response Team / Coordination Center) http://www.cert.org
Cenário atual Incidentes Fonte: CERT/CC (Computer Emergency Response Team / Coordination Center) http://www.cert.org
Cenário atual Incidentes Brasil Fonte: NBSO (NIC BR Security Office) http://www.nbso.nic.br
Cenário atual Incidentes Brasil Fonte: NBSO (NIC BR Security Office) http://www.nbso.nic.br
Ameaças e Vulnerabilidades " Ataques para obtenção de informações " Ataques ativos contra o TCP/IP " Ataques de negação de serviço " Ataques coordenados " Ataques no nível de aplicação
Ameaças e Vulnerabilidades Ataques para obtenção de informações! Técnicas: Dumpster diving ou Trashing Engenharia Social Eavesdropping ou Packet Sniffing Scanning War dialing Firewalking
Ameaças e Vulnerabilidades Ataques para obtenção de informações! Dumpster diving ou Trashing Revirar o lixo a procura de informações. Pode revelar informações pessoais e confidenciais.! Engenharia Social Tem como objetivo enganar e ludibriar pessoas. Ataca o elo mais fraco da segurança! o usuário. Normalmente o atacante se faz passar por um funcionário da empresa.
! Eavesdropping ou Packet Sniffing Ameaças e Vulnerabilidades Ataques para obtenção de informações A interface de rede é colocada em modo promíscuo. Captura pacotes no mesmo segmento de rede. Senhas trafegam em claro (Telnet, FTP, POP, etc) 14:54:00.356981 10.1.1.45.ftp > 10.1.1.90.1458: P 69:111(42) ack 21 win 5840 (DF) 0x0000 4500 0052 9957 4000 4006 8ac6 0a01 012d E..R.W@.@...- 0x0010 0a01 015a 0015 05b2 2457 8112 1da0 6849...Z...$W...hI 0x0020 5018 16d0 8e1c 0000 3333 3120 5061 7373 P...331.Pass 0x0030 776f 7264 2072 6571 7569 7265 6420 666f word.required.fo 0x0040 7220 6164 6d69 6e69 7374 7261 646f 722e r.administrador. 0x0050 0d0a 14:54:12.986981 10.1.1.90.1458 > 10.1.1.45.ftp: P 21:36(15) ack 111 win 17410 (DF) 0x0000 4500 0037 a96e 4000 8006 3aca 0a01 015a E..7.n@...:...Z 0x0010 0a01 012d 05b2 0015 1da0 6849 2457 813c...-...hI$W.< 0x0020 5018 4402 06c2 0000 5041 5353 2070 736b P.D...PASS.psk 0x0030 4036 3779 640d 0a @67yd..
Ameaças e Vulnerabilidades Ataques para obtenção de informações! Scanning Port Scanning! Obtém informações a respeito dos serviços acessíveis (portas abertas) em um sistema. Scanning de vulnerabilidades! Obtém informações sobre vulnerabilidades específicas (conhecidas) para cada serviço em um sistema.! War dialing Realiza uma busca por modens. Modem! entrada alternativa para a rede
Ameaças e Vulnerabilidades Ataques para obtenção de informações! Firewalking Obtém informações sobre uma rede remota protegida por um firewall. Funcionamento similar ao traceroute. 1 143.106.16.148 (143.106.16.148) 1.970 ms 2 saserver.grad.dcc.unicamp.br (143.106.16.150) 0.582 ms 3 143.106.7.1 (143.106.7.1) 3.139 ms 4 capivari.dcc.unicamp.br (143.106.7.15) 1.288 ms 5 ansp-gw.unicamp.br (143.106.2.45) 1.730 ms 6 unicamp-fe02-core.cas.ansp.br (143.106.99.25) 3.485 ms 7 advansp-border.core.unicamp.br (143.106.99.73) 3.104 ms 8 spo-cps.ansp.br (143.108.254.129) 5.765 ms 9 rnp.ix.spo.ansp.br (200.136.34.2) 6.527 ms 10 mg-atm108.bb3.rnp.br (200.143.254.153) 21.774 ms 11 tutu.pop-mg.rnp.br (200.131.1.2) 17.328 ms 12 ufv4.pop-mg.rnp.br (200.19.158.18) 56.750 ms 13 * * * 14 atenas.cpd.ufv.br (200.17.79.41) 45.060 ms
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! Técnicas: Spoofing! ARP Spoofing! IP Spoofing! DNS Spoofing Man-in-the-middle! Session Hijacking Replay attack Fragmentação de pacotes
Ataques ativos contra o TCP/IP Ameaças e Vulnerabilidades! Spoofing Enganar a vítima fazendo-se passar por outro host.! Tipos: ARP Spoofing! Gerar respostas ARP falsas! ARP (Address Resolution Protocol) Mapeia: Endereços IP! Endereços MAC IP Spoofing! Gerar pacotes com endereço IP falso DNS Spoofing! Gerar respostas de DNS falsas! DNS (Domain Name Service) Mapeia: Nomes! Endereços IP
Ataques ativos contra o TCP/IP! ARP Spoofing Ameaças e Vulnerabilidades 1º Passo: Roteador 10.1.1.1 00:C0:3B:47:02:D4 arp reply 10.1.1.1 is-at 00:E0:4C:39:01:F3 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 00:50:56:C0:00:08 Atacante 10.1.1.7 00:E0:4C:39:01:F3
Ataques ativos contra o TCP/IP! ARP Spoofing Ameaças e Vulnerabilidades 2º Passo: Roteador 10.1.1.1 00:C0:3B:47:02:D4 arp reply 10.1.1.5 is-at 00:E0:4C:39:01:F3 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 00:50:56:C0:00:08 Atacante 10.1.1.7 00:E0:4C:39:01:F3
Ataques ativos contra o TCP/IP! ARP Spoofing Ameaças e Vulnerabilidades Resultado: Roteador 10.1.1.1 00:C0:3B:47:02:D4 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 00:50:56:C0:00:08 Atacante 10.1.1.7 00:E0:4C:39:01:F3 IP forwarding ligado
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! IP Spoofing UDP e ICMP: trivial TCP: maior grau de dificuldade 1) É necessário impedir que o host confiável responda. Impede que o host verdadeiro responda Atacante 200.131.10.20 Internet Host confiável 64.221.8.50 rsh vítima comando src: 64.221.8.50 dst: 143.106.7.8 Vítima 143.106.7.8
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! IP Spoofing 2) É necessário prever o número de sequência inicial. atacante servidor cliente
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! DNS Spoofing Contaminar o cache do servidor com resposta falsa. Dificuldade: Adivinhar o transaction ID. Atacante
Ataques ativos contra o TCP/IP Ameaças e Vulnerabilidades! Man-in-the-middle O atacante intercepta os dados e responde pelo cliente, podendo alterar os dados. Cliente IP Dados Atacante IP Dados Dados alterados Servidor Session hijacking O atacante derruba Conexão em andamento IP X Dados o cliente e mantém a conexão em andamento. Cliente Impede que o host responda Mantém a conexão em andamento Servidor Atacante
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! Replay attack Dados interceptados podem ser retransmitidos pelo atacante. É possível utilizar dados cifrados. IP Dados Cliente Interceptação dos dados Servidor Atacante Cliente IP Dados Reenvio dos dados Servidor Atacante
Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP! Fragmentação de pacotes Se tamanho do pacote > MTU do meio, então ocorre fragmentação. É possível sobrescrever cabeçalhos durante a remontagem dos pacotes! driblar as regras de filtragem do firewall. Fragmentação IP UDP Dados Fragmentação IP UDP Dados IP UDP Início dos dados IP Restante dos dados IP UDP Início dos dados IP TCP Dados alterados IP UDP Dados IP TCP Dados alterados Remontagem Remontagem
Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS)! Técnicas: Flooding! TCP SYN flooding! UDP flooding! ICMP flooding Smurf e Fraggle Teardrop Land Attack Ping of Death
Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS)! Flooding Inundar o servidor com requisições falsas.! Tipos: TCP SYN flooding UDP flooding ICMP flooding... Atacante 200.131.10.20 SYN SEQ=0 src=1.2.3.4:7 dst=64.221.8.50:80 SYN SEQ=0 src=1.2.3.4:6 dst=64.221.8.50:80 Internet SYN SEQ=0 src=1.2.3.4:5 dst=64.221.8.50:80 SYN SEQ=5324761 ACK=1 src=64.221.8.50:80 dst=1.2.3.4:5 Vítima 64.221.8.50 1. src=1.2.3.4:5 SEQ=1 2. src=1.2.3.4:6 SEQ=1 3. src=1.2.3.4:7 SEQ=1...
Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS)! Smurf e Fraggle Consistem em ataques de flood distribuído. Utilizam broadcasting em redes inteiras para amplificar seus efeitos. Utilizam o endereço IP da vítima como endereço de origem dos pacotes (IP Spoofing). Protocolo utilizado: Smurf! ICMP (ping) Fraggle! UDP (echo)
! Smurf e Fraggle Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) Etapa 1: Atacante 200.131.10.20 icmp echo request src: 200.221.8.50 dst: 143.106.10.255 Internet 143.106.7.8 Vítima 200.221.8.50 Roteador 143.106.10.1 143.106.10.0/24... 143.106.10.2 143.106.10.3 143.106.10.4 143.106.10.254
! Smurf e Fraggle Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) Etapa 2: Atacante 200.131.10.20 Internet 143.106.7.8 Vítima 200.221.8.50 Roteador 143.106.10.1 143.106.10.0/24... 143.106.10.2 143.106.10.3 143.106.10.4 143.106.10.254
! Smurf e Fraggle Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) Resultado: Atacante 200.131.10.20 Internet 143.106.7.8 Vítima 200.221.8.50 Roteador 143.106.10.1 143.106.10.0/24... 143.106.10.2 143.106.10.3 143.106.10.4 143.106.10.254
! Teardrop Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) Se aproveita de uma falha na implementação das rotinas de remontagem de pacotes. Consiste em enviar um pacote com um tamanho inválido! o sistema obtém um nº negativo ao calcular o offset. Resulta em crash do sistema.! Land Attack Consiste em conectar uma porta de um sistema a ela mesma. Causa o travamento do sistema em diversas plataformas.
Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS)! Ping of Death Consiste em enviar um pacote de ICMP echo request (ping) com mais de 65.507 bytes de dados. Tamanho máximo de um datagrama IP = 65.535 (2 16-1) bytes (RFC 791) Datagrama cabeçalho IP cabeçalho ICMP = 65.535 20 8 = 65.507 bytes de dados. Implementações do ping não permitem a emissão de datagramas inválidos, exceto Windows 95 e NT. Resulta em reboot, panic ou travamentos.
Ataques coordenados (DDoS)! Ferramentas: Fapi (1998) Blitznet Trin00 (jun/99)* TFN (ago/99)* Stacheldraht(set/99)* Shaft TFN2K(dez/99)* Trank Trin00 win version Ameaças e Vulnerabilidades
Ameaças e Vulnerabilidades Ataques coordenados (DDoS)! Etapas: 1. Intrusão em massa 2. Instalação do software DDoS 3. Disparo do ataque! Técnicas utilizadas: IP Spoofing SYN Flooding Pacotes decoy Execução de comandos remotos Fragmentação de pacotes Criptografia na comunicação entre o atacante e os masters
Ataques coordenados (DDoS)! Personagens Atacante Ameaças e Vulnerabilidades Masters Agentes Vítima
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Técnicas: Crackers de senha Buffer overflow Missing format string Exploits! Sistemas Operacionais! Protocolos! Aplicações Vírus, worms e trojans Rootkits e backdoors
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Crackers de senha Programas capazes de revelar senhas cifradas. Método:! Utilizam o mesmo algoritmo usado para cifrar as senhas.! Realizam análise comparativa. Técnicas:! Ataque de dicionário;! Ataque de força bruta;! Ambos. Desempenho:! Podem ser executados de forma distribuída.
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Buffer overflow Idéia básica:
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Buffer overflow Visa prover uma quantidade de dados maior do que a memória do programa/servidor pode suportar. Provoca um desvio no curso de execução do programa vulnerável.
Ataques no nível de aplicação Ameaças e Vulnerabilidades! Missing format string Programas usualmente não validam os dados de entrada. $mail_to = &get_name_from_input; #pegue o e-mail do formulário open (MAIL, /usr/lib/sendmail $mail_to ); print MAIL To: $mail_to\nfrom: me\n\nhi there!\n ; close MAIL; Se $mail_to for igual a joao@uol.com.br; cat /etc/passwd, o comando executado será: /usr/lib/sendmail joao@uol.com.br; cat /etc/passwd que além de enviar o e-mail pretendido, exibe uma cópia do arquivo de senhas do unix.
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Exploits Programas que exploram falhas conhecidas de segurança. Exploram falhas de:! Sistemas Operacionais! Protocolos! Aplicações Normalmente possuem man pages e podem ser facilmente obtidos na Internet. Permite a qualquer leigo se tornar um hacker (Script Kiddies).
Ataques no nível de aplicação Ameaças e Vulnerabilidades Vulnerabilidades descobertas Fonte: Security Focus - http:// www.securityfocus.com.br
Ataques no nível de aplicação Ameaças e Vulnerabilidades Vulnerabilidades conhecidas Fonte: Security Focus - http:// www.securityfocus.com.br
Ataques no nível de aplicação Ameaças e Vulnerabilidades Vulnerabilidades conhecidas Fonte: Security Focus - http:// www.securityfocus.com.br
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Vírus, worms e trojans Vírus Programa que se anexa aos arquivos na máquina alvo e realiza alguma ação indesejada. Worms Se diferem dos vírus por se espalharem automaticamente, sem necessidade de interação com o usuário. Trojans (Cavalos de Tróia) Qualquer programa legítimo que tenha sido alterado com a inserção de código não autorizado e que realiza uma função oculta e indesejável.
Ataques no nível de aplicação Ameaças e Vulnerabilidades! Worms atuais SirCam Técnicas avançadas de contágio, via e-mail e compartilhamento. Possui um servidor de e-mail próprio. Subject aleatório, pego de arquivos do computador da vítima. CodeRed Buffer overflow do Internet Information Service (IIS). Checa a data da vítima e gera uma lista aleatória de endereços IP para contágio. 1 a 19 de cada mês: fase de infestação. 20 a 28 de cada mês: atacar o site da Casa Branca.
Ataques no nível de aplicação Ameaças e Vulnerabilidades! Worms atuais Nimda Diferentes meios de disseminação:! Bug do IIS! E-mail, via Automatic Execution of Embedded MIME Types! JavaScript! Compartilhamento Klez Desabilita o anti-vírus. Não é preciso abrir o e-mail para o contágio. Faz o spoofing de sua origem. Servidor de e-mail próprio.
Ameaças e Vulnerabilidades Ataques no nível de aplicação! Rootkits e backdoors Rootkits Conjunto de ferramentas que o atacante instala no host vítima para ocultar sua presença e facilitar futuros acessos. Backdoors Programas que permitem acesso ao atacante por meio de portas desconhecidamente abertas no host vítima.
Mecanismos de Segurança 6 Firewalls 6 IDS (Intrusion Detection System) 6 Criptografia
Mecanismos de Segurança Firewalls! Definição: Sistema ou conjunto de sistemas que restringe o acesso entre duas redes.! Componentes: Packet-filter ( Static / Dynamic / Stateful) Proxy (Application-level / Circuit-level) NAT (Network Address Translation) VPN (Virtual Private Network)
Mecanismos de Segurança Firewalls! Packet-filter Realiza o roteamento seletivo de acordo com as informações do cabeçalho do pacote, como:! Endereço IP! Protocolo! Serviço! Estado! Flags
Mecanismos de Segurança Firewalls! Proxy Atua como um intermediário entre o cliente e o servidor.! Application-level: analisa o payload do pacote! Circuit-level: simplesmente repassa os dados
Mecanismos de Segurança Firewalls! NAT (Network Address Translation) Realiza a conversão de endereços IP (RFC 1631) Criado para solucionar o problema de escassez de endereços IPv4. Rede interna! endereços privados (RFC 1918): #10.0.0.0-10.255.255.255 #172.16.0.0-172.31.255.255 #192.168.0.0-192.168.255.255 Internet 143.106.7.8 10.1.1.1 NAT 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 10.1.1.6
Mecanismos de Segurança Firewalls! VPN (Virtual Private Network) Rede privada construída sobre a infra-estrutura de uma rede pública, normalmente a Internet. Vantagens:! Redução de custos! Conectividade global Desvantagens:! Implicações de segurança
Mecanismos de Segurança IDS (Intrusion Detection System)! Definição: Sistema de monitoramento, análise e detecção de atividades indevidas ou anômalas. Tipos:! Host-based Intrusion Detection System (HIDS)! Network-based Intrusion Detection System (NIDS)! Hybrid Intrusion Detection System (Hybrid IDS) Honeypots! Sistemas com a exclusiva finalidade de colher informações relativas a invasões e assinaturas de ataques.
Mecanismos de Segurança Criptografia! Definição: Arte ou processo de escrever em caracteres secretos ou em cifras.
Mecanismos de Segurança Criptografia! Visa garantir: Privacidade - garantia de que a mensagem não será entendida por um intruso. Integridade - garantia de que a mensagem não foi modificada por um eventual intruso ativo. Autenticidade - garantia de que o emissor da mensagem é realmente quem diz ser.! Alguns protocolos seguros: SSL SSH IPSec
Referências
Referências Livros! Practical Unix & Internet Security Simson Garfinkel and Gene Spafford! TCP/IP Illustrated, Volume I Richard Stevens! Building Internet Firewalls Brent Chapman! Firewalls and Internet Security Bill Cheswick and Steve Bellovin! Applied Cryptography Bruce Schneier! Segurança de Redes em Ambientes Cooperativos Emílio Tissato Nakamura e Paulo Lício de Geus
Referências Links! http://www.cert.org! http://www.nbso.nic.br! http://www.securityfocus.org! http://www.insecure.org! http://www.securenet.com.br! http://www.security.unicamp.br! http://www.securitybase.net! http://www.las.ic.unicamp.br