Title: DDoS - Distributed Denial-of-Service attack
1DDoS - Distributed Denial-of-Service attack
Seminários em Informática Teórica
- André Galamba Rodrigues dos Anjos
- Gabriel Fernandes de Almeida
2Agenda
- Introdução
- Motivação
- Conceitos
- Ferramentas
- Taxonomia
- Ataques
- Defesa
- Conclusão
- Referências e Leituras
3Introdução - DoS
- Envio indiscriminado de requisições a um
computador alvo, causando indisponibilidade dos
serviços oferecidos por ele. - Similar ao que ocorre com as companhias de
telefone nas noites de ano novo milhares de
pessoas decidem, simultaneamente, cumprimentar os
amigos distantes.
4Introdução - DDoS
- Conjuga dois conceitos, negação de serviço e
intrusão distribuída. - DDoS ataques DoS diferentes de várias origens,
disparados simultânea e coordenadamente sobre um
ou mais alvos. - Ataques DoS em larga escala!
5Motivação
- Mundo baseado em serviços
- Uma porta um serviço
- Convergência de Redes (4G)
- Danos financeiros cada vez maiores
- Wi-Fi/WiMax/BlueTooth Festa
- Vídeo BlueSniper BlueTooth Gun
6Primeiros ataques
- Surgiram em agosto de 1999.
- Se firmou na semana de 7 a 11 de Fevereiro de
2000 quando foram atacados - Yahoo
- Ebay
- Amazon
- CNN
- Os brasileiros não podiam ficar para trás! Uma
semana depois - UOL - Globo On - IG
7Conceitos
8Ataques DDoS
- O que torna possível tais ataques?
- Como são feitos?
- Qual o motivo de serem feitos?
9O que torna possível o DDoS?
- Design da Internet (ponto-a-ponto)
- Complexidade da rede nas bordas
- O meio é simples
- Não há policiamento de tráfego, apenas
forwarding... - A segurança de um host se contrapõe a falta no
restante da Internet - Os recursos da Internet são limitados...
10Limitados?
- 43.973.865.717.760 Bytes/Dia 40 TB/Dia
- Banda de mais de 4 Gbits por segundo.
11Limitados?
- Como atacar um host com tanta banda?
- O gargalo pode ser a aplicação que provê o
serviço. - Conseqüência da arquitetura cliente-servidor,
falta escalabilidade um host / muitos clientes
12O que torna possível o DDoS?
- Os recursos não são bem arranjados
- Pacotes viajam rápido a um custo mínimo
- Os hosts acham que só precisam do máximo de banda
que eles acharem necessário - É possível usar a grande banda intermediária para
enviar inúmeras mensagens a uma vítima com pouca
banda local - Impunidade IP Spoofing Smurf Attacks
- O Controle da rede é distribuído
- Políticas de segurança locais
- Impossível criar mecanismos globais de segurança
13Como são feitos os ataques
- Os personagens
- Atacante efetivamente coordena o ataque.
- Master máquina que recebe os parâmetros para o
ataque e comanda os agentes. - Agente máquina que efetivamente concretiza o
ataque DoS contra uma ou mais vítimas. - Vítima Alvo do ataque, máquina que é inundada
por um enorme volume de pacotes, resultando na
paralisação de seus serviços.
14Nos bastidores...
- Aplicações
- Cliente
- Reside no master e controla os ataques enviando
comando aos daemons. - Daemon
- Roda no agente, recebe e executa os comandos
enviados pelo cliente.
15O ataque
- Dividido basicamente em 3 fases
- Intrusão em massa
- Instalação do software DDoS na máquinas invadidas
- Lançamento do flood contra uma ou mais vítimas
16Intrusão em massa
- Megascan de portas e vulnerabilidades em redes
- Conexão banda-larga, baixo monitoramento
- Explorar vulnerabilidades
- Obter acesso privilegiado
- Listão de IPs
17Instalação de sofwtare DDoS
- Uma conta de usuário é usada como repositório das
aplicações DDoS - Binários das ferramentas são instalados nas
máquinas invadidas - Masters ou agentes
- Daemons nos agentes anunciam sua presença aos
masters - Listão de Ips ativos
- Masters a agentes organizam os ataques
- Visando ocultar o comprometimento da máquina e a
presença dos programas, são instalados rootkits
18Lançamento do flood
- O atacante controla uma ou mais máquinas master
que por sua vez podem controlar um grande número
de agentes - A partir dos agentes é disparado o flood de
pacotes - Saturação do link de rede e paralização do
serviços prestados pela vítima
19Qual o motivo dos ataques?
- Principal objetivo infligir danos ao atacado
- Número significante de ataques a desktops, o que
pode caracterizar vingança - Prestígio Ataque a serviços populares
- Ganho material Ataque a rivais/Chantagem
- Motivos políticos
- A verdadeira vítima pode não ser o alvo do ataque
(dependência da vítima em relação ao alvo do
ataque)
20Ferramentas de DDoS
- Principais ferramentas
- Trin00
- TFN Tribe Flood Network
- Stacheldraht
- TFN2K Tribe Flodd Network 2000
21Trin00
- Ferramenta específica de UDP Flood
- Poucos masters e muitos agentes
- Tanto o programa cliente (master) quanto os
daemons (agentes) podem ser inicializados sem
privilégios de root
22TFN Tribe Flood Network
- Gera ataques do tipo
- UDP flood
- SYN flood
- ICMP flood
- Smurf/Fraggle
- Nestes ataques é possível forjar o endereço de
origem do pacote dificulta a identificação - Algumas versões da ferramenta cliente usam
criptografia (Blowfish) para ocultar o conteúda
da lista de IPs. - Deve possuir privilégio de root
23Stacheldraht
- Baseado no TFN, é capaz de gerar o seguintes
ataques - UDP Flood
- TCP Flood
- ICMP Flood
- Smurf/Fraggle
- Criptografia da comunicação entre o atacante e o
master - A atualização dos binários dos daemons nos
agentes pode ser realizada instruindo o daemon a
apagar a própria imagem e substituí-la por uma
nova cópia - Requer privilégios de root
24TFN2K Tribe Flodd Network 2000
- Versão sofisticada do TFN, capaz de gerar os
seguintes ataques - UDP Flood
- TCP Flood
- ICMP Flood
- Smurf/Fraggle
- Pacotes enviados ao master são criptografados
usando o CAST - Ferramenta silenciosa, não existe confirmação
(ACK) da recepção dos comandos, a comunicação é
unidirecional - Master pode utilizar um IP forjado
25Resumo das ferramentas
26Taxonomia - Ataques
27Taxonomia Ataques
- DA Degree of Automation
- EW Exploited Weakness to Deny Service
- SAV Source Address Validity
- ARD Attack Rate Dynamics
- PC Possibility of Characterization
- PAS Persistence of Agent Set
- VT Victim Type
- IV Impact on the Victim
28DA Degree of Automation
- DA-1 Manual
- O atacante manualmente procura vulnerabilidades,
invade, instala o código e comanda o ataque - Fases recruit, exploit, infect, use
- Usado apenas nos primeiros ataques
- Logo os ataques foram automatizados
29DA Degree of Automation
- DA-2 Semi-Automatic
- Usa o conceito de Agente e Handler
- Todas as fases automatizadas, exceto ataque
- Na fase de ataque, o atacante especifica o tipo,
duração e alvos do ataque através do Handler - Esse tipo de automação é sub-classificado em
- DA-2 CM Communication Mechanism
- DA-2 CM-1 Direct Communication Necessário
conhecer o IP do Handler, ou seja, é fácil
descobrir o agressor - DA-2 CM-2 Indirect Communication Usa outros
canais (legítimos) de comunicação, como IRC.
30DA Degree of Automation
- DA-3 Automatic
- Evita a comunicação entre o atacante e os agentes
(diminui a exposição do atacante) - Automatiza também a fase de ataque
- Possibilita mais ataques no futuro, pois deixa
backdoors abertas - Em alguns casos, o código de ataque pode ser
modificado posteriormente (re-infecção)
31DA Degree of Automation
- DA-2 e DA-3 HSS Host Scanning Strategy
- Ataques semi e totalmente automatizados precisam
procurar hosts e vulnerabilidades - Uso de Worms e Trojans para esse fim
- 3 milhões de scans por dia em 2003
- Procura endereços de máquinas potencialmente
vulneráveis
32DA Degree of Automation
- HSS-1 Random Scanning
- Eficiente apenas em IPv4
- Gera muito tráfego (fácil detecção)
- HSS-2 Hitlist Scanning
- Lista de hosts vulneráveis criada previamente
- Envio de porções da lista para os infectados
- Infecção muito rápida, mas se a lista for grande,
pode ser detectada - Pode infectar milhões de máquinas em lt 1 min
33DA Degree of Automation
- HSS-3 Signpost Scanning
- Usa padrões de comunicação
- Worms de e-mail usam a lista de endereços de
e-mails do infectado - Pouco tráfego (difícil de detectar), mas depende
do comportamento do infectado - HSS-4 Permutation Scanning
- Usa permutação para procurar máquinas
- Gera pouco tráfego (identifica as já infectadas)
34DA Degree of Automation
- HSS-5 Local Subnet Scanning
- Procura preferencialmente por alvos na mesma
sub-rede - Funciona bem quando alcança uma máquina que está
por trás de firewall - Pode fazer parte de qualquer uma das técnicas
anteriores
35DA Degree of Automation
- DA-2 e DA-3 VSS Vulnerability Scanning Strategy
- Parte da tática automatizada de ataque
- Após encontrado um host (através de alguma das
técnicas descritas), é hora de descobrir suas
vulnerabilidades!
36DA Degree of Automation
- VSS-1 Horizontal Scanning
- Procura por uma vulnerabilidade específica no
host (normalmente usado por worms) - VSS-2 Vertical Scanning
- Procura por várias vulnerabilidades no host
(também é usado por worms) - VSS-3 Coordinated Scanning
- Procura falhas em vários hosts ao mesmo tempo
(normalmente numa sub-rede)
37DA Degree of Automation
- VSS-4 Stealthy Scanning
- Qualquer uma das anteriores, mas feita de forma
lenta, de modo a evitar detecção.
38DA Degree of Automation
- DA-2 e DA-3 PM Propagation Mechanism
- Na fase de infecção, o código de ataque passa
para o host, propagando-o.
39DA Degree of Automation
- PM-1 Central Source Propagation
- Código é baixado de uma fonte central
- Gera tráfego detecção
- li0n worm (2001) iniciou assim
- PM-2 Back-Chaining Propagation
- Código á baixado da máquina usada para invadir o
sistema atual, e passa a ser fonte para próximo. - Evita ponto único de falha
- Ramen (2001) e Morris (1988) Worm
40DA Degree of Automation
- PM-3 Autonomous Propagation
- Injeta o código já na fase de invasão
- Code Red e Warhol Worm, além de e-mail worms
- Pouco tráfego na rede
41EW Exploited Weakness to Deny Service
- EW-1 Semantic
- Explora bug específico de aplicação ou protocolo
- TCP SYN enche a connection queue
- CGI request CPU-Time hungry
- NAPTHA não mantinha o estado da conexão, uma
máquina com pouco poder de processamento e banda
podia facilmente derrubar servidores.
42EW Exploited Weakness to Deny Service
- EW-2 BruteForce
- Usa serviços legítimos
- Procura consumir banda ou CPU
- Precisa gerar muito mais pacotes de ataque do que
a técnica anterior - Mais difícil de se defender, pois pode gerar
pacotes com cabeçalhos e payloads que podem
variar, ao contrário da técnica anterior.
43SAV Source Address Validity
- SAV-1 Spoofed Source Address
- Mudança do IP real do atacante
- SAV-1 AR Address Routability
- SAV-1 AR-1 Routable Source Address
- A fonte do ataque é roteável (muito usado para
ataques de reflexão) - Smurf Attacks
- SAV-1 AR-2 Non-Routable Source Address
- Podem usar endereços reservados (fáceis de
detectar), mas quando encontram endereços não
usados, são muito difíceis de caracterizar.
44SAV Source Address Validity
- ST Spoofing Technique
- ST-1 Random Spoofed Source Address
- Randomicamente gera IP, mas dificilmente funciona
- ST-2 Subnet Spoofed Source Address
- Difícil de detectar quando o pacote sai da
sub-rede - ST-3 En Route Spoofed Source Address
- Viagem do autor... Usa IP de alguma máquina no
meio do caminho entre a vítima e o atacante, não
há registro de casos desta técnica. - ST-4 Fixed Spoofed Source Address Lista Fixa
45SAV Source Address Validity
- SAV2 Valid Source Address
- Comum em máquinas Windows com versões prévias ao
XP - Usado em ataques que dependem de vários
requests/replies - NAPTHA
46ARD Attack Rate Dynamics
- ARD-1 Constant Rate
- Fácil detecção
- Bom custo/benefício, pois precisa de poucos
agentes - Geralmente usa a maior taxa de transmissão
possível - While (true)...
47ARD Attack Rate Dynamics
- ARD-2 Variable Rate
- Usada para evitar detecção
- ARD-2 RCM Rate Change Mechanism
- ARD-2 RCM-1 Increasing Rate
- Vai lentamente consumindo os recursos do atacado,
o que é muito difícil de ser detectado - ARD-2 RCM-2 Fluctuating Rate
- Baseado no comportamento da vítima ou
pré-programado - Ataques coordenados em pulso pode ser muito
eficazes
48PC Possibility of Characterization
- PC-1 Characterizable
- PC-1 RAVS Relation of Attack to Victim Services
- PC-1 RAVS-1 Filterable
- Pacotes mal-formados (firewall)
- Ataques de UDP ou ICMP a Web Servers
- PC-1 RAVS-2 Non-Filterable
- Pacotes bem-formados (indistinguíveis dos
enviados por clientes reais) - Tentar filtrar esses pacotes pode levar a DoS
também
49PC Possibility of Characterization
- PC-2 Non-Characterizable
- Tentam esgotar a banda, usando diferentes
protocolos e aplicações - Poderia até ser caracterizado, mas após longo
período de tempo e com muito esforço - TCP SYN, TCP ACK, ICMP ECHO, ICMP ECHO REPLY e
pacotes UDP ao mesmo tempo...
50PAS Persistence of Agent Set
- PAS Persistence of Agent Set
- PAS-1 Constant Agent Set
- Comportamento sincronizado, onde os agentes têm o
mesmo conjunto de comandos para executar - PAS-2 Variable Agent Set
- Ataque em grupos, onde cada agente pertence a um
grupo - Pode utilizar ataque em pulso para gerar um
tráfego constante
51VT Victim Type
- VT-1 Application
- Muito difícil de ser detectado, pois normalmente
as outras aplicações continuam respondendo
normalmente, a menos que os recursos da máquina
sejam consumidos - VT-2 Host
- Tem como objetivo destruir a máquina
- Fácil detecção
- Para defesa é necessário Firewall
52VT Victim Type
- VT-3 Resource Attacks
- Têm como objetivo algum recurso crítico na rede
da vítima, como DNS, roteador... - VT-4 Network Attacks
- Consome a banda da rede, e é fácil de detectar
- VT-5 Infrastructure
- Ataca serviços distribuídos que são cruciais para
o funcionamento global da Internet, como DNS,
protocolos de roteamento e servidores de
certificado
53IV Impact on the Victim
- IV-1 Disruptive
- IV-1 PDR Possibility of Dynamic Recovery
- IV-1 PDR-1 Self-Recoverable
- IV-1 PDR-2 Human-Recoverable
- IV-1 PDR-3 Non-Recoverable
- Dano permanentes ao Hardware Sem registros
- IV-2 Degrading
- Sem registros, mas interessante...
54Taxonomia - Defesa
55Prevenção
- Patches parece besteira, mas normalmente as
vulnerabilidades exploradas já são conhecidas - Filtros anti-spoofing nos roteadores as regras
de detecção são facilmente encontradas na
internet - Limitação de Banda por tipo de tráfego
- Prevenir que sua rede amplifique ataques
(limitação de broadcasting)
56Prevenção
- E o principal... PLANEJAMENTO!!!
- (puxar o cabo de força não vale...)
- Contingência
- Resposta
57Conclusão
58Referência
- Mirkovic, J. Reiher, P. A Taxonomy of DDoS
Attack and DDoS Defense Mechanisms - http//www.cin.ufpe.br/gfa/ddos.pdf
Leituras Recomendadas
- Denial-of-service attack (WikiPedia)
- http//en.wikipedia.org/wiki/DDoS
- Tudo que você precisa saber sobre os ataques DDoS
- http//www.rnp.br/newsgen/0003/ddos.html
- Internet Denial of Service Attack and Defense
Mechanisms
59Perguntas?
?
60DDoS - Distributed Denial-of-Service attack
Seminários em Informática Teórica
- André Galamba Rodrigues dos Anjos
- Gabriel Fernandes de Almeida