Segurança de Redes de Computadores Aula 5 Segurança na Camada de Aplicação Ataques em Sistemas DNS (Domain Name System) Prof. Ricardo M. Marcacini [email protected] Curso: Sistemas de Informação 1º Semestre / 2015 http://moodle.lives.net.br DNS (Domain Name System) Pessoas: muitos identificadores: RG, CPF, Passaporte Nome das pessoas SEGURANÇA DE REDES - 05 2 DNS (Domain Name System) Pessoas: muitos identificadores: RG, CPF, Passaporte Nome das pessoas Internet hospedeiros, roteadores: Endereços IP (32 bits) - usados para endereçar datagramas “nome”, ex.: gaia.cs.umass.edu - usados por humanos P.: Relacionar nomes com endereços IP? SEGURANÇA DE REDES - 05 3 DNS (Domain Name System) Pessoas: muitos identificadores: RG, CPF, Passaporte Nome das pessoas Internet hospedeiros, roteadores: Endereços IP (32 bits) - usados para endereçar datagramas “nome”, ex.: gaia.cs.umass.edu - usados por humanos P.: Relacionar nomes com endereços IP? Domain Name System: Base de dados distribuída implementada numa hierarquia de muitos servidores de nomes Protocolo de camada de aplicação hospedeiro, roteadores se comunicam com servidores de nomes para resolver nomes (translação nome/endereço) Nota: função interna da Internet, implementada como protocolo da camada de aplicação SEGURANÇA DE REDES - 05 4 Estrutura Hierárquica do DNS Cliente quer o IP para www.amazon.com; 1a aprox.: Cliente consulta um servidor raiz para encontrar o servidor DNS com Cliente consulta o servidor DNS “.com” para obter o servidor DNS amazon.com Cliente consulta o servidor DNS “amazon.com” para obter o endereço IP para www.amazon.com SEGURANÇA DE REDES - 05 5 Estrutura Hierárquica do DNS Servidores de nomes raiz: Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido São contatados pelos servidores de nomes locais que não podem resolver um nome Existem 13 servidores de nomes raiz no mundo SEGURANÇA DE REDES - 05 6 Servidor DNS Local Não pertence estritamente a uma hierarquia Cada ISP (ISP residencial, companhia, universidade) possui um Também chamado de “servidor de nomes default” Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local Age como um proxy, encaminhando as perguntas para dentro da hierarquia Costuma funcionar no protocolo UDP e porta 53 SEGURANÇA DE REDES - 05 7 Exemplo O hospedeiro em cis.poly.edu quer o endereço IP para gaia.cs.umass.edu SEGURANÇA DE REDES - 05 8 Registros de DNS DNS: base de dados distribuída que armazena registros de recursos (RR) formato dos RR: (name, value, type,ttl) Type = A name é o nome do computador value é o endereço IP Type = NS name é um domínio (ex.: foo.com) value é o endereço IP do servidor de nomes autorizados para este domínio SEGURANÇA DE REDES - 05 Type = CNAME name é um “apelido” para algum nome “canônico” (o nome real) www.ibm.com é realmente servereast.backup2.ibm.com value é o nome canônico Type = MX value é o nome do servidor de correio associado com name 9 Exercício Execute o utilitário nslookup Existente na maioria dos sistemas operacionais Escolha três nomes na internet Ex: usp.br, ufms.br, gepic.ufms.br Consultar os registros (A, NS, CNAME, MX) de cada nome 1. Nome do comando SEGURANÇA DE REDES - 05 ## nslookup nslookup 10 Exercício Execute o utilitário nslookup Existente na maioria dos sistemas operacionais Escolha três nomes na internet Ex: usp.br, ufms.br, gepic.ufms.br Consultar os registros (A, NS, CNAME, MX) de cada nome 1. Nome do comando 2. Definindo o tipo de consulta como A SEGURANÇA DE REDES - 05 ## nslookup nslookup >> set set q=A q=A 11 Exercício Execute o utilitário nslookup Existente na maioria dos sistemas operacionais Escolha três nomes na internet Ex: usp.br, ufms.br, gepic.ufms.br Consultar os registros (A, NS, CNAME, MX) de cada nome 1. Nome do comando 2. Definindo o tipo de consulta como A 3. Definindo qual nome quer consultar SEGURANÇA DE REDES - 05 ## nslookup nslookup >> set set q=A q=A >> gepic.ufms.br gepic.ufms.br 12 Exercício Execute o utilitário nslookup Existente na maioria dos sistemas operacionais Escolha três nomes na internet Ex: usp.br, ufms.br, gepic.ufms.br Consultar os registros (A, NS, CNAME, MX) de cada nome 1. Nome do comando 2. Definindo o tipo de consulta como A 3. Definindo qual nome quer consultar 4. Apenas mostrando o servidor DNS da máquina configurado localmente SEGURANÇA DE REDES - 05 ## nslookup nslookup >> set set q=A q=A >> gepic.ufms.br gepic.ufms.br Server: 192.168.222.222 Server: 192.168.222.222 Address: Address: 192.168.222.222#53 192.168.222.222#53 13 Exercício Execute o utilitário nslookup Existente na maioria dos sistemas operacionais Escolha três nomes na internet Ex: usp.br, ufms.br, gepic.ufms.br Consultar os registros (A, NS, CNAME, MX) de cada nome 1. Nome do comando 2. Definindo o tipo de consulta como A 3. Definindo qual nome quer consultar 4. Apenas mostrando o servidor DNS da máquina configurado localmente 5. Resposta da consulta SEGURANÇA DE REDES - 05 ## nslookup nslookup >> set set q=A q=A >> gepic.ufms.br gepic.ufms.br Server: 192.168.222.222 Server: 192.168.222.222 Address: Address: 192.168.222.222#53 192.168.222.222#53 Name: Name: gepic.ufms.br gepic.ufms.br Address: Address: 200.129.192.104 200.129.192.104 14 Segurança no Protocolo DNS Consulta DNS típica Qual o IP de centr.org? SEGURANÇA DE REDES - 05 15 Segurança no Protocolo DNS Consulta DNS típica Servidor DNS responde... SEGURANÇA DE REDES - 05 16 Segurança no Protocolo DNS Consulta DNS típica E se a resposta for “alterada” no caminho? SEGURANÇA DE REDES - 05 17 Segurança no Protocolo DNS Consulta DNS típica E se o servidor de DNS não for confiável? SEGURANÇA DE REDES - 05 18 Segurança no Protocolo DNS Ataque de DNS Spoofing Também chamado: Envenenamento de Cache Consiste em modificar a resposta DNS Permite “definir” outro IP para um nome O destino é alterado e o host cliente não percebe Como funciona o ataque? Geração de pacotes DNS (UDP/53) com respostas falsas (flood) Acesso ao sistema de DNS por meio de falha no software ou no sistema SEGURANÇA DE REDES - 05 19 Segurança no Protocolo DNS Ataque de DNS Spoofing Também chamado: Envenenamento de Cache Consiste em modificar a resposta DNS Permite “definir” outro IP para um nome O destino é alterado e o host cliente não percebe Como funciona o ataque? Geração de pacotes DNS (UDP/53) com respostas falsas (flood) Acesso ao sistema de DNS por meio de falha no software ou no sistema SEGURANÇA DE REDES - 05 20 Segurança no Protocolo DNS Ataque de DNS Spoofing Também chamado: Envenenamento de Cache Consiste em modificar a resposta DNS Permite “definir” outro IP para um nome O destino é alterado e o host cliente não percebe Como funciona o ataque? Geração de pacotes DNS (UDP/53) com respostas falsas (flood) Acesso ao sistema de DNS por meio de falha no software ou no sistema SEGURANÇA DE REDES - 05 21 Segurança no Protocolo DNS Ataque de DNS Spoofing Também chamado: Envenenamento de Cache Consiste em modificar a resposta DNS Permite “definir” outro IP para um nome O destino é alterado e o host cliente não percebe Como funciona o ataque? Geração de pacotes DNS (UDP/53) com respostas falsas (flood) Acesso ao sistema de DNS por meio de falha no software ou no sistema SEGURANÇA DE REDES - 05 22 Segurança no Protocolo DNS Quando um ataque é bem sucedido, qual o impacto para a rede? Coleta de dados privados (senhas) Espelhos de sistemas (http, e-mail) Vamos simular um ataque DNS... ...e analisar os resultados... SEGURANÇA DE REDES - 05 23 Segurança no Protocolo DNS Como se proteger? Estratégia básica Sempre utilizar servidores DNS confiáveis Software responsável por servidor DNS sempre atualizado (software bind9) Não é suficiente... (ataques via flood ainda podem ser realizados) Estratégia avançada Utilizar DNSSEC Basicamente, utiliza o conceito de autenticação digital (via chave pública / privada) para garantir que o registro de DNS foi enviado de fato pelo máquina correta... SEGURANÇA DE REDES - 05 24