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 – – – – – ! Mecanismos de segurança – – – ! 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 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: ! ! ! Fevereiro e Setembro de 2000 – números de cartões de crédito roubados por hackers: ! ! ! Yahoo! , E-Trade, Datek , ZDNet, Amazon.com, Buy.com, CNN.com e eBay.com. No Brasil: o UOL e o Cadê? 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) – ! “SirCam” (julho de 2001) – – ! Cerca de 50 mil computadores infectados em 2001 Prejuízos: ~US$1,15 bilhões “Nimda” (setembro de 2001) – – ! Prejuízos: ~ US$11 bilhões 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 1988 1989 Total Incidentes 6 132 138 Ano 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 Total Incidentes 252 406 773 1.334 2.340 2.412 2.573 2.134 3.734 9.859 25.817 Ano 2000 2001 *2002 Total Incidentes 21.756 52.658 43.136 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. Ameaças e Vulnerabilidades Ataques para obtenção de informações ! Eavesdropping ou Packet Sniffing – – – 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 0x0000 4500 0052 9957 4000 0x0010 0a01 015a 0015 05b2 0x0020 5018 16d0 8e1c 0000 0x0030 776f 7264 2072 6571 0x0040 7220 6164 6d69 6e69 0x0050 0d0a > 10.1.1.90.1458: P 69:111(42) ack 21 win 5840 (DF) 4006 8ac6 0a01 012d E..R.W@.@......2457 8112 1da0 6849 ...Z....$W....hI 3333 3120 5061 7373 P.......331.Pass 7569 7265 6420 666f word.required.fo 7374 7261 646f 722e r.administrador. 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 ! – Scanning de vulnerabilidades ! ! Obtém informações a respeito dos serviços acessíveis (portas abertas) em um sistema. 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 2 3 4 5 6 7 8 9 10 11 12 13 14 143.106.16.148 (143.106.16.148) 1.970 ms saserver.grad.dcc.unicamp.br (143.106.16.150) 0.582 ms 143.106.7.1 (143.106.7.1) 3.139 ms capivari.dcc.unicamp.br (143.106.7.15) 1.288 ms ansp-gw.unicamp.br (143.106.2.45) 1.730 ms unicamp-fe02-core.cas.ansp.br (143.106.99.25) 3.485 ms advansp-border.core.unicamp.br (143.106.99.73) 3.104 ms spo-cps.ansp.br (143.108.254.129) 5.765 ms rnp.ix.spo.ansp.br (200.136.34.2) 6.527 ms mg-atm108.bb3.rnp.br (200.143.254.153) 21.774 ms tutu.pop-mg.rnp.br (200.131.1.2) 17.328 ms ufv4.pop-mg.rnp.br (200.19.158.18) 56.750 ms * * * atenas.cpd.ufv.br (200.17.79.41) 45.060 ms – Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! Técnicas: – Spoofing ! ! ! – Man-in-the-middle ! – – ARP Spoofing IP Spoofing DNS Spoofing Session Hijacking Replay attack Fragmentação de pacotes Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! Spoofing – ! Enganar a vítima fazendo-se passar por outro host. Tipos: – ARP Spoofing ! ! – IP Spoofing ! – Gerar respostas ARP falsas ARP (Address Resolution Protocol) Mapeia: Endereços IP ! Endereços MAC Gerar pacotes com endereço IP falso DNS Spoofing ! ! Gerar respostas de DNS falsas DNS (Domain Name Service) Mapeia: Nomes ! Endereços IP Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! ARP Spoofing 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 Atacante 10.1.1.7 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 Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! ARP Spoofing 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 Atacante 10.1.1.7 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 Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! ARP Spoofing Resultado: Roteador 10.1.1.1 00:C0:3B:47:02:D4 Atacante 10.1.1.7 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 00:50:56:C0:00:08 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 Internet Host confiável 64.221.8.50 Atacante 200.131.10.20 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 Ameaças e Vulnerabilidades Ataques ativos contra o TCP/IP ! Man-in-the-middle O atacante intercepta os dados e responde pelo cliente, podendo alterar os dados. – Session hijacking – O atacante derruba o cliente e mantém a conexão em andamento. Cliente IP IP Dados Dados Servidor Dados alterados Atacante Conexão em andamento IP Dados X Cliente Impede que o host responda Atacante Mantém a conexão em andamento Servidor 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 Atacante Servidor Cliente IP Dados Servidor Reenvio dos dados 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 IP UDP IP UDP Fragmentação Dados Início dos dados IP Dados Remontagem Restante dos dados IP UDP Dados IP UDP Início dos dados IP TCP Dados alterados IP TCP Remontagem Dados alterados 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 ... SYN SEQ=0 SYN SEQ=0 SYN SEQ=0 src=1.2.3.4:7 src=1.2.3.4:6 src=1.2.3.4:5 dst=64.221.8.50:80 dst=64.221.8.50:80 dst=64.221.8.50:80 Internet Atacante 200.131.10.20 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) Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) ! Smurf e Fraggle Internet Vítima 200.221.8.50 Atacante 200.131.10.20 icmp echo request src: 200.221.8.50 dst: 143.106.10.255 Etapa 1: 143.106.7.8 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 Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) ! Smurf e Fraggle Internet Vítima 200.221.8.50 Atacante 200.131.10.20 Etapa 2: 143.106.7.8 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 Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) ! Smurf e Fraggle Internet Vítima 200.221.8.50 Atacante 200.131.10.20 Resultado: 143.106.7.8 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 Ameaças e Vulnerabilidades Ataques de negação de serviço (DoS) ! Teardrop – – – ! 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 (216-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. Ameaças e Vulnerabilidades 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 Ataques coordenados (DDoS) ! Etapas: 1. 2. 3. ! Intrusão em massa Instalação do software DDoS 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 Ameaças e Vulnerabilidades Ataques coordenados (DDoS) ! Personagens Atacante 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: ! ! – Técnicas: ! ! ! – Utilizam o mesmo algoritmo usado para cifrar as senhas. Realizam análise comparativa. 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. Ameaças e Vulnerabilidades Ataques no nível de aplicação ! 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). Ameaças e Vulnerabilidades Ataques no nível de aplicação Vulnerabilidades descobertas Fonte: Security Focus - http:// www.securityfocus.com.br Ameaças e Vulnerabilidades Ataques no nível de aplicação Vulnerabilidades conhecidas Fonte: Security Focus - http:// www.securityfocus.com.br Ameaças e Vulnerabilidades Ataques no nível de aplicação 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. Ameaças e Vulnerabilidades Ataques no nível de aplicação ! 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. Ameaças e Vulnerabilidades Ataques no nível de aplicação ! 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 Firewalls } IDS (Intrusion Detection System) } 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 NAT 10.1.1.1 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 – ! TCP/IP Illustrated, Volume I – ! Bill Cheswick and Steve Bellovin Applied Cryptography – ! Brent Chapman Firewalls and Internet Security – ! Richard Stevens Building Internet Firewalls – ! Simson Garfinkel and Gene Spafford 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