En un ataque de denegación de servicio distribuido, un potencial atacante cuenta con la inestimable ayuda de miles de equipos vulnerados (también llamados equipos Zombie). Desde un centro de comando C&C, el atacante elige una víctima y lanza una orden de ataque contra ella. Cientos de miles de conexiones son enviadas en paralelo desde las máquinas infectadas con destino a una web, un servidor o una red concreta desde cualquier parte del mundo.
Básicamente, se produce un agotamiento de los recursos del receptor y todos los elementos por los que el tráfico circula. Routers, switches, enlaces de comunicaciones, servidores… Deben tener los recursos suficientes para aguantar o se verán abocados a tener problemas. Por recursos, entendemos cosas tan básicas como CPU, memoria, ancho de banda, buffers, sockets de conexión, etc.
Tipos de ataques
Aunque hay muchas posibles categorías de ataques, podemos simplificarlas en tres:
1. El ataque por saturación de ancho de banda
Agota nuestras líneas de comunicaciones. Hoy en día, con las líneas de fibra óptica, un equipo comprometido con una FTTH de 600Mbps podría enviar un flujo de datos UDP hacia una IP de destino. ¿Os imagináis cien equipos vulnerados? 60Gbps contra una sola IP es más que suficiente para tumbar mas de una empresa, ¿verdad?
2. El ataque por saturación de paquetes por segundo (pps)
Genera miles de micro paquetes, de muy poco peso: Por ejemplo, una consulta dns o una simple actualización de hora con el protocolo ntp. En la electrónica de red, como switches, routers y firewalls, además de soportar un determinado ancho de banda, también se indican en sus características técnicas el número de paquetes por segundo que son capaces de conmutar. Para que os hagáis una idea, un switch de gama media de 24 puertos gigabit que solo hace forwarding (solo se tiene que preocupar de saber por qué puerto debe reenviar un paquete, sin mucha más inteligencia) soporta unos 41 millones de paquetes por segundo de unos 64 bytes. Superado ese umbral, el switch no tendrá recursos para conmutar y comenzará a descartar paquetes, con la consiguiente pérdida de conectividad de todos los equipos que estén conectados.
3. El ataque por saturación de conexiones
Busca agotar el límite de conexiones que es capaz de cursar un servidor o incluso un firewall. Un servidor tiene disponible cierta cantidad de puertos, sockets o conexiones TCP disponibles para servir a sus clientes. Un firewall dispone de tablas de conexiones donde se relacionan las IPs Origen / Destino / Puertos y otros atributos para acelerar la conmutación y filtrado de los paquetes con objeto de protegernos. Cuando millones de conexiones entran al mismo tiempo atravesando routers, firewalls y switches y llegando al servidor de destino, estos sencillamente se ven desbordados y colapsan, provocando lentitud y pérdida de conectividad y de paquetes.
Aunque existen más técnicas de ataque, nos quedaremos con estos ejemplos sencillos para que sea más fácil comprender qué métodos de defensa tenemos.
Defensa y mitigación
En este punto solo, nos queda reflexionar: ¿Cómo puedo defenderme?
SOLUCIÓN 1. LA LEY DEL MÁS FUERTE
Tras lo analizado, está claro que es un problema de recursos. Por lo tanto, la solución más obvia es obtener más recursos: más ancho de banda, más Cores de CPU, más equipos en modo balanceo de carga activo/activo, ¡más de todo!
Lamentablemente, esto tiene un coste, y puede ser tan alto como la más absoluta ruina del negocio. Como ingenieros, tenemos que encontrar un equilibrio justo entre el diseño, la eficiencia y los costes. Cuando se diseña una solución, se analizan los requerimientos y se busca la solución sobredimensionada pensando en tres o cuatro años vista, ya que la tecnología evoluciona tan rápido que cualquier móvil fabricado en 2021 es casi cuatro veces más rápido que un PC modesto con Windows 7 de hace unos años. No podemos, por tanto, matar moscas a cañonazos y sobredimensionar una solución un 1.000% por encima de las necesidades, ya que a nivel económico no sería viable.
SOLUCIÓN 2. BLACKHOLING, ENRUTAMIENTO A UN AGUJERO NEGRO
En el mundo de Internet, existe un protocolo de enrutamiento dinámico rey, el Border Gateway Protocol (BGP). Todos los routers de los proveedores de servicios de Internet (ISP) tienen uno o varios y permiten “hablar” con sus vecinos para indicarles las redes que gestionan.
Una técnica relativamente sencilla en una red muy grande de un ISP, es crear una ruta de una de esas redes propias (o incluso de una IP concreta) para desviar el tráfico al llamado Blackhole (una interfaz NULA inexistente) donde el paquete se descarta y se tira a la basura. En redes muy grandes de manera coordinada, con el blackholing cientos de routers se pueden poner de acuerdo para tirar a la vez todo el tráfico de una red a dicho agujero negro, mitigando el ataque.
Evidentemente, el punto más negativo es que el atacante consigue su objetivo, dejar inoperativo el objetivo atacado durante un tiempo, el que esté activo el Blackhole para esa IP. Pero, por otra parte, mediante el blackholing el resto de direcciones IPs de nuestra red de operador seguirán funcionando con normalidad, evitando males mayores.
Los grandes carriers y mayoristas de caudal de Internet suelen tener servicios de Blackholing. Y es tan simple como conectarse a un router autorizado, añadir la IP atacada y darle al “play”. La IP atacada desaparecerá en menos de un segundo de Internet. Interesante, ¿verdad? Lo complicado en todo esto es detectar qué tipo de ataque estamos sufriendo y la dirección o direcciones IP que nos están atacando.
Conclusión final
Los ataques de denegación de servicio distribuido son muy complejos de analizar, cambian con frecuencia y en la mayoría de los casos no se pueden detener, solo mitigar con técnicas como el blackholing y sobredimensionando nuestros recursos, cuando económicamente podamos asumirlo.
Lo que está claro, y Google nos informa de ello periódicamente en algunos estudios, es que la tendencia de este tipo de ataques es creciente, y que hay que ir tomando medidas al respecto.
Mientras tanto, proteged bien vuestros equipos con las medidas básicas necesarias que siempre recomendamos (actualizaciones, antivirus, precaución en la navegación y correo) para evitar ser partícipes de este tipo de ataques.
Muy buen articulo.Parecen las nuevas guerras del siglo XXI.
Buenos días,
Tengo una consulta, hay algunos proveedores como OVH qué venden sus servicios de anti-DDOS ¿en qué consisten? Porque simplemente en tener mas CPUs no creo por su volumen de clientes
saludos
Hola Rafael, ante todo gracias por tu consulta.
Lo que un ataque de denegación de servicio pretende, es saturar los recursos de su objetivo para dejarlo inoperativo. La única manera de proteger los servicios es dotándolos de más recursos o “acorazándolos” con equipos perimetrales previos, evitando así que el tráfico malicioso llegue a los servidores de destino.
En el caso de OVH o muchos otros utilizan una combinación de todos ellos. Según publican en su Web, utilizan:
– Routers Externos de muy alta capacidad de ancho de banda (hasta 11Tbps, unos 11.264Gbps). Queda lejos del 1Gbps o 10Gbps de algunos proveedores de servicios.
– Baterías de Pre-Firewalls de muy altas capacidades de ancho de banda (hasta 1.2TB, unos 1228Gbps) que limpian los primeros intentos de accesos.
– Baterías de Firewalls administrables por el cliente que limitan la exposición al ataque en el momento que es detectado.
– Sistemas harwdare dedicados para detectar ataques amplificados por DNS o NTP.
Como ves, la protección es bastante compleja y existe tecnología muy avanzada y costosa, pero al fin y al cabo lo que llama mucho la atención en todos estos sistemas es la palabra “Mitigación”: indica precisamente lo que todos sospechamos, en caso de un ataque extraordinariamente potente solo conseguiremos reducir su impacto, pero no evitarlo al 100%.
Esperamos haberte ayudado a resolver tus dudas.
Un saludo.