Los DDoS y vos

Los ataques DDoS están cada vez mas de moda, todas las semanas salen noticias de nuevos ataques desde China, o sitios grandes que son atacados por publicar noticias polémicas. Como proveedor de un servicio de hosting, la gente siempre termina preguntándome “que son”, “como funcionan”, o “por que cualquiera puede tirar mi sitio”. Acá tratare de hacer un pequeño resumen para explicar estos puntos.

Que es un DDoS?

Un DDoS es un ataque de denegación de servicio distribuido, las 24 hs del día hay ataques de este tipo recorriendo la internet. La finalidad de estos ataques es dejar a la victima “sin internet”, saturando sus servidores o su conexión hacia el mundo. Se los llama distribuidos ya que el trafico viene de múltiples fuentes al mismo tiempo. Debido a la facilidad con la que cualquiera puede lanzar un ataque de DDoS hoy en día, los blancos de estos dejaron de ser exclusivamente bancos y sitios de noticias enormes, para empezar a afectar cada vez mas a comunidades y empresas mas pequeñas.

Hay varios servicios que “mapean” estos ataques, por ejemplo: Digital Attack Map, un sitio de Arbor Networks (que es el proveedor mas grande de hardware de mitigacion), que muestra los ataques mas grande que sus equipos (ubicados en miles de datacenters al rededor del mundo) ayudaron a filtrar.

Lo complicado de estos ataques, es que pueden venir desde cualquier tipo de red o dispositivo conectado a internet (PCs, celulares, routers, etc).

Que tipos de ataque existen?

  • Ataques TCP:

    El protocolo de control de transmisión (de aca en adelante TCP), es el protocolo nº 1 de internet. Es el que nos permite enviar paquetes de datos de una manera ordenada, confiable y con control de errores (permite saber que la información llego bien al destinatario). Todos los dispositivos y por ende servicios (servidores web, routers, balanceadores de carga) tienen un numero máximo de conexiones TCP que pueden mantener abiertas al mismo tiempo. Los atacantes usan varias técnicas para explotar esta característica, por ejemplo comienzan cientos de “conversaciones” TCP con el equipo de la victima y nunca las cierran, de esta manera saturan el servicio haciendo que no haya espacio para que usuarios reales puedan establecer nuevas conversaciones.

  • Ataques Volumetricos:

    Un ataque volumetrico (haciendo referencia al volumen de trafico) es exactamente lo que suena, imaginemos que el cable de red que conecta tu computadora con tu router en tu casa es un caño de agua, solo puede transportar un cierto caudal de agua (información) al mismo tiempo. A su vez tu computadora solo puede procesar una cierta cantidad de datos antes de dejar de responder. Si alguien comienza a enviar una gran cantidad de paquetes hacia tu computadora pueden pasar dos cosas: las respuestas que tu PC devuelve se empiezan a hacer cada vez mas lentas (por que no tiene suficientes recursos para procesar/responder toda la información a la vez), o la conexión a internet se congestiona por la cantidad de trafico que esta recibiendo lo que provoca lentitud en las comunicaciones o directamente termina siendo saturada.

  • Ataques de Fragmentacion:

    Cuando hable arriba del protocolo TCP, dije que brindaba una comunicación segura ya que implementa medidas que permiten hacer un control de errores sobre la información recibida. Abusando de esto, los atacantes pueden enviar “datos mal armados” a propósito.
    La finalidad de estos ataques es que el equipo receptor tenga que gastar una gran cantidad de tiempo intentando reparar o darle sentido a la información recibida. Algunos ataques de este tipo se llaman “SYN floods” o “Ping floods”, si bien la implementacion de estos ataques varia entre atacantes, todos persiguen el mismo objetivo.

  • Ataques de Aplicación:

    Este tipo de ataques son los mas “curiosos” por lo difícil que resulta detenerlos, ello hace que sean los “ataques de moda” hoy en día. La dificultad a la hora de pararlos viene porque simulan ser trafico verdadero y normal, teniendo como blanco aplicaciones que pueden consumir tantos recursos como para tirar al servidor.

    Supongamos por ejemplo que tenemos una pagina como esta (www.mgbhard.com.ar), cada vez que alguien la visita, mi servidor web tiene que procesar una cierta cantidad de información para terminar mostrandole al visitante este articulo. Cada vez que alguien ingresa entonces, dentro de mi server se consume una cantidad de recursos (CPU, memoria, conexión a internet, etc). Un atacante podría enviar miles de visitas al mismo tiempo a esta pagina lo que terminaría causando que mi servidor usara todos sus recursos para poder servirlas, consiguiendo así tirarlo.

    El reto entonces es poder distinguir las visitas “malignas” de las “reales”, de manera de no consumir recursos mostrando la pagina a los atacantes.

De donde salen todos estos ataques?

Ahora que tienen una idea mínima de que es un DDoS, la siguiente pregunta es como hace el atacante para conseguir todo ese “poder”, de donde sale?. Si bien estas son preguntas validas, las respuestas no son tan sencillas, hay cientos de recursos que permiten realizar ataques de denegación, pero voy a intentar explicar los mas comunes.

Botnets:

Este podría ser un tema para un articulo entero, pero a grandes rasgos una botnet es un grupo de computadoras (desde decenas a cientos de miles). Pueden ser creadas en multitud de maneras, pero la mas normal es infectar computadores con un virus que las transforma en zombies (no, no comen cerebros). Un zombie es un equipo “bobo” que esta a la espera de ordenes (comandos) del que hizo el virus. Cuando esta persona da la orden, todos los zombies de la botnet empiezan a hacer el tipo de ataque, o acción que haya ordenado (por ejemplo acceder todos a la vez a cierta pagina).

Muchos de estos virus utilizan agujeros de seguridad conocidos (por eso es importante siempre tener todo el software actualizado). Si bien antes lo normal era que los equipos con windows fueran los mas afectados, hoy en día cualquier sistema operativo es blanco de los hackers de manera constante.

Resumiendo entonces, una botnet es un grupo de computadoras que fueron comprometidas, que quedan a la espera de comandos para realizar acciones o ataques. Muchas botnets son creadas al escanear la internet en busca de equipos con vulnerabilidades o exploits, para luego infectarlas y sumarlas sin que sus dueños lo sepan, al grupo de equipos atacantes.

Ataques de Amplificación e IP  “spoofing”:

Estos son dos clases de ataques que suelen ir de la mano. Hablamos de un ataque de amplificación cuando el atacante puede mandar un pedido pequeño (por ejemplo 6 bytes) a un servidor y la respuesta que sale de ese servidor es mas grande (por ejemplo 3876 bytes), siguiendo este ejemplo el atacante lograría un ratio de amplificación de 646 veces, lo que quiere decir que con una cantidad limitada de recursos, puede lograr 646 veces ese daño.

Hay muchos servicios que ofrecen esta “amplificación”, uno de los mas utilizados son los DNS. Un servidor DNS es un equipo que resuelve direcciones a IP, veanlo como la “guía telefónica” de internet (si soy viejo). Cuando yo pongo www.google.com (nombre de la pagina) en el explorador, chrome tiene que saber en que dirección de internet (IP) debe ir a buscar esa pagina. El DNS es lo que traduce de www.google.com a -> 8.8.8.8 (IP). La internet como la conocemos hoy en día vive gracias a los DNS, si no existieran todos tendríamos que memorizar miles de direcciones IP para visitar los sitios que usamos a diario.

El problema con los DNS es que trabajan con un protocolo llamado UDP, este protocolo a diferencia de TCP, tiene muchos menos controles sobre la información, y permite que una persona mal intencionada pueda falsificar datos, diciéndole por ejemplo al DNS que la consulta por www.google.com.ar en vez de salir de la IP real que la genero, salio desde otra. A esto se lo llama spoofing. Quiere decir que el DNS en vez de responderle a la computadora que genero la consulta, va a responderle a otra IP que no tuvo nada que ver. La IP blanco del ataque va a empezar a recibir un montón de trafico DNS sin tener manera de saber desde donde se genero.

Entendemos entonces que este es un método muy jugoso para los atacantes, ya que pueden realizar un ataque sin correr riesgo de que los puedan rastrear, y para hacer las cosas peores con pocos recursos pueden lograr un gran daño. Por ello constantemente están en búsqueda de nuevos servicios que permitan este tipo de amplificación y de spoofing.

Por que todo esto tendría que importarte?

Planificar para este tipo de contingencias resulta fundamental en la actualidad, no importa si tenes un servidor de juegos, un blog, un servidor de correos o la web de tu empresa. Todos los sistemas pueden caer tras estos ataques y es importante preguntarse que se pone en riesgo si ese recurso (tu servidor, tu pagina o tus mails) no están disponibles por una hora, o un día, o una semana, de que manera te perjudica? se pierde plata?. Si la respuesta es si, es una buena idea prepararse para estar protegido y poder hacerle contra a los ataques.

Tristemente en la actualidad es cada vez mas fácil y barato adquirir herramientas para realizar ataques, el costo es diminuto comparado con el de defenderse de ellos. Grupos de hackers ponen al alcance del publico herramientas o paginas que permiten con pocos clics (y poca “inversion”) lanzar ataques sin necesitar ningún tipo de conocimiento técnico.

Como protegerse?

Protegerse uno mismo de un DDoS es complicado, el tamaño de los mismos ya supera lo que uno puede lograr con herramientas del tipo Software. Por suerte la protección esta cada vez mas al alcance de todos, y los precios siguen bajando, si bien comprar un equipo y usarlo de manera dedicada sigue siendo prohibitivo, hay muchas empresas (como nosotros, guiño guiño) que brindan protección de ataques para sus clientes. Cada tipo de ataque requerirá de soluciones distintas, a veces complejas y otras sencillas, lo ideal es cuando la necesidad surja (siempre mejor si se planifica con antelación) contactarse con una empresa que tenga especialistas en el tema para prevenir antes que curar.

 

Un pensamiento en \"Los DDoS y vos\"

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *