DoS: Negação de Serviço e formas de defesa



Documentos relacionados
DoS: Negação de Serviço e formas de defesa

Ataques DoS e DDoS. Alessandro Santos Germer Rafael Ambiel Faccioli Roberto Röseling Badô. 1. Introdução

Gestão da Segurança da Informação Professor: Maurício AULA 04 Tipos de Ataques

Auditoria e Segurança de Sistemas Segurança de Redes de Computadores Adriano J. Holanda

SEG. EM SISTEMAS E REDES. 03. Vulnerabilidades em redes. Prof. Ulisses Cotta Cavalca <ulisses.cotta@gmail.com>

ATAQUES DoS, DDoS, Smurf e Ping of Death. Alunos: Clauzio Cristiano Perpétuo Cleber Franco Madureira Hugo Azevedo de Jesus

Entendendo como funciona o NAT

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Ataques e Intrusões. Invasões Trashing e Engenharia Social. Classificação de Hackers

Palestra sobre Segurança de Redes - Windows NT

UNIVERSIDADE FEDERAL DE PELOTAS

Ameaças e Contramedidas de Host

Endereço de Rede. Comumente conhecido como endereço IP Composto de 32 bits comumente divididos em 4 bytes e exibidos em formato decimal

Tema: Transbordamento da Tabela CAM ou em inglês CAM table overflow por meio da técnica de Arp Poisoning, Arp spoofing, MAC flooding.

Capítulo 5 Métodos de Defesa

Superioridade do Linux sobre Windows no quesito segurança

Ataques para obtenção de informações

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

Conexão rápida entre dois computadores em uma plataforma Linux

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Políticas de Segurança de Sistemas

Segurança com Iptables

Usando o Nmap. A instalação do Nmap é bem simples. Após obter o código fonte execute os comandos abaixo: tar xjvpf nmap-3.48.tar.bz2 cd nmap-3.

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Semana da Internet Segura Correio Eletrónico

Firewall. Alunos: Hélio Cândido Andersson Sales

Passo a Passo da instalação da VPN

Conceitos de Criptografia e o protocolo SSL

Lista de Erros Discador Dial-Up

Procedimentos e Recursos Técnicos

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

REDES DE COMPUTADORES

Ameaças a computadores. Prof. César Couto

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Tipos de pragas Virtuais; Como funciona os antivírus; Principais golpes virtuais; Profº Michel

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso.

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Objetivos: i) Verificar o impacto de loops em redes locais ii) Configurar o protocolo STP para remover loops da rede

Firewalls. Firewalls

(In)Segurança Virtual. Técnicas de Ataque e Defesa

GUIA INTEGRA SERVICES E STATUS MONITOR

Sistemas para Internet 06 Ataques na Internet

Tutorial Por : André Luiz Ribeiro Breviglieri -=FaT_tUx=- BrazilFW Instalação

SISTEMAS DISTRIBUÍDOS

Redes de Computadores

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Nmap Diferenças entre estados de porta (Parte 1)

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

Manual Comunica S_Line

GUIA PRÁTICO DE INSTALAÇÃO

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Guia de usuário do portal de acesso SSH

Ataque Distribuído de Negação de Serviço por Reflexão Amplificada usando Simple Network Management Protocol

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Professor Claudio Silva

Manual de Utilização do TOTVS Restore

Privacidade. <Nome> <Instituição> < >

Ao ligar o equipamento, você verá a mensagem abaixo, o objetivo dela é fazer a configuração mínima para LOGAR ao servidor da Internet.

Ameaças, riscos e vulnerabilidades. Prof. Anderson Maia. Objetivos. ameaças mais comuns na internet;

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Arquitetura de Rede de Computadores

Sistemas de Detecção de Intrusão

Introdução a DNS & DNSSEC 1

Características de Firewalls

INE 5223 Informática para Secretariado

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

- Wireless e NTP - 272

Curso Firewall. Sobre o Curso de Firewall. Conteúdo do Curso

Comm5 Tecnologia Protocolo MI. Protocolo. Família MI

Acesso Remoto Placas de captura

Segurança de Redes de Computadores

Desafios do IPv6 para profissionais de segurança

HOW TO. Instalação do Firewall 6.1 Software

Redes de Computadores

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Desenvolvendo Websites com PHP

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

IPTABLES. Helder Nunes

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Componentes de um sistema de firewall - I

GUIA DE CONFIGURAÇÃO CONEXÕES VPN SSL (CLIENT TO SERVER)

Revisão 7 Junho de 2007

Transcrição:

DoS: Negação de Serviço e formas de defesa Viva o Linux Day RJ http://volcon.org/volday1/ Elgio Schlemer Ulbra Gravataí http://gravatai.ulbra.tche.br/~elgio 06 de Março de 2010

Introdução Problemas de segurança Engenharia Social "A Arte de Enganar" Programas maliciosos virus, worms, capturadores de senhas,... Bugs de programação invasões, comprometimento do sistema DoS: Denied of Service "Apenas" tirar do ar

Tipos de negação de serviço Existem dois tipos de negação de serviço: Negação de serviço Local usuário malicioso precisa executar comandos na máquina Negação de serviço Remota usuário malicioso não executa comandos na máquina

DoS Local precisa executar comandos na máquina, isto é, ter login ou é um usuário legítimo malicioso (ou descuidado) ou roubou a senha de um usuário legítimo ou explorou alguma vulnerabilidade para executar comandos na máquina O que um DoS local pode fazer? esgotar algum recurso do sistema

Recursos da máquina: disco capacidade do disco rígido pode escrever no disco até esgotar sua capacidade serviços que precisam de espaço ficarão indisponíveis Exemplo: se lotar o /var/spool/mail não se recebe mais mensagens de email Soluções: correto particionamento do disco rígido quotas de uso

Recursos do SO: processos capacidade do escalonamento de processos atacante pode criar processos até lotar novos processos não poderão ser criados serviços ficam indisponíveis (ou lentos) Demonstração: usuário vol executa byebyeproc root não consegue se logar Soluções: quotas de processos por usuário com Pam Limits

Recursos da máquina: memória capacidade da memória atacante pode alocar memória até lotar serviços que precisam alocar memória não conseguirão Demonstração: usuário vol executa byebyemem root não consegue se logar Soluções: quotas de memória por usuário com Pam Limits

Demonstração Pam Limits Permite definir recursos que usuário pode usar disco: quota + particionamento memória, processos: pam limits Mostrando o arquivo /etc/security/limits.conf # limites para grupo root @root hard maxlogins 50 @root hard nproc 500 @root hard data 2000000 # limites para todos (exceto grupo root, # pois as regras anteriores precedem) * hard maxlogins 15 * hard nproc 20 * hard data 20000

DoS Local: Conclusão Fácil de resolver, é só configurar Particionar corretamente o disco durante a instalação para servidores!! Planejar antes Configurar quotas de disco nas partições que usuários poderão escrever Configurar quotas de recursos Permitir login apenas para quem realmente precisar DoS Local: não deveria ser um problema!!

Negação de serviço remota Derruba serviço ou sistema sem precisar executar comandos Obs: se explorou um bug para executar comandos, não é DoS remoto, é local (apenas usou um bug para poder executar comandos) DoS remoto: bugs nos aplicativos ataques ao protocolo

DoS Remoto: Bugs em programas O serviço possui problemas em sua programação Basta fazer algo para que ele caia Exemplo clássico: ping da morte: ICMP com dados maiores que o buffer do Windows. Pilha TCP caia (TUDO!) Um típico problema de buffer overflow

Bugs em programas: Solução correção dos problemas de programação crítico: depende do fornecedor Linux: como eu posso mexer no código... proprietários: somente quando vier os tais Patches... : D boas práticas de programação requer mudança de mentalidade programar pensando em segurança

DoS Remoto: Ataques a protocolos Exploração de detalhes da pilha TCP/IP Alguns, não tem correção: correção seria implementar novos protocolos Exemplo: ping broadcast Envia se um ping com ip spoofado para todos todos respondem para o ip que cai Solução (fácil): tratar ip spoofing no firewall não responder a pings broadcast

Ataques de Recursivo Explora má configuração em servidores de Um servidor deveria atuar de forma recursiva apenas para seus clientes Recursiva: o aceita qualquer consulta, mesmo não sendo para o domínio dele Demonstrar consultas

Forma de ataque Atacante descobre lista de recursivos Registra em seu, se possível, uma entrada longa para potencializar o ataque se o atacante não possuir um, pode usar uma entrada longa de outro que venha a descobrir demonstrar

Forma de ataque Envia para os recursivos inúmeras falsas consultas: solicitando uma consulta grande se passando (ip spoofing) pelo IP da vítima Consequência: todos os servidores irão realizar a consulta colocar em sua cache responder ao IP da vítima vítima cai por excesso de tráfego

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs Máquina que origina o ataque. IP desconhecido.????? atacante Máquina na Internet que se pretende derrubar por DoS 10.1.0.5 vítima Atacante tem condições de registrar uma entrada de grande, várias linhas de texto. Senão ele também tem a opção de usar qualquer da Internet, talvez não com tanto estrago Vários Servidores na Internet mal configurados, com a consulta recursiva habilitada. 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N Neste exemplo serão usados apenas IPs privados, mas na prática todos são ips públicos com servidores reais espalhados pela Internet.

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs Req TXT? IP Origem = 10.1.0.5????? atacante 10.1.0.5 vítima 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N Atacante envia consultas falsas de,perguntando pela entrada txt grande e fingindo ser a vítima.

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs????? atacante 10.1.0.5 vítima Consulta de TXT? 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N Se não tiverem esta informação em cache, irão buscar, isto é, atuarão de forma recursiva (e esta é a má configuração: não deveriam fazer isto)

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs????? atacante 10.1.0.5 vítima Resposta: txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N O servidor master do domínio consultado responde as solicitações feita pelas. Que se diga que a resposta é muito maior que a pergunta, pois tem muitos dados. Todos guardam em sua cache.

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs????? atacante 10.1.0.5 vítima Resposta: txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N E todos os respondem para a pobre da vítima, pois a consulta feita pelo atacante mentiu o número IP dizendo ser do atacante

Forma de ataque do atacante (se possível) @ IN txt fjsahdfkjsahdf kjsadjkfdsfsdasshfksad fsadjflsadjflkdsafsadffs????? atacante 10.1.0.5 vítima 10.2.1.3 recursivo 1 10.9.1.6 recursivo 2 172.2.0.16 recursivo 3??.??.?? recursivo N Vítima cai por não conseguir lidar com tantos pacotes UDP. O atacante continua enviando solicitações o mais rápido que pode.

Solução ataque Tratar IP spoofing evitará que máquinas de sua rede sejam atacantes Configurar corretamente evitará que o teu servidor de seja usado para derrubar uma vítima A vítima pouco pode fazer para se defender

Ataque de Syn Flood Baseado na forma como o TCP implementa confiabilidade Não há correção! defesa complicada, mas possível defesa impossível com regras de firewall muito embora alguns tutoriais na Internet digam o contrário exemplo do guia Foca Avançado que prega solução por firewall

Syn Flood Servidor precisa de recursos para cada conexão para os buffers de envio e recebimento para controle de confirmações, entre outros Ao receber o Syn (início de conexão), o servidor: aloca estes recursos define o seu número sequencial responde ao cliente com um Syn + Ack (handshake)

Syn Flood Se cliente não completar handshake após certo tempo: desaloca estes recursos envia um RST (reset) para o cliente Importante: até que o tempo se esgote, recursos ficam alocados E se cliente só fizer SYNs e nunca completar o handshake?

Syn Flood Cliente pode gerar pacotes Syn muito mais rapidamente do que o servidor pode tratá los Flood, inundação de Syns: servidor aloca tantos recursos para falsos clientes que fica sem recursos para atender um cliente legítimo Negação de serviço no servidor! hping3 faz flood

Muito complicado! Defesa Syn Flood Bloquear ips dos atacantes? FALHO: atacante precisa fazer ip spoofing para que ataque tenha sucesso Qual ip bloquear? Limitar quantidade de Syns no firewall? FALHO: firewall vai recusar Syns de clientes legítimos O próprio firewall acaba causando o DoS e o atacante pode explorar isto ainda mais fácil

Defesa Syn Cookie Alocação de recursos feita no final do handshake Somente se cliente for legítimo Cliente legítimo: alguém que completou o handshake como saber se o cliente completou o handshake? Armazenar Ip e porta no primeiro SYN FALHO: isto não é alocar recursos? Reconhecer cliente mesmo sem armazenar nada. COMO????

Funcionamento Syn Cookie Servidor gera seu número sequencial a partir de um HASH de 32 bits: envolvendo a porta e o IP do cliente informações de time stamp informação sigilosa (senha) que só o servidor tem Cliente legítimo deverá no último pacote do handhshake: Numero de ACK = número seqüencia do servidor + 1

Syn Cookie: Cliente legítimo Servidor Cliente Ip 10.1.0.4 Porta 3000 De 10.1.0.4, porta 3000 Pacote SYN, NS-C=100 NACK=0 Pacote SYN/ACK, NS-S=1737737, NACK=101 HASH (10.1.0.4,3000,3456) HASH32 = 17377737 NS = 17377737 ESQUECE TUDO!! Não aloca nada Pacote ACK, NS-C=101, NACK=1737738 HASH (10.1.0.4,3000,3456) HASH32 = 17377737 NS = 17377737 Cliente forneceu 17377738 acertou o cookie ALOCA RECURSOS Segredo = 3456

Syn Cookie: Atacante tentando Syn Flood Servidor Cliente Ip??? Porta??? De 172.21.0.4, porta 300 Pacote SYN, NS-C=100 NACK=0 HASH (172.21.0.4,300,3456) HASH32 = 926234331 NS = 926234331 ESQUECE TUDO!! Não aloca nada Para 172.21.0.4 Pacote SYN/ACK, NS-S=926234331, NACK=101 Segredo = 3456?

Syn Cookie: Atacante tentando passar Servidor Cliente Ip?? Porta?? De 172.10.3.4 porta 300 Pacote ACK, NS-C=101, NACK=134538 Falso cliente não faz Syn, mas envia um ACK tentando fazer o servidor acreditar que já é a 3 etapa do handshake. Ele falsifica o Ip (172.10.3.4) e porta (300) de origem e inventa (advinha) um número de ACK (134538) para convencer o servidor HASH (172.10.3.4,300,3456) HASH32 = 388642517 NS = 388642517 Cliente forneceu 134538 NÃO ACERTOU O COOKIE Não aloca recursos Envia reset (ou não?)? Para 172.10.3.4 Pacote RST Segredo = 3456

Sobre Syn Cookie Atacante não consegue nada fazendo SYNs A menos que ele não minta sobre seu IP, para poder receber o cookie Mas ai ele se expõe e precisa participar do handshake Técnica de Syn Cookie não será portada para IPv6 problemas do syn cookie avanço na capacidade de processador e banda Linux tem Syn Cookie a muito tempo: echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Conclusão Negação de serviço local não é problema depende do administrador configurar corretamente Negação de serviço remoto: Protocolo: difícil, requer defesas Cuide se para: não ser a vítima não ser o atacante

Referências HOEPERS, Cristine; et al. Recomendações para evitar o Abuso de Recursivos Abertos. CERT BR, Fevereiro de 2009. Disponível em www.cert.br/docs/whitepapers/dns recursivo aberto/ (acesso em 05/Março/2010) SCHLEMER, Elgio. Iptables protege contra SYN FLOOD? Viva o Linux, Agosto de 2007. Disponível em www.vivaolinux.com.br/artigo/iptables protege contra SYN FLOOD EDDY, Wesley. TCP SYN Flooding Attacks and Common Mitigations. Request for Comments (RFC4987), Agosto de 2007. Disponível em www.rfc editor.org/rfc/rfc4987.txt ANÔNIMO; et al. SYN Flood. Enciclopédia Livre. Disponível em pt.wikipedia.org/wiki/syn_flood (versão de 26 de Dezembro de 2009 acessado em 05/Março/2010)

DoS: Negação de Serviço e formas de defesa Elgio Schlemer http://gravatai.ulbra.tche.br/~elgio http://www.vivaolinux.com.br/~elgio