Uno de los ataques bastante comunes en la actualidad dentro de la seguridad informática son los ataques de denegación de servicio, que también son llamados DoS (del inglés, Denial of Service), y va dirigido directamente a sistemas, redes de ordenadores o aplicaciones, provocando que un determinado servicio o recurso sea inaccesible para usuarios legítimos.
Esto es posible por la desconexión con la red en vista del consumo del ancho de banda de la red de la persona afectada o simplemente por sobrecarga de los servicios computacionales asociados al sistema involucrado. Y es que los servidores web tienen la capacidad de resolver una cierta cantidad de peticiones o conexiones de los usuarios de forma simultánea, pero si su capacidad es superada, éste comienza a ralentizarse, puede o no llegar a ofrecer respuestas a ciertas peticiones o simplemente bloquearse o desconectarse de la red.
El objetivo del primer ataque DoS, al tercer proveedor de servicios de internet más antiguo del mundo, Panix, se realizó el 6 de septiembre de 1996, cuando la empresa sufrió un ataque de inundación SYN que causó la caída de sus servicios durante varios días, mientras que Cisco, que era la empresa proveedora de hardware de red se encargaba de encontrar una defensa correcta.
Por su parte, el mayor ataque DoS que ha ocurrido hasta ahora se dio el 28 de febrero de 2018, contra GitHub, una reconocida plataforma de proyectos colaborativos. Este la dejo sin funcionamiento durante 10 minutos de forma intermitente a pesar de toda la seguridad con la que contaba dicha plataforma, no pudo controlar la gran cantidad de paquetes recibidos, en total 126,9 millones o 1,35 Terabites por segundo, usando una red botnet y servidores de distintas entidades.
Este es un problema que ha ido en aumento a nivel mundial debido a la facilidad para realizar dichos ataques y por la mayor cantidad de equipos disponibles que están mal configurados o presentan fallos en la seguridad, haciéndolos vulnerables para estos ataques. Esto permite crear un perjuicio a los usuarios que usan el servicio y al administrador que lo ofrece, mediante la inhabilitación de sus funciones y la generación de pérdidas económicas y de prestigio.
Además, el cierre de Megaupload impulsó al colectivo Anonymous a tumbar a través de ataques DoS las páginas web del Departamento de Justicia estadounidense, de Universal, entre otros, lo que ha hecho mucho más popular este tipo de ataques.
No obstante, a pesar de que por su nombre puede parecer algo bastante técnico, realmente es algo muy sencillo de comprender, de ahí que tenga bastante fama entre los ciberdelincuentes a nivel mundial y la importancia de que conozcas de qué trata exactamente, y la información asociada con esto, para que así puedas estar prevenido frente a dichos ataques.
¿Qué es un ataque DoS y DDoS?
Un ataque DoS (Denial of Service en inglés) o ataque de denegación de servicio en español, corresponde a un ataque dirigido a un sistema o red de ordenadores, haciendo inaccesible un servicio o recurso a los usuarios legítimos, desconectándolos de la red o sobrecargando los recursos computacionales.
Se realizan mediante la saturación de los puertos con varios flujos de información, sobrecargando el servidor y haciendo que deje de prestar su servicio. De ahí que se le denomine denegación, ya que el servidor no logra atender la cantidad de solicitudes.
Es una técnica muy usada por los hackers o piratas informáticos para hacer que los servicios objetivo queden fuera de servicio. Todo esto a través de la generación de una cantidad masiva de peticiones al servidor desde una misma máquina o dirección IP, para de esta forma consumir todos los recursos con los que cuenta el servicio hasta dejarlo sin capacidad de respuesta y que comience a rechazar peticiones, materializando la denegación del servicio.
Por otra parte, los ataques DDoS (Distributed Denial of Service, por sus siglas en inglés) o en español ataque de denegación de servicio distribuido, son una ampliación de los DoS, y se llevan a cabo creando una gran cantidad de flujo de información desde distintos puntos de conexión dirigidos a un mismo punto de destino.
Contrario al ataque DoS, el DDoS emplea gran número de ordenadores o direcciones IP para realizar peticiones o conexiones, todas al mismo tiempo y dirigidas al mismo servicio objeto de ataque.
Comúnmente se hace a través de una red de bots, una botnet o red zombi, que se logra reclutando ordenadores mediante la infección de un malware, permitiendo controlarlos de forma remota por los ciberdelincuentes, de ahí que esta estrategia sea el ciberataque más usado y eficiente, además de su sencillez tecnológica.
Además, es más difícil de detectar, porque el número de peticiones viene de IP’s diferentes, lo que impide que el administrador de red bloquee la IP que hace las peticiones, cosa que sí logra con los ataques DoS.
Sin embargo, los administradores de redes también la usan como herramienta para comprobar qué capacidad de tráfico tiene un ordenador realmente, cuánto puede tolerar sin volverse inestable y afectar los servicios que ofrece.
Diferencias entre un ataque DoS y DDoS
La diferencia principal que tienen ambos ataques es la cantidad de ordenadores o IP’s con las que realizan el ataque. Sin embargo, hay otras características que los distinguen, y te las mostramos en una tabla comparativa:
DoS
Usa un solo ordenador o dirección IP para generar la gran cantidad de peticiones y va dirigido a un mismo servidor, enviando más solicitudes de las que puede tolerar.
Más sencillas de detectar por las herramientas de seguridad modernas, pues solo tienen que detener una sola IP.
DDoS
Usa una gran cantidad de ordenadores o direcciones IP para hacer gran número de peticiones, todas al mismo tiempo.
El ataque se realiza mediante una red de bots o una botnet, controlada de forma remota. Más dañinos y difíciles de detectar, sus herramientas son económicas y fáciles de operar.
¿Cómo se hace un ataque DDoS?
Así como pudiste ver en párrafos anteriores, el concepto de DDoS es sencillo, por tanto, realizar un ataque de este tipo también es relativamente sencillo, pero las herramientas que se suelen usar son algo complejas. Estas se encargan de hacer varias conexiones de forma simultánea o enviar paquetes alterados donde se coloca una IP de origen falso, para así evitar que detecten quién es el atacante real.
Otra técnica es, como ya se había mencionado, mediante el uso de botnets, donde se infecta con un troyano una red de ordenadores, para que el atacante pueda controlarlos de forma remota. Así podrá saturar el servidor y, además, las personas no sabrán que están participando en un ataque DDoS, haciendo más difícil encontrar al verdadero ciberdelincuente.
Si el ataque es lo suficientemente masivo y está bien preparado, no habrá medida de seguridad que pueda detenerlos, y lograrán saturar el servidor. Mientras el ataque esté en curso, el servidor dejará de estar disponible, difícilmente le causará daños físicos, y por sí solo es difícil que entre al servidor, requiere aprovechar alguna vulnerabilidad y eso lo complicaría más.
Por tanto, lo único que puede lograr un ataque DDoS es una caída de la web, y la magnitud de las consecuencias de dicho ataque dependerán del tipo de web. Lo más que conseguirán será hacer que la red vaya extrañamente lenta, sobre todo al navegar por Internet o abrir archivos, y al querer ingresar a alguna página web ésta no estará disponible o será muy lento el proceso.
Tipos de ataques DDoS más comunes
La forma en que consiguen llevar a cabo ataques DDoS es usando el protocolo TCP/IP, y de ahí ya pueden atacar de distintas maneras, siendo las principales el consumo de recursos computacionales como el ancho de banda, espacio de disco o tiempo de procesador, alteración de información de la configuración, como las rutas de encaminamiento, alteración de la información de estado, como interrumpir en las sesiones TCP, interrumpir componentes físicos de red u obstruir medios de comunicación entre usuarios de un servicio y el afectado, impidiendo la comunicación adecuada.
Algunos métodos bastante comunes que suelen usar como ataque de DoS son:
SYN flood
También denominada inundación SYN, se refiere al intercambio TCP (Transmission Control Protocol)/ IP que se realiza entre una máquina y otra, enviando un conjunto de datos junto a la petición real. Dichos datos conforman la cabecera de la solicitud y allí se encuentran unas señalizaciones denominadas Flags o banderas, las cuales permiten dar inicio a una conexión, cerrarla, indicar si una solicitud es urgente, reiniciar una conexión, entre otras cosas.
Van incluidas tanto en la solicitud del cliente como en la respuesta que da el servidor. Este método lo que hace es enviar un flujo de paquetes TCP/SYN, en muchos casos con la dirección de origen falsificada. Cada paquete se maneja como una petición de conexión en la dirección de destino, donde el servidor intenta establecer la conexión con un paquete TCP/SYN-ACK y espera por el paquete de respuesta TCP/ACK, respuesta que no llegará nunca porque la dirección IP de origen no existe o la IP real no ha solicitado dicha conexión.
Por tanto, con los intentos de conexión se consumen recursos dentro del servidor y se va ocupando la cantidad de conexiones que se pueden establecer, disminuyendo así la disponibilidad del servidor para poder dar respuesta a peticiones legítimas de conexión.
HTTP flood
Corresponde a la variante más sencilla de los ataques DDoS, que permite saturar los recursos del sistema, mediante un gran número de peticiones de HTTP realizadas por el atacante, a través de la apertura de muchas páginas del proyecto de la víctima, de modo que el servidor colapsa.
ICMP flood
Con esta técnica lo que pretenden es agotar el ancho de banda de la víctima con el envío continuo de un gran número de paquetes ICMP Echo request (ping) de tamaño considerable, lo que obliga a generar una respuesta por parte del servicio con paquetes ICMP Echo reply (pong). Esto sobrecarga la red y el sistema de la víctima. El nivel de sobrecarga va a depender de la relación entre la capacidad de procesamiento del atacado y el atacante.
UDP flood
Con este ataque los ciberdelincuentes generan gran cantidad de paquetes UDP (User Datagram Protocol) dirigidos a la víctima seleccionada, va acompañado de IP spoofing debido a la naturaleza sin conexión del protocolo UDP. Por lo general, va dirigido a máquinas que ejecutan el servicio Echo, generando mensajes Echo de gran tamaño.
En este tipo de ataque el sistema atacado intentará detectar cuál es la aplicación que se encuentra a la espera de los datos enviados, pero no tendrá éxito, por lo cual dará una respuesta al remitente con un paquete ICMP con el mensaje “Dirección de destino no disponible”. Al sobrecargar el sistema con muchas peticiones así, la disponibilidad de acceso a los usuarios se ve limitada.
SMURF
Es una variante del ICMP flood. Este amplifica bastante los efectos de uno o varios ataques ICMP, está compuesto por tres partes: el atacante, el intermediario y la víctima. Ten cuidado porque el intermediario también puede ser víctima. Lo que el atacante hace es dirigir paquetes ICMP del tipo Echo request (ping) a una IP de broadcast, donde la dirección de origen es del afectado (spoofing), y luego se esperan respuestas a la petición por parte de los equipos conectados mediante Echo reply, dirigida a la máquina de la víctima que es el origen.
Debido a la gran cantidad de respuestas que se obtienen, se amplifica el efecto, ya que éstas corresponden a la cantidad de equipos en red que pueden responder, y esas respuestas van directas a la víctima, colapsando sus recursos de red. Esto se debe a que una única dirección de transmisión de Internet puede admitir un máximo de 255 hosts, entonces este ataque amplifica un solo ping 255 veces, haciendo que la red se ralentice hasta que sea imposible usarla.
Ping de la muerte
El objetivo de este ataque es provocar la caída del sistema, aprovechando errores de implementación del protocolo de internet. Dichos paquetes generalmente se envían fragmentados. Lo que ocurre con esto es que durante el proceso transmiten información incorrecta, lo que hace que los sistemas operativos sean engañados y que generen paquetes IP que exceden el tamaño máximo que TCP / IP permite, que es de 64 KB (65,536 bytes). Como consecuencia, tratan de volver a montar el paquete y allí producen un buffer overflow o desbordamiento de la memoria.
Ejemplos de ataques DDoS
Hay muchos ejemplos de ataques DDoS, y cada vez hay más. Algunas relevantes son las siguientes:
Incremento de los ataques basados en protocolos UDP desde principios de 2014, por ello en la actualidad se dan importantes incidentes de ataques basados en CHARGEN, NTP y DNS.
Algunas de las empresas afectadas por este tipo de ataque han sido PlayStation Network y Xbox Live que, durante las navidades de 2014, sufrieron dos ataques que tumbaron sus servicios, impidiendo que sus usuarios de las consolas Sony o Microsoft pudieran jugar durante las fechas. Algo similar sufrieron servicios como ExtraTorrent o Telegram pero con menor impacto.
Un ataque más sonado y que tuvo un gran alcance fue el llevado a cabo en octubre del 2016 principalmente en Estados Unidos, donde no fueron a por los servidores, si no a por los servicios en sí de una popular empresa de DNS, lo que afectó a las aplicaciones y páginas web de los servicios que operaban con ella, impidiendo que a nivel mundial no pudieran ser traducidas las direcciones IP por los equipos de los usuarios, dejando sin funcionamiento a servicios como Twitter, Spotify, Amazon, Netflix, la versión digital de The New York Times, Paypal, Play Station Network o la CNN.
¿Cómo protegerse o evitar ataques DDoS?
Si después de leer todo lo que hemos mencionado, te preocupa saber cómo puedes proteger a tus equipos de ataques DDoS, tranquilízate porque te daremos un listado de consejos que puedes usar para evitar sufrir un ataque de este tipo.
1. Revisa la configuración de tus routers y firewalls, para que puedas detectar IP’s críticas, aquellas que son falsas o invalidas, ya que pueden provenir de atacantes. Para ello, puedes recurrir a las listas negras de IP bloqueadas, puedes implementar esta medida de seguridad de forma manual o automática mediante las listas de bloqueo del cortafuegos. Lo normal es que el proveedor de servicios de internet (ISP) tenga el router al día en cuanto a esta configuración y cualquier otra vulnerabilidad.
- Asegúrate de que los proveedores de los servicios de internet cumplan con la protección no solo de tu red sino de toda la infraestructura, para así evitar que dichos ataques puedan afectar el rendimiento de su trabajo y a su vez el tuyo y el resto de los clientes.
- Debes contar obligatoriamente con recursos de hardware y software que puedan bloquear ataques leves.
- Establece filtros que te permitan definir límites en cuanto a la cantidad de datos que se pueden procesar simultáneamente, de forma que puedas filtrar aquellos paquetes anormales. Debes tener cuidado con esto porque en algunos casos los proxys dan la opción de que varios usuarios se conecten desde una misma dirección IP del servidor, pero esto puede causar el bloqueo de estas sin que su razón sea obvia.
- Recurre al uso de SYN cookies para así evitar que los paquetes SYN se almacenen en el servidor, y más bien se envíen como una cookie encriptada al cliente, haciendo que, en caso de sufrir un ataque SYN flood, se comprometa la capacidad del equipo, pero no la memoria del sistema.
- Distribuye la carga en distintos sistemas, para que así manejes mejor la sobrecarga. Para esto puedes apoyarte en balanceadores de carga, que ayudan a extender los servicios a varias máquinas físicas, de manera que controles hasta cierto punto los ataques DoS y DDoS.
Pero más allá de estos pasos, debes diseñar una estrategia de mitigación que te asegure poder proteger con éxito la red o un servidor que sea objetivo de un ataque de denegación de servicio distribuido (DDoS). Para esto es necesario usar equipamiento de red diseñado especialmente para dicha función o un servicio de protección en la nube y además, basarte en las 4 etapas que te indicamos a continuación:
1. Detección: se necesita que una web diferencie entre un ataque y tráfico normal de alto volumen, para así evitar un ataque distribuido. En esto será de mucha utilidad contar con el conocimiento de la reputación de IP, los patrones de ataque comunes y la información previa, lo cual contribuye con una detección apropiada.
2. Respuesta: esto se refiere a la red de protección contra DDoS, la cual, al identificar las amenazas entrantes, responde anulando de forma inteligente el tráfico de bots maliciosos, absorbiendo el resto del tráfico. Aquí se puede ayudar con las reglas de páginas del WAF para los ataques de capa de aplicación (L7) u otro proceso de filtrado. Esto permite controlar los ataques de nivel inferior (L3/L4), como memcached o la amplificación NTP.
3. Redirección: esta actúa como una solución de mitigación eficaz, ya que al redirigir el tráfico inteligentemente, dividirá el tráfico restante en fragmentos más fáciles de manejar y así no se dará la DDoS.
4. Adaptación: es importante que un servicio de protección se adapte a los patrones de ataque, para que así se fortalezca contra ataques futuros, y esto es algo que se logra contando con una buena red que analice el tráfico para detectar patrones, como los bloqueos de IP ofensivas repetidas, los ataques provenientes de ciertos países o los protocolos que se usan de forma inapropiada.
Ahora bien, ya teniendo toda esta información en tu cabeza, esperamos que te sea de mucha utilidad para que puedas proteger tu red y evitar que tu servidor vea afectado su rendimiento por estos ataques DoS y DDoS, ya que por lo que ves, si eres una empresa dedicada al comercio digital, podría ocasionarte pérdidas importantes si tus usuarios no pueden entrar a tu web para hacer sus compras.
De ahí la importancia de contar con un administrador de sistemas que tenga los conocimientos suficientes para detener dichos ataques a tiempo y que no sigan propagándose a otros equipos. Como bien dice el dicho “mejor prevenir que lamentar”.