Slides de apresentação sobre DDoS para a disciplina de segurança de sistemas de informação da Faculdade Cenecista Nossa Senhora dos Anjos. Foi realizado também uma demonstração com a ferramenta GoldenEye desenvolvida em Python para simular ataques DDoS
3. O que DDoS é:
• é uma tentativa de tornar os recursos de um
sistema indisponíveis para seus usuários.
• Alvos típicos são servidores web, e o ataque
tenta tornar as páginas indisponíveis.
4. Estratégias mais comuns:
• Forçar o sistema vítima a reinicializar ou consumir
todos os recursos (como memória ou processador por
exemplo) de forma que ele não pode mais fornecer
seu serviço.
• Obstruir a comunicação entre os usuários e o sistema
v í t i m a d e f o r m a a n ã o c o m u n i c a re m - s e
adequadamente.
!
5. Ataque distribuído
• O ataque consiste em fazer com que os Zumbis (máquinas infectadas e
sob comando do Mestre) se preparem para acessar um determinado
recurso em um determinado servidor em uma mesma hora de uma
mesma data.
!
• Passada essa fase, na determinada hora, todos os zumbis (ligados e
conectados à rede) acessarão ao mesmo recurso do mesmo servidor.
!
• Como servidores web possuem um número limitado de usuários que
pode atender simultaneamente ("slots"), o grande e repentino número de
requisições de acesso esgota esse número de slot, fazendo com que o
servidor não seja capaz de atender a mais nenhum pedido.
6. Ataque por inundação
• Ataques por inundação se caracterizam por
enviarem um grande volume de tráfego ao
sistema da vítima primária de modo a
congestionar sua banda. O impacto deste
ataque pode variar entre deixar o sistema lento,
derrubá-lo ou sobrecarregar a banda da rede
da vítima. Ataques por inundação podem usar
pacotes UDP (User Datagram Protocol) ou ICMP
(Internet Control Message Protocol)1 .
7. Ataques por
amplificação
Ataques por amplificação se caracterizam por
enviarem requisições forjadas para uma grande
quantidade de computadores ou para um
endereço IP de broadcast, que por sua vez
responderão às requisições.
!
Forjando o endereço IP de origem das
requisições para o endereço IP da vítima
primária fará com que todas as respostas sejam
direcionadas para o alvo do ataque.
!
O endereço IP de broadcast é um recurso
encontrado em roteadores. Quando uma
requisição possui um endereço IP de broadcast
como endereço de destino, o roteador replica o
pacote e o envia para todos os endereços IP
dentro do intervalo de broadcast.
!
Em ataques por amplificação, endereços de
broadcast são usados para amplificar e refletir o
tráfego de ataque, reduzindo então a banda da
vítima primária
8. Ataque por
exploração de
protocolos
Ataques por exploração de
protocolos se caracterizam por
consumir excessivamente os
recursos da vítima primária
explorando alguma característica
específica ou falha de
implementação de algum protocolo
instalado no sistema da vítima.
!
Os principais ataques por exploração
de protocolos são por uso indevido
de pacotes TCP SYN (Transfer
Control Protocol Synchronize) ou de
pacotes TCP PUSH+ACK
9. Mapa em tempo real de ataques DDoS
http://www.digitalattackmap.com/
10. NECESSIDADE CRESCENTE DE
PROTEÇÃO CONTRA DDoS
Uma recente pesquisa da Verisign sobre os tomadores de decisão
de TI revelou alguns resultados alarmantes:
• 63% dos entrevistados foram alvo de pelo menos um ataque de
DDoS no ano passado
• Entre eles, 11% foram atacados seis vezes ou mais
• 67% afirmaram que qualquer tempo de inatividade afetou seus
clientes
• 51% relatou perda de receita em função de algum tipo de tempo
de inatividade
11. Técnicas de defesas atuais
• BLACKHOLING!
• A técnica de blackholing consiste em
bloquear todo o tráfego de um
determinado servidor, redirecionando
o tráfego a um “buraco negro” onde
será descartado. Um tipo comum de
“buraco negro” é simplesmente
especificar um endereço IP de um
servidor que não esteja rodando ou
um endereço IP que não
corresponda a nenhum servidor.
• Porém, esta não é uma solução muito
boa, já que todo o tráfego é
descartado – inclusive o de usuários
legítimos.
12. Técnicas de defesas atuais
• Roteadores!
• Roteadores podem funcionar como uma
primeira linha de defesa, pois possuem listas
de controle de acesso que podem ser
utilizadas para deter ataques de negação de
serviço simples, tais como um ataque de
inundação por ping, filtrando protocolos não
essenciais e endereços IP inválidos.
• Porém, muitos dos ataques DDoS mais
sofisticados utilizam protocolos válidos que
são essenciais para a conexão com a
Internet. Portanto, a filtragem de pacotes
torna-se pouco efetiva.
• Além disso, muitos atacantes utilizam
endereços de IP mascarados (spoofed),
porém válidos. Portanto, a filtragem de
endereços IP inválidos também torna-se
pouco efetiva.
13. Técnicas de defesas atuais
• SYN Cookies!
• SYN cookies é uma técnica chave na prevenção
contra SYN Flood (inundação SYN), que utiliza
técnicas criptográficas para proteger o sistema.
Foi criada em 1996 e está presente no Linux,
apesar de não ser habilitado por padrão.
• Quando o iniciador deseja estabelecer uma
conexão, ele envia um pacote SYN ao ouvinte. O
ouvinte então responderá ao iniciador enviando
um pacote SYN+ACK contendo um cookie. Este
cookie é um número de sequência inicial (Initial
sequence number – ISN) calculado por técnicas
criptográficas, que envolvem inclusive o endereço
IP e o número da porta do iniciador. O pacote
SYN original então pode ser descartado.
• Com esta técnica, o sistema aloca espaço para a
conexão apenas quando recebe o pacote ACK
válido de resposta. Desta forma, o ataque por
inundação SYN passa a ser inefetivo.
14. Técnicas de defesas atuais
• Firewalls!
• Um firewall pode ser um mecanismo de defesa
eficiente na defesa contra ataques de inundação SYN,
porém não muito eficiente na detecção de ataques
DDoS mais sofisticados.
• Uma das técnicas que podem ser empregadas por um
firewall é a de mascarar pacotes SYN+ACK enviados
ao iniciador. Nesta técnica, o firewall funciona como
um intermediário entre o iniciador e o servidor. Esta
técnica funciona desde que o firewall possua um
mecanismo de defesa como o SYN cookie.
• Porém, firewalls não possuem mecanismos de
detecção de ataques baseados em anomalias.
• Quando se trata de aplicações para web, o acesso
deve ser liberado para alguns protocolos, como o
HTTP. Sendo assim, um atacante pode utilizar um
destes protocolos permitidos para iniciar um ataque.
Como o firewall não possui mecanismos de detecção
por anomalia, o ataque não será detectado.