Escola Naval Mestrado em Segurança da Informação e Direito no Ciberespaço Segurança da informação nas organizações Vulnerabilidades Fernando Correia Capitão-de-fragata EN-AEL Outubro 2015 Fernando Correia (Ph.D Eng. Informática) 1/46 Objectivos Compreender o funcionamento das camadas Fisíca, Ligação de Dados, Rede e Transporte do modelo OSI. Perceber o funcionamento dos diversos protocolos que constituem o stack de comunicações entre dois sistemas. Identificar um conjunto de vulnerabilidades que a pilha de protocolos do modelo de comunicação TCP/IP apresenta, bem como, possíveis soluções para minimizar / eliminar as vulnerabilidade. Fernando Correia (Ph.D Eng. Informática) 2/46 Segurança em Redes Ataques a Redes Fernando Correia (Ph.D Eng. Informática) 3/46 Ataques e a pilha OSI Nível Serviços Aplicação; Apresentação; Sessão; Transporte Rede Routers Lógico Switches Físico Hubs Fernando Correia (Ph.D Eng. Informática) 4/46 Protocolos DNS SMTP TCP IP Nível Físico Fernando Correia (Ph.D Eng. Informática) 5/46 (Layer 1) Nível Físico: Hubs Informação em difusão Ameaça: fuga de informação (sniffer ). Fácil de instalar mais dispositivos Fácil gestão. Qualquer pessoa pode ligar-se à rede. Mesmo que o Hub esteja fisicamente seguro. Fernando Correia (Ph.D Eng. Informática) 6/46 Sniffers Usualmente as placas de rede funcionam em modo não promíscuo. Só ouvem o que é enviado para o seu MAC address Os sniffers operam em modo promíscuo Lêem tramas com qualquer MAC address. Alguns sniffers: tcpdump Wireshark Snort Fernando Correia (Ph.D Eng. Informática) 7/46 Salvaguarda contra Sniffers Exemplos: Impedir a utilização de placas em modo promíscuo. Utilização de switches (mas ...!) Cifra de tráfego. One-time passwords Fernando Correia (Ph.D Eng. Informática) 8/46 Nível Lógico Fernando Correia (Ph.D Eng. Informática) 9/46 (Layer 2) Nível Lógico Mapeamento de endereços Ethernet (MAC) e IP. Switches funcionamento ARP spoofing MAC flooding Fernando Correia (Ph.D Eng. Informática) 10/46 Endereços de rede Endereços das placas de rede Identificadores únicos de 48 bit. Os primeiros 24 bit indicam o fabricante Endereços Media Access Control (MAC) Endereços IP 32 bit ≈ 4 biliões de endereços Usualmente descritos por 4 números decimais separados por pontos. 0.0.0.0 a 255.255.255.255 Fernando Correia (Ph.D Eng. Informática) 11/46 Tradução de Endereços Address Resolution Protocol (ARP): Protocolo de nível 3 (rede) Traduz endereços IP para endereços MAC ARP Query Quem tem o 192.168.0.40? diga a 192.168.0.20 ARP Reply 192.168.0.40 está em 00:0e:81:10:19:fc ARP caches Regista as respostas antigas Quando as respostas tem algum tempo são removidas de memória Fernando Correia (Ph.D Eng. Informática) 12/46 Switches: Funcionamento Os switches só enviam os dados para o destinatário Constroem uma tabela com os MAC de cada porta Quando chega uma trama a um switch: Procura a porta onde está o dispositivo com aquele MAC Envia uma trama para essa porta. Os switches operam no nível 2 (lógico) Os switches reduzem o problema do sniffing Uma placa de rede só vê o que lhe é destinado Fernando Correia (Ph.D Eng. Informática) 13/46 Vulnerabilidades ARP Respostas ARP não solicitadas: Enviadas por máquinas legitimas quando se ligam à rede Não são enviadas em resposta a nenhum pedido Associa um endereço MAC a um IP ARP spoofing Atacante pode enviar ARPs ilegítimos não solicitados Respostas ARP não contêm assinatura pelo que é fácil personificar um MAC Fernando Correia (Ph.D Eng. Informática) 14/46 Tabelas ARP normais Fernando Correia (Ph.D Eng. Informática) 15/46 Tabelas ARP envenenadas Fernando Correia (Ph.D Eng. Informática) 16/46 Tabelas ARP Normais Fernando Correia (Ph.D Eng. Informática) 17/46 Resultados do ARP Spoofing O atacante possui uma tabela válida. Mas os dispositivos 192.168.0.20 e 192.168.40 têm as tabelas de ARP envenenadas. Todo o tráfego de 192.168.0.20 para 192.168.0.40 é enviado para o atacante (Nível 2). O atacante pode redireccionar o tráfego para o verdadeiro receptor. Quer as máquinas atacadas quer o switch não vêm o ataque. Conclusão: os switches não impedem o sniffing. Fernando Correia (Ph.D Eng. Informática) 18/46 MAC Flooding Atacante envia vários ARPs não solicitados. Cada ARP para um endereço MAC diferente. Quando a tabela enche: Alguns switches deixam de aceitar ligações (DoS). Alguns switches revertem para Hub: os sniffers voltam a funcionar. 1 2 3 4 9999 Device MAC address 1 4 4 4 ... 4 00:0e:81:10:19:fc 00:0e:81:32:96:af 00:0e:81:32:96:b0 00:0e:81:32:96:b1 ... 00:0e:81:32:97:a4 Fernando Correia (Ph.D Eng. Informática) 19/46 Medidas Preventivas Colocar os switches em local seguro. Para prevenir uso ilegitimo Switches devem falhar de forma segura. Nova ameaça: DoS Notificar a administração de sistemas. Arpwatch Monitoriza as traduções de ARP para IP. Envia alertas para a administração de sistemas. Utilização de tabelas fixas Perda de flexibilidade. Fernando Correia (Ph.D Eng. Informática) 20/46 Nível Rede Fernando Correia (Ph.D Eng. Informática) 21/46 (Layer 3 ) Nível Rede Routers e routing Endereços IP Outros assuntos Fernando Correia (Ph.D Eng. Informática) 22/46 Routers e Routing Os Routers suportam a entrega indirecta de pacotes IP. Utilizam tabelas de encaminhamento. Usualmente um pacote pode: Ser enviado directamente para o destino. Ser enviado para o router por omissão. Fernando Correia (Ph.D Eng. Informática) 23/46 Endereços IP Os endereços IP identificam a rede e máquina na rede. Exemplo: o endereço 192.168.0.22 192.168.0.x identifica a rede. y.y.y.22 identifica a máquina na rede. a máscara de rede 255.255.255.0 identifica a dimensão da rede (número máximo de máquinas que podem estar ligadas na rede 254) e os endereços das máquinas que podem ser acedidos directamente. A máscara pode ser obtida por um pedido de ICMP ou utilizando o protocolo DHCP Fernando Correia (Ph.D Eng. Informática) 24/46 Routers Fernando Correia (Ph.D Eng. Informática) 25/46 Routers - Entrega directa Fernando Correia (Ph.D Eng. Informática) 26/46 Routers - Entrega por omissão + entrega directa Fernando Correia (Ph.D Eng. Informática) 27/46 Níveis protocolares envolvidos Fernando Correia (Ph.D Eng. Informática) 28/46 Routers - Ligação à INTERNET Fernando Correia (Ph.D Eng. Informática) 29/46 Níveis protocolares envolvidos Fernando Correia (Ph.D Eng. Informática) 30/46 Endereços privados Algumas gamas de endereços foram reservadas para endereçamento privado (IETF RFC 1918): 10.0.0.0 a 10.255.255.255 (1 rede, 224 máquinas) 172.16.0.0 a 172.31.255.255 (16 redes, 216 máquinas) 192.168.0.0 a 192.168.255.255 (256 redes, 28 máquinas) Os pacotes com estes endereços de origem ou de destino nunca saem para fora da rede Tentar resolver o problema da falta de IPs Segurança? No exemplo anterior o router tem o endereço IP 62.49.147.170 e dois endereços privados: 192.168.0.254 e 192.168.1.254: Funciona como router entre duas redes privadas Fernando Correia (Ph.D Eng. Informática) 31/46 Ataques ao nível Rede (1) IP spoofing: Os pacotes IP não são autenticados Um atacante pode preencher o endereço de origem de um pacote IP com qualquer valor pelo que é perigoso basear políticas de controlo de acesso nos endereços IP Ameaças de Personificação, violação de integridade e uso ilegítimo Utilizadores têm poucas garantias da rota dos pacotes Ameaça de fuga de informação Ameaça de integridade dos pacotes Ameaça de DoS Fernando Correia (Ph.D Eng. Informática) 32/46 Nível Transporte Fernando Correia (Ph.D Eng. Informática) 33/46 (Layer 4) Nível Transporte TCP/IP handshake Roubo de ligações TCP DoS TCP DoS ICMP DoS Soluções Fernando Correia (Ph.D Eng. Informática) 34/46 TCP / IP handshake (nível 3) Fernando Correia (Ph.D Eng. Informática) 35/46 Roubo de ligações (TCP hijacking) Explora a des-sincronização dos interlocutores A e B possuem uma ligação des-sincronizada, ao ponto de os segmentos estarem forma da janela deslizante. Todos os segmentos enviados são descartados pelo receptor O que gera um enorme tráfego de segmentos ACK Pode ser detectado por esse facto A comunicação efectiva é feita através de segmentos fabricados pelo atacante - que possuem os números de sequência correctos Des-sincronização No estabelecimento da ligação No meio da ligação Exequibilidade O atacante tem que estar entre os interlocutores Ataque por omissão (meet-in-the-middle) Fernando Correia (Ph.D Eng. Informática) 36/46 Roubo de ligações Predição de número de sequência A → S : SYN (ISNA ), SRC = B S → B : SYN (ISNS ), ACK (ISNA + 1) A → S : SYN (ISNS + 1), SRC = B Como se contraria? Geração aleatória dos valores de ISN Atitude defensiva Evitar atitudes permissivas baseadas no endereço IP de origem (host-based authentication) Fernando Correia (Ph.D Eng. Informática) 37/46 Ataques à prestação de serviços: SYN flooding (1) Consiste em afogar um núcleo com pedidos incompletos de ligação TCP/IP. X → A : SYN A → X : SYN + ACK X → A : ACK O atacante normalmente usa IP spoofing Usando um ou mais IPs não atribuídos O TCP é muitas vezes insensível (no estado SYN_RECVD) às mensagens de erro ICMP - host unreacheable ou port unreacheable Fácil de bloquear temporariamente Usando IPs aleatórios Tem menos impacto Mais difícil de bloquear Fernando Correia (Ph.D Eng. Informática) 38/46 Ataques à prestação de serviços: SYN flooding (2) Vulnerabilidades exploradas Não existe autenticação dos segmentos SYN O servidor reserva mais recursos que o cliente Impacto na máquina atacada Manutenção de pedidos de ligação até os eliminar por timeout Ligações TCP no estado SYN_RECVD Reenvio periódico do segmento SYN+ACK Os pedidos de ligação por cada porto são limitados Os excedentes são rejeitados Pedidos legítimos pode ser preteridos devido à existência de falsos pedidos Fernando Correia (Ph.D Eng. Informática) 39/46 Difusão Endereço de difusão Qualquer pacote cujo endereço de destino acabe em .255 numa rede com uma netmask 255.255.255.0 é enviado para todas as máquinas. De igual modo para outras dimensões de rede Facilita a gestão, mas e a segurança? Fernando Correia (Ph.D Eng. Informática) 40/46 ICMP ICMP = Internet Control Message Protocol Protocolos de nível 4 (tal como o TCP) obrigatório em todas as rede IP Utilizando para enviar e receber as mensagens de erro de IP ICMP Echo Request (Ping) Fernando Correia (Ph.D Eng. Informática) 41/46 ICMP “SMURF” DoS Fernando Correia (Ph.D Eng. Informática) 42/46 Soluções (1) SYN flooding Não há solução definitiva para o IPv4 Alteração do TCP dos servidores Maiores filas de pedidos, menores timeouts Random Drop SYN cookies ISN é enviado cifrado no SYN+ACK (cookie) E devolvido no ACK O servidor não mantém nenhuma informação Outras alterações . . . Colaboração de firewalls Relay ou semi-gateway Detectores de ataques Fernando Correia (Ph.D Eng. Informática) 43/46 Soluções (2) Personificação Números de sequência aleatórios Firewalls Filtragem de segmentos com source routing Podem efectuar masquerading para nós inseguros Podem impedir alguma personificação subjacente ao tráfego que as atravessa Desconfiar da host-based authentication Usados por vários serviços (r-tools, NFS, etc) Usar TCP wrappers Controlo adicional Logging Usar outros mecanismos de autenticação Fernando Correia (Ph.D Eng. Informática) 44/46 Soluções (3) Roubo de ligações Controlo de integridade acrescido Que impeça um ataque por omissão O controlo de integridade deverá estar relacionado com a origem da informação Máquina, utilizador, etc. Pode ser feito ao nível do IP ou acima Ipsec, SSL, SSH, etc Fernando Correia (Ph.D Eng. Informática) 45/46 Dúvidas ? Fernando Correia (Ph.D Eng. Informática) 46/46