Que es un ataque DoS..? «Denial of Service»

 

Es un tipo de ciberataque que se enfoca en dejar como “no disponible” un recurso/servicio. Hay muchas formas de hacer un ataque para generar indisponibilidad de un recurso, manipulando los paquetes de la red –para dar acceso a algunos usuarios sobre otros–, programando algún paquete que genere demasiado consumo de la red o manejando alguna vulnerabilidad no parchada en el “ambiente victima”.

Si un servicio recibe un número muy grande de peticiones, este puede ceder para dar acceso a algún usuario mal intencionado. De la misma forma un servicio puede detenerse si alguna vulnerabilidad de programación (defecto de lógica o exploit dejado ahí intencionalmente) es explotada, también se puede explotar la forma en que el servicio maneja los recursos.

En ocasiones el atacante puede inyectar y ejecutar código arbitrario/malicioso mientras se desarrolla un ataque de DoS para acceder a información crítica o para ejecutar comandos maliciosos en el “ambiente víctima”. Este tipo de ataques degrada significativamente la calidad de la experiencia del servicio para la legitimación de usuarios/servicios (Acceso a servicios, autenticación de credenciales, disponibilidad de recursos etc.); introducen un gran retraso en la respuesta, agregan gran cantidad de perdida de paquetes e interrupciones de los recursos/servicios resultando en un gran impacto de la disponibilidad de los mismos.

Este tipo de ataques puede ser esparcido a múltiples dispositivos mediante malware, infectando así, a una gran cantidad de dispositivos (PCs, smartphones, cámaras, automóviles, smartwatches (IoT) etc.) generando asi una BotNet, desde la cual se ejecuta el ataque haciéndolo mucho más «eficiente».

Tipos de ataque DoS

Existen 4 tipos básicos de ataque DoS.

  • Ataques de conexión TCP
    • Usa todos los dispositivos conectados a la infraestructura.
  • Ataques de volumen
    • Consume el ancho de banda en un blanco en la red
  • Ataques de fragmentación
    • Envía una gran cantidad de fragmentos TCP o UDP a una victima
  • Ataques de aplicación
    • Usa una parte especifica de una aplicación

Un poco más de detalle:

Inundación UDP: Este ataque DDoS aprovecha el protocolo UDP «un protocolo de red sin sesión». Este tipo de ataque inunda puertos aleatorios en un host remoto con numerosos paquetes UDPAbrir en nueva venana, haciendo que el anfitrión compruebe varias veces para la aplicación escucha en ese puerto, y cuando no se encuentra ninguna aplicación este responderá con un paquete de destino Inalcanzable ICMP. Este proceso agota los recursos de acogida, y en última instancia puede conducir a la inaccesibilidad.

Inundación ICMP (ping): De forma similar al taque de inundación UDP, un ataque de inundación ICMPAbrir en nueva venana ataca a la víctima con un ICMP Echo Request, coloquialmente conocido como «PING», generalmente envía paquetes tan rápido como sea posible sin esperar por respuestas. Este tipo de ataque puede consumir ancho de banda, tanto de entrada como de salida, donde la victima intentará responder con paquetes ICMP Echo Reply resultando una significante disminución del sistema.

Inundación SYN: Un ataque DDos de inundación SYN explota una debilidad conocida en la secuencia de conexión del protocolo TCP. Donde en una petición para iniciar una conexión TCP con un cliente debe haber respuesta de SYN-ACK (sincronización – reconocimiento) para entonces ser confirmada con un ACK (reconocimiento) desde el primer cliente. En un ataque DoS de inundación SYN el cliente inicial envía múltiples peticiones de sincronización, pero ninguna responde a las respuestas de SYN-ACK, o envía las peticiones de sincronización desde una dirección IP falsificada (spoofed IP). En cualquier escenario el sistema del cliente se queda esperando por el paquete SYN-ACK para cada una de las peticiones SYN, esto provoca que los recursos se desperdicien hasta que no se permitan nuevas conexiones.

Nota cultural: Para entender SYN ver RFC de TCPAbrir en nueva venana punto 2.7 Connection Establishment and Clearing.: «The procedures to establish connections utilize the synchronize (SYN) control flag and involves an exchange of three messages.  This Exchange has been termed a three-way hand shake.»

Pasos de three-way handshake:

syn

  • SYN – Cliente A envía un paquete de sincronización TCP (TCP SYNchronize package) al cliente B
  • SYN/ACK – liente B envía un paquete de sincronización-reconocimiento (SYNchronize/ACKnowledgement)
  • ACK – Cliente A envía un paquete de reconocimiento (ACKnowledge)
  • El socket de conexión TCP está establecido.

Ping de la muerte: un ataque de ping de la muerte «POD – por sus siglas en inglés» involucra el envío de múltiples pings malformados o maliciosos a un cliente. El tamaño máximo de un paquete del protocolo IP –incluyendo la cabecera– es de 65535 bytes; con base en que la capa 2 de ISO/OSI usualmente posee límites para los paquetes; por ejemplo 1500 bytes sobre una red Ethernet; en el caso de un paquete grande, este es separado en multiples paquetes IP (fragmentos) para que el cliente receptor reconstruya los fragmentos recibidos en el paquete completo. En este ataque después de la manipulación maliciosa, el destinatario termina con un paquete IP que es más grande de 65535 bytes. Esto puede desbordar los búfers de memoria asignados para el paquete, causando la denegación de servicio para los paquetes legítimos.

 

Referencias:

  • RFC TCP: https://tools.ietf.org/html/rfc793
  • RFC UDP: https://www.ietf.org/rfc/rfc768.txt
  • RFC ICMP: https://tools.ietf.org/html/rfc792

#js


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

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