¿Qué es un ataque DoS y en qué se diferencia de un ataque DDoS?

16

¿Puede alguien explicarme el concepto de Dos Attacks para aplicaciones web? Además, ¿cuál es la distinción entre Dos y Distribuido Dos ataques (es decir, DDos)? Wikipedia dice:

  

En informática, un ataque de denegación de servicio (ataque DoS) o distribuido   El ataque de denegación de servicio (ataque DDoS) es un intento de hacer una máquina   o recurso de red no disponible para sus usuarios previstos

lo que significa que son los dos nombres diferentes para el mismo ataque.

Pero, de nuevo, descubrí este artículo del sitio web del Centro de Investigación de Delitos Informáticos titulado Seguridad de la red: ataques DoS contra DDoS . Así que estoy asumiendo que estos son dos tipos diferentes de ataques. Por lo tanto he publicado esta pregunta.

    
pregunta Geek 18.10.2012 - 17:22
fuente

5 respuestas

21

Un ataque de denegación de servicio es un tipo de ataque que hace que los usuarios legítimos no puedan usar el servicio. Estos vienen en algunas categorías diferentes:

  • Agotamiento de recursos (por ejemplo, consume todo el ancho de banda de la red o el tiempo de CPU del servidor)
  • Explotación de la limitación (por ejemplo, bloquear a un usuario de su cuenta al intentar iniciar sesión en él con credenciales no válidas)
  • Interrupción del proceso (por ejemplo, bloquear un proceso que atiende las solicitudes de los usuarios, a través de un error en el software)
  • Corrupción de datos (por ejemplo, la modificación de todos los tipos de usuarios a un tipo no válido, lo que hace imposible que puedan iniciar sesión)
  • Interrupción física (por ejemplo, desconectar el cable de alimentación de un servidor) - ¡gracias a Henning por este!

El tipo más común en webapps es un agotamiento de recursos, que es lo que la mayoría de las personas tienden a referirse como un DoS. Esto se debe a que un atacante envía una gran cantidad de solicitudes al servidor para agotar uno o más recursos:

  • El ataque puede consumir el ancho de banda de la red en su totalidad, lo que impide que el tráfico de usuarios legítimos llegue al servidor.
  • Cada solicitud utiliza cierto tiempo de CPU, por lo que un gran número de solicitudes puede hacer que la CPU dedique todo su tiempo a tratar las solicitudes de los atacantes, en lugar de solicitudes legítimas. Los atacantes pueden enviar solicitudes costosas (por ejemplo, búsquedas de texto completo, conexiones SSL, etc.) al servidor para aumentar el impacto. También hay casos en que las vulnerabilidades en el software del servidor permiten que el atacante elabore solicitudes especiales que consumen mucho tiempo de CPU.
  • Se utiliza una pequeña cantidad de RAM para almacenar el estado de la conexión, lo que podría permitir el agotamiento de la memoria física si se pueden hacer suficientes conexiones. Sin embargo, las consultas de base de datos pueden ser muy intensivas en memoria, en términos de uso de memoria y ancho de banda de memoria. Si un atacante escoge bien sus consultas, podría agotar completamente la memoria física del sistema.
  • Los registros, las tablas de la base de datos, etc. se almacenan en el disco. El envío de una gran cantidad de consultas durante un período de tiempo puede agotar el espacio de disco en el servidor, causando que se bloquee.

Tenga en cuenta que las solicitudes no tienen que ser HTTP; pueden ser DNS, HTTPS, SSH, FTP, SMTP, POP, IMAP, SMB, etc. Cualquier situación en la que un servicio esté escuchando paquetes entrantes es una forma potencial para lograr un DoS.

Hay dos formas principales de lograr ataques DoS de red básicos independientes de la aplicación: inundaciones TCP SYN y UDP flood .

El protocolo TCP incluye un protocolo de enlace de tres vías . Primero, un cliente envía una solicitud SYN (sincronización), a la que el servidor responde con un SYN-ACK (sincronización reconocida), que el cliente finalmente responde con un ACK (confirmación). Sin embargo, si un cliente envía un SYN y no responde al SYN-ACK, el servidor se queda con una conexión medio abierta. Esto consume una pequeña cantidad de memoria dentro del sistema operativo y consume algunos ciclos de CPU. Eventualmente, la conexión se interrumpe, pero una avalancha de paquetes SYN puede ser suficiente para causar graves problemas de rendimiento en el destino. Hay varias formas de mitigar esta amenaza, y la más notable es cookies SYN , que permiten que el servidor las envíe de vuelta. una respuesta sin almacenar el estado SYN.

El protocolo UDP no implica ningún tipo de protocolo de enlace. Los paquetes se envían simplemente entre hosts, sin estado ni conexión. Esto significa que un atacante puede enviar una gran cantidad de paquetes UDP al servidor, consumiendo su ancho de banda. Esto requiere que el ancho de banda total del cliente exceda al del servidor. Dado que el cliente no necesita ninguna respuesta, puede falsificar la dirección IP de origen, lo que dificulta la mitigación. Estos tipos de ataques pueden ser más difíciles de bloquear y, a menudo, requieren la intervención del proveedor de servicios.

El problema para los atacantes es que los servidores están diseñados para hacer frente a una gran cantidad de usuarios concurrentes y pequeños ataques de denegación de servicio. Es poco probable que el envío de una gran cantidad de paquetes desde su red doméstica o un servidor alquilado cause una reducción significativa en la disponibilidad o la velocidad de respuesta de su objetivo. Para hacer que el ataque sea más efectivo, utilizan un ataque de denegación de servicio (DDoS) distribuido . Esto implica el uso de varias computadoras en diferentes redes para inundar el sitio con solicitudes. A menudo, el atacante infectará otras computadoras con malware, para formar una red de bots, que luego se usa para realizar ataques DoS. La diferencia es que un DDoS permite que el tráfico fluya desde direcciones IP de origen legítimas (pero comprometidas), lo que aumenta la efectividad del ataque y dificulta el bloqueo.

    
respondido por el Polynomial 18.10.2012 - 18:10
fuente
7

Un DOS es de una sola dirección de ataque.

Un DDOS es habitual en varias ubicaciones, que son causadas principalmente por redes de bots o una red de contactos enojada.

    
respondido por el Digital fire 18.10.2012 - 17:25
fuente
5

DDOS es un subconjunto de DOS. Un ataque de DOS es cualquier ataque que intente usar algún tipo de técnica de "inundación" para abrumar a un host. Un ataque DDOS es un ataque de DOS que utiliza específicamente un gran conjunto de clientes distribuidos para obtener los recursos para el ataque.

Puede ser difícil encontrar los recursos para inundar el objetivo en un ataque de DOS, la forma más sencilla es que muchos clientes compartan sus recursos y se combinen para distribuir la carga de ataque entre ellos.

    
respondido por el B-Con 18.10.2012 - 17:28
fuente
3

Además de la gran respuesta de Polynomial, la razón principal por la que los ataques DDoS son mucho más efectivos que los ataques DoS es que los ataques DoS se pueden prevenir simplemente limitando el acceso a los recursos asignados a una dirección IP específica.

Los ataques DoS simples (es decir, el agotamiento de los recursos por una sola máquina) son una cosa del pasado. Hoy en día, casi todos los servidores están protegidos por un firewall que incluirá en la lista negra una dirección IP que haga demasiados intentos de acceso al servidor. Pero en los años noventa (1990) los cortafuegos no estaban en todas partes como lo están hoy en día y los ataques DoS eran bastante efectivos.

Debido a dichos cortafuegos, el ataque DoS evolucionó a un ataque DDoS. Al igual que los ataques DoS son cosas del pasado, los ataques DDoS son una cosa del presente. Hoy en día, cualquiera puede alquilar una red de bots para implementar un ataque DDoS. Pero las botnets son cosas relativamente nuevas y las botnets rentables han existido por menos de una década. Los DDoS pueden ser de origen público, pero este tipo de contratación también es relativamente nuevo.

En resumen, una gran diferencia entre DoS y DDoS es histórica: los ataques DoS, que eran comunes antes del uso del cortafuegos, se extendieron y los ataques DoS se convirtieron en comunes después de que las botnets estuvieran ampliamente disponibles. En realidad, hubo un período intermedio (a mediados de la década anterior) en el que ambas formas de ataque no eran tan comunes.

TL; DR: atacantes utilizados para implementar ataques DoS. Los servidores implementaron contramedidas efectivas. Los atacantes se actualizaron a ataques DDoS para evitar las contramedidas.

    
respondido por el David Wachtfogel 19.10.2012 - 06:04
fuente
2

Esos son realmente dos ataques diferentes, aunque similares.

El DoS "regular" se basa en intentar bloquear el servidor web / firewall, a través de algún tipo de error o vulnerabilidad. P.ej. los conocidos SYN Flood . Alternativamente, hay fallas en el nivel de la aplicación que permitirían DoS en el nivel de la aplicación: por ejemplo, un bucle basado en la entrada del usuario, donde un número muy grande podría causar una gran cantidad de iteraciones; o la bomba XML, donde un documento XML con formato incorrecto provocaría que la aplicación web consumiera enormes cantidades de memoria y un 100% de CPU.
La protección contra estos, por supuesto, es específica de la falla, y la codificación / diseño seguro en general.

Sin embargo, DDoS simplemente intenta abrumar al servidor web / firewall inundándolo con masas de solicitudes aparentemente legítimas. Estos pueden coordinarse, a menudo mediante una red de bots, a veces por movimientos políticos populares. La gran dificultad aquí es que es casi imposible, a falta de sistemas basados en la reputación, diferenciar entre solicitudes de usuarios legítimos y el ataque DDoS. Ni siquiera hay una sola dirección IP compartida entre ellos ...

    
respondido por el AviD 18.10.2012 - 22:30
fuente

Lea otras preguntas en las etiquetas