460 likes | 588 Views
Segurança em Sites Internet. Prof. M. Sc. Claudio Monteiro Universidade Luterana do Brasil - ULBRA Centro Universitário Luterano de Palmas - CEULP Curso de Bacharelado em Sistemas de Informação *** Grupo de Pesquisa Aplicada em Redes de Computadores - GPARC***. Nosso Menu 1 - Introdução
E N D
Segurança em Sites Internet Prof. M. Sc. Claudio Monteiro Universidade Luterana do Brasil - ULBRA Centro Universitário Luterano de Palmas - CEULP Curso de Bacharelado em Sistemas de Informação *** Grupo de Pesquisa Aplicada em Redes de Computadores - GPARC***
Nosso Menu 1 - Introdução 2 - Motivação 3 - UNIX: O Sistema Operacional 4 - Conectividade: Uma grande necessidade 5 - Segurança: A grande meta 6 - TCP/IP: O grande vilão? 7 - Considerações sobre os Protocolos IP e UDP 8 - Demonstrações: Um estudo de casos
2 - Motivação Serviço de Nomes História DNS DNS - Domain Name System
Unix: O Sistema Operacional Multitarefa Multiusuário Autenticação no nível de usuário
Unix: O Sistema Operacional Controle de Permissões por Arquivos Administração por Usuários e Grupos
Unix: O Sistema Operacional • SETUID e SETGID: Arquivos que executam com privilégios especiais. Todo cuidado é pouco com a “Engenharia Social”. • Shell: Uma grande vantagem... se bem usada!!!
Unix: O Sistema Operacional Situação: Usuário cria esse arquivo shell e o chama de “ls” (comando básico do Unix). Cria uma arquivo qualquer e pede ao adminis- trador do sistema para apagá-lo... Como o Adm não desconfia, ele loga e executa o “ls” feito pelo usuário. Sequência de Comandos Shell que podem dar séries dores de cabeça em administradores de sistemas Unix
Unix: O Sistema Operacional Exemplo da inicialização da variável PATH nos vários shells: sh, ksh e csh Observe que no exemplo acima o diretório “.” é o primeiro da lista de PATH... Isso garante que qualquer comando dado pelo usuário com esse path será procurado no diretório corrente primeiro...
Conectividade: Uma grande necessidade Solicitação de conexão usando o protocolo de aplicação “telnet” a partir de uma maquina Windows Estabelecimento de conexão via “telnet” com uma máquina Unix
Conectividade: Uma grande necessidade Exemplos de conexão usando o protocolo de aplicação http com a ajuda de um browser
Conectividade: Uma grande necessidade Exemplo de uma conexão estabelecida (e esperando autenticação) entre uma máquina Windows e uma máquina Unix, via o protocolo de aplicação “ftp” Conexão “ftp” autenticada, mostrando a listagem dos arquivos localizados remotamente.
Segurança: A Grande Meta Como ter uma REDE segura??? Temos que ter Sistemas Operacionais com implementações de protocolos confiáveis. Um bom caminho é possuir um bom meio de comunicação de dados.
TCP/IP: O Vilão? 10.0.0.0 10.0.0.37 128.10.2.3 192.5.48.6 R 128.10.0.0 192.5.48.0 O IP - Nível de Rede O UDP - Nível de Transporte O TCP - Nível de Transporte
TCP/IP: O Vilão? Redes Interligadas Rede IP 200.241.0.0 Rede IP 200.241.85.0 Rede IP 200.241.86.0 G Rede 1 G Rede 2 Rede IP 200.241.74.0 Rede 3 G G G Rede 4 Rede 5 Rede IP 200.21.52.0 Rede IP 200.241.87.0
TCP/IP: O Vilão? O TCP e o Famoso “Aperto de Mão Triplo” Slide 3
TCP/IP: O Vilão? Portas de Serviço e Sockets Abertura de socket TCP com a porta 25 Interação com o servidor na porta 25
Considerações sobre os protocolos IP E UDP Cada host na Internet é identificado de forma unívoca através do endereço IP atribuído na sua configuração. Os endereços IP's estão associados às interfaces de rede e não aos hostsque as contêm O protocolo IP defini o esquema de endereçamento desses hosts.
Aplicação Mensagem Transporte Segmento Rede Datagrama IP Física IP Bits e Quadro Camada de Rede
0 4 8 16 19 24 31 Vers Hlen Service Type Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source IP Address Destination IP Address Options (if any) Padding Data . . . Datagrama IP
Protocolo UDP (User Datagram Protocol) • Quando Utilizar o UDP? • Aplicações que implementam mecanismo de entrega confiável • Pequena quantidade de dados a transmitir
Aplicação Mensagem Transporte Segmento UDP Rede Datagrama IP Física Bits e Quadro Localização do Protocolo UDP na Arquitetura TCP/IP
Formato do datagrama UDP DNS PORT = 53
SMTP FTP DNS NFS TCP UDP IP Nível de Aplicação Aplicação Aplicação Definição de portas Port Transporte Protocol Rede Endereço IP Física Placa de Rede / Fax Modem
Demonstrações Conexão TCP com a porta 110 da máquina “localhost” Aplicação desenvolvida segundo a API de sockets para Unix que explora uma vulnerabilidade na implementação do protocolo de aplicação POP
Demonstrações Login feito pelo usuário redes Sniffer em ação, produzindo um log com a senha digitada pelo usuário redes na seção de login
Demonstrações Conexão FTP feita com uma máquina Unix. Verifique que o login foi autenticado sem senha e que o diretório “incoming” possui permissões de escrita para qualquer usuário. Isso normalmente é usado por servidores que necessitam que seus próprios usuários mantenham seus repositórios atualizados. Isso permite que seja “plantada” uma aplicação no servidor, que possua características especiais para produzir uma Back Door
Demonstrações Resultado: Visualização do arquivo de senhas do servidor
Demonstrações O Spoofing de IP Máquina 01 da Rede Local Máquina Atacante Firewall Máquina 02 da Rede Local
Demonstrações: Serviços de Nomes www.oi.com = 10.10.10.1 www.cade.com = 35.35.2.80 www.oi.com www.cade.com www.av.com = 20.20.20.80 www.ufg.br =50.75.96.8 www.av.com www.ufg.br A função principal dos serviços de nomes é traduzir nomes de domínio para os seus respectivos endereços IP’s. Servidor DNS
Demonstrações: Serviços de Nomes Nomes de domínios Os Nomes de Domínios são utilizados para facilitar a identificação da origem de uma determinada informação. Será que o site da Ulbra esta no endereço 200.167.132.241 ? Ou 200.162.132.235 ? O site da ulbra esta no endereço: www.ulbra-to.br Mané Joãozinho www.ulbra-to.br = 200.167.132.241
www.ulbra-to.br Cliente1.ola.com br NS fpsp.fapesp.br www.ulbra-to.br www.ulbra-to.br Resolver Name Server ulbra-to.br NS dns.ulbra-to.br 150.161.6.11 www.ulbra-to.br cache www.ulbra-to.br A 150.161.6.11 Demonstrações: Serviços de Nomes Processamento de Requisições www.ulbra-to.br = 150.161.6.11 dns.ola.com terp.umd.edu fpsp.fapesp.br dns.ulbra-to.br Pacote DNS
Demonstrações: Serviços de Nomes IP SPOOFING - Falsificação de Endereço IP O IP SPOOFING é um recurso utilizado para falsificar a origem do pacote. Consiste nas facilidades que o protocolo IP oferece no preenchimento de pacotes IP, de acordo com as necessidades de um atacante. Técnicas como DNS SPOOF, DOS e outras, simplesmente utilizam essa facilidade.
Demonstrações: Serviços de Nomes Implementação do IP SPOOFING ... struct iphdr *ip_header; ip_header->version = 4; ip_header->tot_len = htons(data_len); ... ip_header->daddr = ip_destino; ... ip_header->saddr = ip_origem; ...
www.ulbra-to.br br NS fpsp.fapesp.br Resolver Name Server 1.2.3.4 cache www.ulbra-to.br A 1.2.3.4 Demonstrações: Serviços de Nomes Falsificação de IP em Pacotes DNS - DNS SPOOF www.ulbra-to.br = 1.2.3.4 terp.umd.edu cliente1.ola.com Pacote Ignorado Pacote Ignorado www.ulbra-to.br Servidor DNS - dns.ola.com S.O. NT ou LINUX atacante.rold.com
www.ulbra-to.br br NS fpsp.fapesp.br Captura a pergunta enviada por dns.ola.com Resolver Name Server 1.2.3.4 SNIFF cache Rede Ethernet Cliente2.ola.com www.ulbra-to.br A 1.2.3.4 Demonstrações: Serviços de Nomes Implementação da Falsificação de IP em Pacotes DNS www.ulbra-to.br = 1.2.3.4 www.ulbra-to.br terp.umd.edu cliente1.ola.com Pacote Ignorado Pacote Ignorado dns.ola.com DNSspoof.c Invasor
1.2.3.4 GET /index.html Página Web Requisitada www.ulbra-to.br Resolver Name Server 1.2.3.4 cache Demonstrações: Serviços de Nomes 7 - Conseqüências * Alterar a Origem da Informação * Driblar mecanismos de defesas baseados em wrappers Visualizando página Web indesejada cliente1.ola.com Servidor WEB 1.2.3.4 cliente1.ola.com
Conclusões Após a implementação de um programa que realiza a falsificação de endereços IP's em pacotes de respostas enviados para servidores DNS, realizamos vários experimentos, que nos permitiram concluir que servidores DNS configurados sob os sistemas operacionais Linux e WindowsNT se encontram vulneráveis, podendo ter seu cache poluído com uma resposta falsa.
6.2 - Informações Necessárias para Montar o Pacote de Resposta * ID do cabeçalho DNS * Nome a ser resolvido da seção de pergunta * Endereço IP de destino * Porta de origem Voltar
Encapsulamento de Dados Encapsulamento de Dados Aplicação Data Transporte Header Data Rede Header Data Header Data Física