Está en la página 1de 57

[D]DoS

[Distributed] Denial of Service


LSI
2012-2013
Contenido
[D]DoS
Conceptos bsicos de DoS
Mtodos de DoS
DDoS
Herramientas
DENEGACIN DE SERVICIOS
Denegacin de Servicios
Definicin

CERT - Ataque caracterizado por un intento explcito de denegar a los
usuarios legtimos el uso de un servicio o recurso

Por qu los servicios son vulnerables?

Los protocolos suelen estar diseados para ofrecer servicios, no para
prevenir o evitar estos ataques

Denegacin de Servicios
Periodo: Febrero 2009 - Junio 2009
Fuente: INTECO Instituto Nacional de Tecnologas de la Comunicacin
Denegacin de Servicios
Periodo: Febrero 2010 - Junio 2010
Fuente: INTECO Instituto Nacional de Tecnologas de la Comunicacin
Denegacin de Servicios

Legislacin aplicable
Ley Orgnica 10/1995, de 23 de Noviembre, del Cdigo Penal

Implicaciones jurdicas
Tras la reforma del Cdigo Penal del 23 de diciembre de 2010, el Ataque
de Denegacin de Servicio ha pasado a ser considerado un delito
pudiendo llegar las penas hasta los 3 aos de prisin segn el Art. 264
del mismo.


Denegacin de Servicios
Tipos de ataques DoS

1) Ataques semnticos o lgicos

Aprovechan una vulnerabilidad del protocolo, aplicacin o sistema

2) Ataques fuerza bruta o inundacin

Se intenta desbordar a los sistemas mediante un uso legtimo pero desmedido del
envo de paquetes
Ataques a servicios:
eg. autenticacinPassword Guessing

Clasificacin clsica
algunos ataques presentan caractersticas de ambos tipos



Denegacin de Servicios
Tipos de ataques DoS

1) Ataques semnticos o lgicos

En qu consisten?
Enviar al equipo remoto paquetes mal construidos para aprovechar vulnerabilidades

Cmo pueden evitarse?
Actualizacin servicios (parcheo de vulnerabilidades)
Definicin reglas en firewall

Ejemplos
Buffer overflow
Ping of Death
Teardrop
Land
Denegacin de Servicios
Buffer Overflow
Ataque de denegacin de servicios clsico
Un servicio/aplicacin responde ante la recepcin masiva de datos con
un error de ejecucin
Etapas:
Aplicacin/Servicio vctima expone un punto de entrada de datos
El conjunto de datos recibidos es superior al espacio de memoria
reservado (y no se hace comprobacin de tamao)
Los datos insertados sobreescriben zonas de memoria relacionadas
con el flujo de ejecucin del servicio/aplicacin
Denegacin de Servicios
Ping of Death
Ataque basado en overflow
Tamao paquetes IP limitados a 2
16

-1 (64Kb = 65,535 bytes)
incluyendo cabecera IP (20
bytes)
Si el tamao del un paquete > MTU
(generalmente 1500 bytes) son
fragmentados
ICMP echo-request
Cabecera ICMP: 8 bytes
Tamao mximo datos ICMP:
65535 20 8 = 65,507 bytes
Si tamao (una vez
reensamblado) se produca
overflow de las variables
internas de 16 bits
Ping l 65510 ipVictima





Denegacin de Servicios
TearDrop
Ataque basado en fragmentacin

Pasos
Envo de dos tramas IP fragmentadas
En el 2 fragmento se establece un offset que apunta a los datos
incluidos fragmento anterior
Origen reensambla paquetes y obtiene un tamao de paquete
errneo
Eg. sobrescritura de datos, negativo, superior a la memoria reserva
Ocasiona desbordamiento de memoria y cada del sistema

Sola dirigirse al puerto DNS para evitar firewalls





Denegacin de Servicios
LAND
LAND - Local Area Network Denial

Ataque basado en spoofing

Pasos
Envo de un paquete TCP SYN
IP origen y destino son la misma
Mquina vctima se responde a s misma continuamente

Extremadamente sencillo y efectivo



Denegacin de Servicios
Tipos de ataques DoS

2) Ataques de inundacin (flooding)

En qu consisten?
En inundar un sistema con un flujo continuo de trfico
Acaban por consumirse todos sus recursos propios y el ancho de banda

Ejemplos
TCP SYN
UDP Flood
ICMP Flood

Denegacin de Servicios
TCP SYN: flujo normal
1) CLIENTE NSc, Syn SERVIDOR
2) CLIENTE Ack NSc+1, Syn, NSs SERVIDOR
3) CLIENTE Ack NSs+1 SERVIDOR

TCP SYN Flood
Se reemplaza la IP origen del cliente por una IP legal pero inalcanzable
El servidor responde a un direccin inexistente con lo cual nadie responder
Servidor espera timeout (eg. 75 seg) con socket abierto, reserva de
buffers, etc.
Repeticin de peticiones SYNC
Se consigue la cada del servicio TCP cuando se colapsa la Transmission
Control Block (6-15 entradas)


Denegacin de Servicios
TCP SYN
Denegacin de Servicios
TCP SYN
Explota una debilidad intrnseca del protocolo TCP
Complejo de evitar
Monitorizacin mediante netstat

Algunas alternativas

SYN Cookies
Reserva espacio para la conexin (buffer, sockets, ) nicamente cuando se
recibe el mensaje de confirmacin final
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

SYN Caches
Implementado por defecto en FreeBSD
Utiliza una estructura de datos independiente y, cuando se completa la
conexin, copia los datos a la Transmission Control Block




Denegacin de Servicios
UDP & ICMP Flood

Al contrario que TCP, el protocolo UDP no est orientado a conexin
Ataques por inundacin UDP En qu consisten?
Envo masivo de paquetes a puertos UDP aleatorios
Destinatario (vctima)
Comprueba si alguna aplicacin est escuchando en ese puerto
Puerto aleatorio -> ninguna aplicacin estar a la escucha
Respuesta con un paquete ICMP Destination Unreachable
Si el nmero de paquetes enviados (puertos analizados) es
suficientemente elevado -> destino ser incapaz de responder

ICMP Echo Request (Ping flood)
Envo masivo de paquetes ICMP Echo




Denegacin de Servicios
Herramientas de generacin de paquetera

packit, hping3, nemesis,

Packit

Network Injection and Capture
Herramienta para la captura e inyeccin de paquetes, ethernet e IP
Permite personalizacin paquetes
TCP, UDP, ICMP, IP, ARP, RARP, Ethernet header

Tres modos de ejecucin: inject (defecto), capture y trace

apt-get install packit

Denegacin de Servicios
Packit [inyeccin de paquetera]

packit [-t protocolo] opciones
Opciones bsicas de inyeccin de paquetes
-t protocolo TCP (defecto), UDP, ICMP, ARP
-c nmero Nmero de paquetes a inyectar (0 continuo)
-w nmero Intervalo (en seg.) entre cada conjunto de paquetes
-b nmero Nmero paquetes a inyectar en cada intervalo
-s direccin IP origen mostrada (spoofing)
-sR Establece direccin IP origen aleatoria
-d direccin Direccin destino
-dR direccin Establece una direccin destino aleatoria
-S puerto Indica puerto origen en TCP y/o UDP
-D puerto Indica puerto destino en TCP y/o UDP
-F flags Flags TCP : S(SYN), F(FIN), A(ACK), P(PSH), U(URG), R(RST)
-h Host Response: salida por pantalla
Denegacin de Servicios
Packit. Ejemplos
Envo paquetes al puerto UDP-Echo desde ip aleatoria
root@debian:/home/lsi# packit -t udp -D 8 -sR -d 10.10.102.xx -c 2 -h
Mode: Packet Injection using device: eth0

-| SND 1 |------------------------------------------------------------------

Timestamp: 23:56:57.027564
UDP header: Src Port: 37641 Dst Port(s): 8
IP header: Src Address: 101.9.1.147 Dst Address: 10.10.102.xx
TTL: 128 ID: 47985 TOS: 0x0 Len: 28

-| RCV 1 |------------------------------------------------------------------

Timestamp: 23:56:57.027553
ICMP header: Type: Unreachable(3) Code: Port(3)
IP header: Src Address: 10.10.102.xx Dst Address: 101.9.1.147
TTL: 64 ID: 40376 TOS: 0xC0 Len: 56

-| SND 2 |------------------------------------------------------------------

Timestamp: 23:56:58.028146
UDP header: Src Port: 41286 Dst Port(s): 8
IP header: Src Address: 225.1.216.121 Dst Address: 10.10.102.xx
TTL: 128 ID: 57693 TOS: 0x0 Len: 28

-| RCV 2 |------------------------------------------------------------------

Timestamp: 23:56:58.028135
ICMP header: Type: Unreachable(3) Code: Port(3)
IP header: Src Address: 10.10.102.xx Dst Address: 225.1.216.121
TTL: 1 ID: 17212 TOS: 0xC0 Len: 56

-| Packet Injection Statistics |--------------------------------------------
Injected: 2 Received: 2 Loss: 0.0% Bytes Written: 56 Errors: 0
Denegacin de Servicios
Packit. Ejemplos
Envo paquetes al puerto ssh con el flag sync

root@debian:/home/lsi# packit -t tcp -D 22 -sR -FS -d 10.10.102.xx -c 2 -h
Mode: Packet Injection using device: eth0

-| SND 1 |------------------------------------------------------------------

Timestamp: 00:01:11.288296
TCP header: Src Port: 1613 Dst Port: 22 Flag(s): S
Window: 65535 Seqn: 69257331
IP header: Src Address: 99.71.171.142 Dst Address: 10.10.102.xx
TTL: 128 ID: 36336 TOS: 0x0 Len: 40

-| RCV 1 |------------------------------------------------------------------

Timestamp: 00:01:11.288280
TCP header: Src Port: 22 Dst Port: 1613 Flag(s): AS
Window: 5840 Seqn: 1037362562 Ackn: 69257332
IP header: Src Address: 10.10.102.44 Dst Address: 99.71.171.142
TTL: 64 ID: 0 TOS: 0x0 Len: 44 (DF)

-| SND 2 |------------------------------------------------------------------

Timestamp: 00:01:12.288836
TCP header: Src Port: 49057 Dst Port: 22 Flag(s): S
Window: 65535 Seqn: 1718917744
IP header: Src Address: 58.31.57.78 Dst Address: 10.10.102.xx
TTL: 128 ID: 35315 TOS: 0x0 Len: 40

-| RCV 2 |------------------------------------------------------------------

Timestamp: 00:01:12.288826
TCP header: Src Port: 22 Dst Port: 49057 Flag(s): AS
Window: 5840 Seqn: 164485453 Ackn: 1718917745
IP header: Src Address: 10.10.102.44 Dst Address: 58.31.57.78
TTL: 64 ID: 0 TOS: 0x0 Len: 44 (DF)

-| Packet Injection Statistics |--------------------------------------------
Injected: 2 Received: 2 Loss: 0.0% Bytes Written: 80 Errors: 0

Denegacin de Servicios
Packit [captura de paquetera]

packit -m cap opciones
Opciones bsicas
-c count Nmero de paquetes a procesar
-i device Seleccin de dispositivo de captura (eth0,..)
-n Deshabilitar resolucin ip/host
-nn Deshabilitar resolucin puerto/servicio
-v Modo verbose
-w file Grabar salida en fichero
-X Grabar datos en hexadecimal y ascii

Opciones de captura bsicas
tcpdump o wireshark
Denegacin de Servicios
Packit. Ejemplos captura de paquetes

root@debian:~# packit -m cap -c 10 -X
Mode: Packet Capture using device: eth0

-| PID 1 |------------------------------------------------------------------

Timestamp: 23:38:06.575006
TCP header: Src Port: 60383 Dst Port: 22 Flag(s): A
Window: 491 Seqn: 195705208 Ackn: 644801578
IP header: Src Address: 10.10.96.66 Dst Address: debian-23.local
TTL: 127 ID: 12894 TOS: 0x0 Len: 40 (DF)

0x0000 4500 0028 325e 4000 7f06 eeef 0a0a 6042 E--(2^@-------`B
0x0010 0a0a 662c ebdf 0016 0baa 3978 266e e42a --f,------9x&n-*
0x0020 5010 01eb 97b6 0000 0000 0000 0000 P-------------

-| PID 2 |------------------------------------------------------------------

Timestamp: 23:38:16.576498
TCP header: Src Port: 60383 Dst Port: 22 Flag(s): A
Window: 470 Seqn: 195705208 Ackn: 644806818
IP header: Src Address: 10.10.96.66 Dst Address: debian-23.local
TTL: 127 ID: 12896 TOS: 0x0 Len: 40 (DF)

0x0000 4500 0028 3260 4000 7f06 eeed 0a0a 6042 E--(2`@-------`B
0x0010 0a0a 662c ebdf 0016 0baa 3978 266e f8a2 --f,------9x&n--
0x0020 5010 01d6 8353 0000 0000 0000 0000 P----S--------


-| Packet Capture Statistics |----------------------------------------------
Received: 871 Dropped: 0 Processed: 0

Denegacin de Servicios
Packit. Ejemplos captura de paquetes
Posible especificar una expresin de filtrado (tcpdump)
Palabras reservadas: icmp, tcp, port, dst, src, tcp[tcpflags]

root@debian:~# packit -m cap 'icmp and dst 10.10.102.xx' -n -c 2
Mode: Packet Capture using device: eth0 [icmp and dst 10.10.102.xx]

-| PID 1 |------------------------------------------------------------------

Timestamp: 00:00:28.789189
ICMP header: Type: Echo Request(8) ID: 256 Seqn: 3584
IP header: Src Address: 10.10.102.xx Dst Address: 10.10.102.xx
TTL: 255 ID: 0 TOS: 0x0 Len: 36

-| PID 2 |------------------------------------------------------------------

Timestamp: 00:00:29.988963
ICMP header: Type: Echo Request(8) ID: 256 Seqn: 3584
IP header: Src Address: 10.10.102.xx Dst Address: 10.10.102.xx
TTL: 255 ID: 0 TOS: 0x0 Len: 36

-| Packet Capture Statistics |----------------------------------------------
Received: 2 Dropped: 0 Processed: 0





Denegacin de servicios
hping3
Aade funcionalidades aadidas a ping
spoofing, inyeccin paquetes, etc.
http://www.hping.org/hping3.html


Instalacin
apt-get install hping3

root@debian:/home/lsi# hping3 www.google.com
HPING www.google.com (eth0 173.194.34.241): NO FLAGS are set, 40 headers + 0 data
bytes
len=46 ip=173.194.34.241 ttl=255 id=10222 sport=0 flags=RA seq=0 win=0 rtt=0.4 ms
len=46 ip=173.194.34.241 ttl=255 id=10223 sport=0 flags=RA seq=1 win=0 rtt=0.4 ms

Denegacin de Servicios
hping3 [opciones] host
Opciones bsicas
-c nmero paquetes
-i intervalo espera (uX para esperar X microsegundos, eg. -i u1000)
--fast alias -i u10000 (10 paquetes/segundo)
--faster alias -i u1000 (100 paquetes/segundo)
--flood envo de paquetes sin espera (lo ms rpido posible)
Modo funcionamiento (si no se especifica, default mode TCP)
-0 --rawip RAW IP mode
-1 --icmp ICMP mode
-2 --udp UDP mode
-8 --scan SCAN mode.
-9 --listen listen mode
-a --spoof spoof direccin origen
--rand-source especificar direccin de origen aleatoria
UDP/TCP
-s --baseport base puerto de origen
-p --destport puerto destino
-S --syn flag SYN
-R --rst flag RST
Denegacin de Servicios
hping3 . Ejemplos
syn attack
root@debian:/home/lsi# hping3 --rand-source p 80 S --flood ipVictima
land attack
root@debian:/root# hping3 -d 120 -S -p 445 -s 445 --flood ipVictima
smurf attack
root@debian:/home/lsi# hping3 -1 flood a ipVictima broadcastRedVictima

FingerPrinting con hping
Xmas attack
root@debian:/root# hping3 -c 1 -V -I eth0 -s 8765 -p 8080 -M 0 -UPF ipVictima

Puerto Cerrado -> RST
Puerto Abierto -> No hay respuesta
Null scan
root@debian:/root# hping3 -c 1 -V -I eth0 -s 8765 -p 8080 -Y ipVictima

Puerto Cerrado -> No hay respuesta
Puerto Abierto -> RST
Denegacin de servicios
Hping3
Tambin es posible la ejecucin basada en consola
Acepta comandos Tcl

root@debian:~# hping3
hping3> hping resolve www.google.com
173.194.34.241
hping3> hping iflist
{lo 16436 {127.0.0.1} {} {LOOPBACK}} {eth0 1500
{10.10.102.xx} {10.10.102.255} {BROADCAST}}

Comandos disponibles
resolve, send, sendraw, recv, recvraw, iflist, outifa, getfield, hashfield,
setfield, delfield, checksum, event

Denegacin de servicios
hping3
Tambin es posible la ejecucin basada en consola

hping3> hping send {ip(daddr=x.x.x.x)+icmp(type=8,code=0)}
hping3> foreach i [list 1 2 3 4 5] {
hping send "ip(daddr=10.10.100.$i)+icmp(type=8)"
}

hping3> hping recv eth0

{ip(ihl=0x5,ver=0x4,tos=0x00,totlen=68,id=3300,fragoff=0,mf=0,df=1,rf=0
,ttl=64,proto=17,cksum=0x0830,saddr=10.0.2.15,daddr=x.x.x.x)+udp(sport=372
38,dport=53,len=48,cksum=0xfdfe)+data(str=Vy\01\00\00\01\00\00\00\00\00\00
\011\010\010\03127\07in-addr\04arpa\00\00\0c\00\01)}

hping3> while 1 {
set p [lindex [hping recv eth0] 0]
puts "[hping getfield ip saddr $p]->[hping getfield ip daddr $p]"
}

10.10.102.x -> 193.144.48.30
193.144.48.30 -> 10.10.102.x
10.10.102.x -> 173.194.34.241
173.194.34.241 -> 10.10.102.x
^C

Denegacin de Servicios
Ataques semnticos/lgicos vs ataques inundacin/fuerza bruta
Otra posible clasificacin
Ataques Directos
Envo masivo de paquetes de manera directa a la vctima
Eg. Ping of Death, TCP SYN,
Direccin origen generalmente falsificada

Reflector Attacks
Uso nodos intermedios como amplificadores
Routers, Servidores Web o DNS, etc.

Atacante enva paquetes que requieren respuesta a un amplificador con
la direccin de la vctima como direccin origen
Eg. TCP SYN, Smurf, Fraggle,
Denegacin de Servicios
Ejemplo de ataque reflector [distribuido]
Imagen extrada de Internet Denial of Service Attacks and Defense Mechanism, M. Abliz
Denegacin de Servicios
Inundacin : Amplificacin por peticiones Broadcast

Ataques por inundacin pueden magnificarse empleando direccin broadcast
Forma ms sencilla: envo de datagramas IP a direccin broadcast

SMURF
Simple, pero muy efectivo
Usa paquetes ICMP Echo-Request
IP origen : mquina atacada (spoofing)
IP destino: direccin broadcast de la red
Todos los equipos de la red respondern mediante paquete ICMP Echo-Reply, consumiendo el
ancho de banda de la red
Denegacin de Servicios
Inundacin : Amplificacin por peticiones Broadcast

Ataques por inundacin pueden magnificarse empleando direccin broadcast
Forma ms sencilla: envo de datagramas IP a direccin broadcast

FRAGGLE
Usa protocolo UDP
Envo de mensaje broadcast UDP Echo y destino generalmente al servicio chargen (puerto 19),
daytime (puerto 13) o echo (puerto 7) de la vctima
Inundacin
Equipos con echo inactivo respondern ICMP Error
Equipos con echo activo reenviarn paquete a la vctima
Si la vctima tiene servicio chargen activo, entrarn en un bucle infinito con los servidores de echo activo.






Denegacin de Servicios
Factor de amplificacin

Relacin entre las tramas recibidas por la vctima por cada trama transmitida
por el atacante

Eg. TCP SYN directo
Se enva un paquete TCP SYN y se responde un ACK (y se queda a la
espera).
Factor Amplificacin: 1

Eg. Smurf
Por cada paquete enviado por atacante se generan n paquetes hacia la
vctima (n: nmero de mquinas activas en la red):
Factor Amplificacin: n

Denegacin de Servicios
Inundacin : Amplificacin por peticiones Broadcast

Contramedidas SMURF & FRAGGLE

Deshabilitar servicios y protocolos innecesarios
Eg. Chargen

Cerrar puertos no necesarios

Definicin reglas en firewalls






Denegacin de Servicios
Inundacin : Amplificacin por peticiones Broadcast

Contramedidas SMURF & FRAGGLE

Desactivacin de respuestas broadcast
sysctl w net.ipv4.icmp_echo_ignore_broadcasts = 1

Source Route Verification
comprueba que los paquetes entrantes en una interfaz son alcanzables
basndose en la direccin de origen (evita spoofing)
sysctl w net.ipv4.conf.all.rp_filter = 1

Limitar nmero de paquetes aceptados por un servicio
IpTables + mdulo HashLimit






DDOS
DENEGACIN DE SERVICIOS DISTRIBUIDA
DDos
Imagen extrada de Internet Denial of Service Attacks and Defense Mechanism, M. Abliz
DDoS
Participantes principales

Agentes (bots, zombies)
Mquinas intermediarias
Equipos que tras su infeccin (e.g. malware) son usados por una
tercera persona como medio para lanzar un ataque
DDoS, Distribucin material, envo de spam, robo de datos, etc.
Cmo se infectan las mquinas?
Gusanos (Worms), Troyanos, etc.

Handlers o manejadores
Programa/servicio encargado del control de los agentes
Especifica a quien atacar, cuando atacar y cmo atacar


DDoS
Mtodos de control de las botnets
BackDoors
IRC (chat)
Salas privadas formadas por los sistemas infectados
Los mensajes se interpretan como comandos







Web: P2P, Twitter
DDoS
Dimensin Botnets
Mariposa (2010) 13 millones equipos
TDL (2011) 4.5 millones equipos
Rustock (2011) 2.4 millones de equipos
DDoS
Fases

1) Reclutamiento agentes
Escaneo de puertos, bsqueda de vulnerabilidades, etc.
Troyanos, Spam, etc.
2) Explotacin / infeccin
Generalmente automatizada
Mquinas infectadas sern utilizadas para nuevos reclutamientos
3) Ataque
Tras la orden del manejador, los agentes sern los encargados del
lanzamiento de paquetes

DDoS
Taxonoma de los mecanismos de ataque en DDoS
(imagen extrada de A Taxonomy of DDoS Attack and DDoS Defense Mechanisms, J. Mirkovic)

DDoS
Mecanismos de Ataque en cuanto a su grado de automatizacin
Manuales
Escaneo, reclutamiento, explotacin/infeccin, ataque
Semiautomticos
Manejador (master, handler), agente (esclavo, demonio, zombie, botnet)
Reclutamiento, explotacin/infeccin automatizadas
Fase de uso manual: tipo de ataque, duracin, vctima, etc.
Comunicacin
Directa
Indirecta:
Eg. IRC (cifrado), port knocking, control remoto (proxie)
Automticos
Fase uso tambin automtica -> no se necesita comunicacin entre
atacante y agentes.
Uso de backdoors


DDoS
Mecanismos de Ataque en cuanto a su grado de explotacin

Semntica (o lgica)
Explotacin debilidades protocolo
Eg.
TCP SYN, NATPHA

Fuerza Bruta, Flooding o inundacin
Ataque basado en la generacin de enormes cantidades de trfico
legtimo


DDoS
Taxonoma de los mecanismos de defensa en DDoS
(imagen extrada de A Taxonomy of DDoS Attack and DDoS Defense Mechanisms, J. Mirkovic)

DDoS
Mecanismos de Defensa en cuanto a nivel de actividad

Preventivos
Intentan eliminar la posibilidad de sufrir ataques DDoS en conjunto o
bien posibilitar a las potencias vctimas a soportar el ataque sin dejar
de dar servicio a los clientes legtimos

Reactivos
Intentan mitigar el impacto del ataque sobre la vctima. Necesitan
detectar el ataque (IDS, mtricas rendimiento, etc.) y responder a l.
El objetivo se resume en detectar cuanto antes el problema con un
bajo nivel de falsos positivos.
DDoS
Mecanismos de Defensa en cuanto a grado de cooperacin
Autnomos
Defensa independiente en el lugar en el que se despliegan (host, red,
servicio)
E.g. : firewalls, antivirus, IDS (a pesar de poder operar distribuido)
Cooperativos
Pueden operar en modo autnomo para deteccin y respuesta, pero
son capaces de cooperar con otro tipo de entidades para mejorar su
rendimiento
Eg. Aggregate Congestion Control (ACC) en routers
Interdependientes
No operar de manera autnoma. Requieren despliegues multi-red o
delegacin en otros servicios.
Eg. Mecanismos de traceback multirouter
DDoS
Mecanismos de Defensa en cuanto a lugar de despliegue

Red Vctima
Implantacin mbito red local [personalizable]
Mecanismos de defensa intentan aligerar el impacto sobre la vctima
Eg. monitorizacin de recursos, securizacin protocolos, reverse-firewall

Red Intermedia
Proporcionan defensa a un mayor nmero de servicios/mquinas
Servicio generalmente contratable
Eg. TraceBack, PushBack

Red Origen
Evitan a los clientes ser fuente de un ataque de DDoS
DDoS
Con qu dificultades nos enfrentamos para ofrecer soluciones eficaces
[y eficientes]?

Muchas de ellas derivadas de la propia arquitectura de internet
comparticin de recursos bajo demanda
precepto simple core and complex edge
multi-path routing
gestin descentralizada
escasa notarizacin (accountability)
capacidad de enlaces variable

pero hay ms
No siempre es fcil diferenciar una peticin maliciosa de una legtima
Asimetra en el overhead entre peticiones y respuestas
Escasez de informacin sobre ataques


DDoS
Aun as.. Qu se puede hacer?
Prevenir y priorizar
Pasivo:
IDS (bsqueda de firmas), monitorizacin de trfico en bsqueda de mensajes de control conocidos
Activo:
Estrategia distribuida: Redes cooperativas de agentes
Traceado IP (una vez producido el ataque)
Problemas
No siempre factible: NAT, Firewalls
Ineficaz en reflector attacks.
An as es un punto de partida altamente recomendable
Deteccin y filtrado
Fases
1) identificacin de paquetes del ataque DDoS
2) clasificacin y eliminado de dichos paquetes
Debern mantenerse bajas las tasas de falsos positivos y falsos negativos
OJO: Atacante puede tambin generar trfico legtimo
Herramientas: IP Hooping, Route-based Packet Filtering, Distributed Attack Detection






Herramientas DDoS
TRIN00
Conjunto de programas master-slave que implementa DDoS
1 nico mster
Ataques por inundacin TCP SYN, ICMP, UDP
Listas de agentes
Envo mail
Demonio TCP 1524
Agentes
Distribuyen versiones pre-compiladas (netcat, ftp)
Comunicacin entre atacante-master-agente
Comunicacin directa
Se inicia siempre con el envo de una contrasea
tcp 27665 atacante master y udp 27444 y 31335 entre master - bot
lsof o netstat permite ver puertos abiertos
lsof i n P U
Puertos no privilegiados -> no requieren permisos de root
Comandos
Master: die, dos ip, mstop, mtime, killdead,


Herramientas DDoS
TFN Tribe Flood Network

Intentan evitar cortes conexin por parte de firewalls

Conjunto de programas mster-slave que implementa DDoS
1 nico mster
Ataques por inundacin TCP SYN, ICMP, UDP, Smurf.
RootShell
Comunicacin entre atacante-master-agente
Puertos privilegiados -> requiere permisos de root
Comunicacin directa
No existe contrasea de acceso
Atacante Cliente (mster) va telnet
Cliente (mster) demonios (slave) va ICMP_ECHO_REPLY
Comandos
Encapsulados en paquetera ICMP
NumSec = 0x000000 para hacerlo pasar por respuesta a ping
Codificados en campo ID


Herramientas DDoS
Stacheldraht

Basada en arquitectura TFN
Aade cifrado en el intercambio de mensajes

Ataques
Por inundacin TCP SYN, ICMP, UDP, Smurf.
No RootShell

Componentes
Handlers o controladores (master, cliente)
Agents (slaves, demonios)

Conectividad
Handlers Agentes: TCP e ICMP indistintamente
Atacante Cliente : Telnet 16660/TCP Trfico cifrado

Agentes pueden pedir actualizaciones bajo-demanda versiones pre-compiladas
TCP 514/tcp (rcp)




Bibliografa
CERT. Software Engineering Institute. Carnegie Mellon
www.cert.org/tech_tips/denial_of_service.html

Instituto Nacional de Tecnologas de la Comunicacin (INTECO)
http://www.inteco.es/Seguridad/Observatorio/Articulos/Articulo_botnet

Jelena Mirkovic, Sven Dietrich, David Dittrich, and Peter Reiher.
Internet Denial of Service. Attack and Defense Mechanisms. ISBN: 0-
13-147573-8. Prentice Hall, 2004.

Denegacin de Servicios

También podría gustarte