Prevención de DoS
Categories:
Prevención de DDoS
Dos métodos de ataque DoS:
- Hacer colapsar el servicio
- Saturar la red
Tipos de ataques
| Tipo de ataque | Método de ataque | Contramedidas |
|---|---|---|
| Distributed DoS | Máquinas con IPs independientes atacando simultáneamente | 1. Degradar servicio 2. Lista negra 3. Desconectar dispositivos de red |
| Ataque Yo-yo | Para servicios con capacidad de expansión automática, atacar durante los intervalos de reducción de recursos | Lista negra |
| Ataques de capa de aplicación | Atacar funciones o características específicas, el ataque LAND pertenece a este tipo | Lista negra |
| LANS | Este método utiliza paquetes TCP SYN especialmente construidos (usados normalmente para iniciar una nueva conexión), creando una conexión nula donde la dirección origen y destino son la misma IP, generando respuestas automáticas continuas que consumen recursos del sistema hasta el colapso. Este método no es igual al ataque de inundación SYN. | Lista negra |
| DoS avanzado persistente | Ataques de reconocimiento/objetivo específico/evitación de contramedidas/ataque prolongado/alta capacidad computacional/ataque multi-hilo | Degradar servicio |
| Ataque HTTP slow POST | Crear conexiones legítimas y enviar grandes cantidades de datos extremadamente lentamente, causando agotamiento de recursos del servidor | Degradar servicio |
| Ataque Challenge Collapsar (CC) | Enviar solicitudes legítimas estándar frecuentemente, estas solicitudes ocupan muchos recursos, por ejemplo los motores de búsqueda ocupan mucha memoria | Degradar servicio, reconocimiento de contenido |
| Inundación ICMP (Protocolo de Mensajes de Control de Internet) | Muchos paquetes ping/ping incorrectos/Ping of death (paquete ping malformado) | Degradar servicio |
| Ataques de denegación de servicio permanente | Atacar hardware | Reconocimiento de contenido |
| Ataques reflejados | Enviar solicitudes a terceros, falsificando direcciones para dirigir las respuestas a la verdadera víctima | Ámbito DDoS |
| Amplificación | Utilizar algunos servicios como reflectores para amplificar el tráfico | Ámbito DDoS |
| Mirai botnet | Utilizar dispositivos IoT controlados | Ámbito DDoS |
| Pánico SACK | Manipular el tamaño máximo de segmento y la confirmación selectiva, causando retransmisiones | Reconocimiento de contenido |
| Ataque Shrew (Ataque de la mujer histérica) | Aprovechar la debilidad del mecanismo de tiempo de espera de retransmisión TCP, usar ráfagas breves de tráfico sincronizado para interrumpir conexiones TCP en el mismo enlace | Descartar paquetes expirados |
| Ataque de lectura lenta | Similar al ataque de POST lento, enviar solicitudes legítimas pero leer muy lentamente para agotar el grupo de conexiones, logrado anunciando un número muy pequeño para el tamaño de la ventana de recepción TCP | Desconexión por tiempo de espera, degradar servicio, lista negra |
| Inundación SYN | Enviar muchos paquetes TCP/SYN, causando conexiones medio abiertas en el servidor | Mecanismo de tiempo de espera |
| Ataques Teardrop (Lágrimas) | Enviar fragmentos IP dañados con cargas útiles superpuestas y sobredimensionadas a la máquina objetivo | Reconocimiento de contenido |
| Ataques con TTL expirado | Cuando se descartan paquetes por expiración de TTL, la CPU del router debe generar y enviar respuestas ICMP de tiempo de espera. Generar muchas de estas respuestas sobrecarga la CPU del router | Descartar tráfico |
| Ataques UPnP | Basado en tecnología de amplificación DNS, pero el mecanismo de ataque es un router UPnP que reenvía solicitudes de una fuente externa a otra, ignorando las reglas de comportamiento UPnP | Degradar servicio |
| Ataques de reflexión SSDP | Muchos dispositivos, incluyendo algunos routers residenciales, tienen vulnerabilidades en su software UPnP que los atacantes pueden explotar para obtener respuestas hacia direcciones objetivo de su elección desde el puerto 1900. | Degradar servicio, bloquear puerto |
| Suplantación ARP | Asociar direcciones MAC con la dirección IP de otra computadora o puerta de enlace (como un router), causando que el tráfico destinado originalmente a la IP real sea redirigido al atacante, provocando una denegación de servicio. | Ámbito DDoS |
Medidas de prevención
- Identificar tráfico de ataque
- Destruir servicio
- Identificar contenido de tráfico
- Saturar servicio
- Registrar tiempo de acceso
- Destruir servicio
- Procesar tráfico de ataque
- Descartar tráfico de ataque
- Bloquear IPs atacantes
- IPv4 tiene un número limitado de IPs, fácil de crear listas negras
- IPv6 tiene muchas más direcciones, difícil crear listas negras. Se pueden usar segmentos de direcciones IPv6, pero existe riesgo de bloqueo erróneo
- Controlar frecuencia de acceso
Herramientas de código abierto
Herramientas de ataque
https://github.com/palahsu/DDoS-Ripper- 162 forks, 755 estrellas
- https://github.com/MHProDev/MHDDoS
- 539 forks, 2.2k estrellas
- MHDDoS - Script de ataque DDoS con 40 métodos
- https://github.com/NewEraCracker/LOIC
- 539 forks, 1.9k estrellas
- C#
- Herramienta de estrés de red
- https://github.com/PraneethKarnena/DDoS-Scripts
- 165 forks, 192 estrellas
- C, Python
- https://github.com/theodorecooper/awesome-ddos-tools
- 46 estrellas
- colección de herramientas ddos
Herramientas de defensa
- https://github.com/AltraMayor/gatekeeper
- Licencia GPL-3.0
- 159 forks, 737 estrellas
- C, Lua
- Gatekeeper es el primer sistema de protección DoS de código abierto.
https://github.com/Exa-Networks/exabgp- Licencia tipo Apache
- 415 forks, 1.8k estrellas
- Python
- El cuchillo suizo BGP de redes
- https://github.com/curiefense/curiefense
- Licencia Apache 2.0
- 60 forks, 386 estrellas
- Protección de capa de aplicación
- protege sitios, servicios y APIs
- https://github.com/qssec/Hades-lite
- Licencia GPL-3.0
- 24 forks, 72 estrellas
- C
- Programa de controlador anti-ddos a nivel de kernel
- https://github.com/snort3/snort3
- Licencia GPL-2.0
- 372 forks, 1.4k estrellas
- Sistema de prevención de intrusiones (IPS) Snort de próxima generación
- C++
Monitoreo de tráfico
- https://github.com/netdata/netdata
- Licencia GPL-3.0
- 5.2k forks, 58.3k estrellas
- C
- https://github.com/giampaolo/psutil
- Licencia BSD-3-Clause
- 1.2 forks, 8.2k estrellas
- Python, C
- Librería multiplataforma para monitoreo de procesos y sistemas en Python, también monitoreo de red
- https://github.com/iptraf-ng/iptraf-ng
- Licencia GPL-2.0
- 22 forks, 119 estrellas
- C
- IPTraf-ng es un programa de monitoreo de red basado en consola para Linux que muestra información sobre tráfico IP.