¿Qué es y cómo funciona un ataque DDoS?

En términos coloquiales un ataque de Denegación de Servicio Distribuido (Distributed Denial of Service) se puede explicar de la siguiente forma:

Éstos ataques se pueden explicar de diversas formas, por ejemplo imaginen un estadio de futbol que albergará la final del campeonato mundial, el estadio cuenta con diversas puertas para que los aficionados ingresen al estadio, 1 hora antes de inicio del juego la gente ingresa de forma ordenada al estadio a un ritmo lento pero constante, las personas ubicadas en las puertas encargadas de revisar la fiabilidad de los boletos están muy cansadas pero no se detienen en su labor, de pronto, faltando 5 minutos para el inicio del juego, una gran cantidad de personas con boletos falsos, arriban al estadio al mismo tiempo, los encargados de revisar los boletos no se dan abasto en atender a tanta gente, las personas que cuentan con su boleto auténtico no pueden entrar al estadio.

Los responsables de restringir el acceso al estadio se ven imposibilitados para diferenciar los boletos auténticos de los falsos y además están exhaustos, la carga de trabajo es excesiva. Se les explica que llevará más tiempo de lo previsto para ingresar, pues se tienen que revisar a detalle cada uno de los boletos, ante este anuncio las personas que no tienen boleto auténtico intentan ingresar al mismo tiempo de forma desorganizada y por la fuerza, por varios minutos los accesos se ven saturados, muy pocas personas logran ingresar, y por el contrario miles de personas se pierden el gran partido aun cuando tenían boleto auténtico. ¿Qué sucedió? pues ocurrió una Denegación de Servicio Distribuido de acceso al Estadio.

Un sitio Web es como una puerta de acceso, sólo puede dar servicio a un número limitado de personas al mismo tiempo, por tanto si recibe más solicitudes de las que puede atender, el servicio se bloquea, nada entra ni sale.

img1_art3
Esquema de un ataque DDoS

¿Cómo se hace un DDoS?

Para que el ataque sea realmente efectivo se debe contar con muchas maquinas que envíen peticiones a la página Web. Existen personas que seimg2_art3 dedican a infectar equipos y crear grandes redes de equipos “zombie” (botnets) y posteriormente rentarlas. El precio de renta depende de distintos factores como el tamaño de la botnet (número de equipos infectados), el tipo de ataque, su duración, etc. Según un estudio realizado por eweekeurope en el 2010, rentar una botnet para efectuar un ataque de DDoS por 24 horas puede oscilar entre los 50 y varios miles de Dólares. De esta forma no es necesario tener conocimientos para realizar un ataque de DDoS sino una cartera con al menos 50 Dólares.

En la siguiente imagen se muestra una interface de un sitio Web que renta botnets, el precio depende del número de equipos infectados y cuántos de ellos están en línea.

img3_art3

Número de equipos infectados por país.

En el párrafo anterior se mencionaba que existen diversos tipos de ataques de DDoS, a continuación se explicarán los más comunes.

Tipos más comunes de ataques DDoS

Syn Flood (inundación de paquetes Syn): El más común de todos, este ataque se basa en la esencia del protocolo de conexión TCP, el cual requiere una conexión de tres pasos, si el paso final nunca llega se queda una conexión abierta en el servidor por un lapso de tiempo, es decir si una persona estira sus manos para saludar a dos personas diferentes y estas lo dejan con la mano estirada por 1 minuto, nadie más podrá saludar a ésta persona hasta que ella decida terminar el saludo.

Connection Flood (inundación de conexión): Explota la dificultad del servidor para atender un gran número de peticiones al mismo tiempo, si un atacante realiza 10,000 peticiones al servidor este estará ocupado por un período de tiempo, conforme caduquen las conexiones el atacante vuelve a establecer más conexiones impidiendo así que los clientes utilicen el servicio.

ICMP Flood (inundación ICMP): Éste ataque también es conocido como “Ping-Pong”, imaginen una conversación por MSN donde ustedes son los encargados de hablar y contestarle siempre a las personas que lo solicitan, entonces reciben un mensaje que dice: ¿estás? y ustedes responden: Sí, y les vuelven a decir ¿estás? y responden: Sí y así continúan por varios minutos, de pronto empiezan a recibir cientos de mensajes del mismo tipo, entonces ustedes empiezan a cerrar las ventanas del chat y estas se vuelven a abrir.  Lo que pasa es que realmente la conexión se lleva a cabo pero se desperdicia el recurso. Lo mismo pasa con los servidores, se satura la línea con conexiones correctas pero todas ellas de tipo “basura”, las cuales impiden que las conexiones de clientes verdaderos se concreten.

UDP Flood (inundación UDP): se utiliza el protocolo de conexión UDP para enviar una gran cantidad de paquetes al servidor utilizando muchas conexiones al mismo tiempo, ocasionando que los recursos (Memoria RAM, Procesador) del servidor sean insuficientes para manipular y procesar tal cantidad de información, en consecuencia el sistema se bloquea.

Evitar que un ataque de DDoS ocurra es como querer evitar que un soldado de infantería salga a la guerra y nadie le dispare. Lo que sí podemos hacer es ponerle un casco y un chaleco antibalas para mitigar el riesgo de que muera si es alcanzado por una bala. De forma general la estrategia de defensa consiste en identificar las direcciones IP (balas) causantes de ataque y bloquearlas (chaleco antibalas), utilizar otros servidores como balanceadores de carga distribuyendo así el trabajo del servidor crítico y por último colocar una versión ligera de la página del sitio atacado lo que permitirá reducir el tiempo de respuesta y minimizar la carga de procesamiento del servidor.

Para finalizar, ¡una imagen de reflexión!

img4_art3

Glosario:

Botnets: Conjunto de computadoras infectadas por un malware que permite que un servidor (Command & Control) las manipule remotamente para realizar trabajos de forma distribuida.

UDP: Por sus siglas en inglés “User Datagram Protocol” un protocolo no orientado a conexión, se utiliza sobre todo cuando la velocidad es un factor importante en la transmisión de la información.

TCP: Por sus siglas en inglés “Transmission Control Protocol” es un protocolo orientado a conexión, el protocolo asegura que los datos serán entregados a su destino sin errores lo que lo hace más lento a diferencia del protocolo UDP.

ICMP: Por sus siglas en inglés “Protocolo de Mensajes de Control de Internet” su función básica es el control y notificación de errores del Protocolo de Internet IP.

Referencias:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s