Ataques de Denegación de Servicio 1
Definición Un ataque de denegación de servicio (Denial of Service) se caracteriza por intentar evitar el uso legítimo de un bien, servicio o recurso. DDoS (Distributed DoS): utilización de muchos atacantes para lograr un DoS.
Por qué? Las técnicas de diseño de la Internet actual se centra en ser eficiente en el transporte de paquetes de fuente a destino. Modelo extremo a extremo: la red proporciona un servicio best-effort Es responsabilidad de los extremos la responsabilidad de utilizar los protocolos convenientes para garantizar calidad de servicio, transporte robusto y fiable o seguridad. Si uno de los extremos se comporta de manera malintencionada puede provocar daños al otro extremo
Causas Dado el diseño de la red intermedia (Internet) no se actuará contra el host malicioso. Consecuencias de estos ataques: Suplantación de direcciones IP: IP Spoofing Ataques de denegación de servicio distribuido (DDoS).
Internet y DDoS La seguridad en Internet es altamente interdependiente Los recursos en Internet son limitados La inteligencia y los recursos no son gestionados de manera coordinada No es obligatorio la contabilidad El control es distribuido
Fases de un ataque DDoS Reclutamiento de los agentes que realizarán el ataque: Búsqueda de vulnerabilidades. Utilización de la vulnerabilidad para acceder a la máquina Infección de la máquina con el código del ataque. Utilización de la máquina comprometida para ejecutar el ataque.
Fases de un ataque DDoS
Motivación de los ataques DDoS Provocar un daño en la víctima. Razones personales Ganar prestigio. Motivos económicos. Razones políticas
Ataques DoS Clásicos Ataques lógicos o software: consiste en enviar al equipo remoto una serie de datagramas mal construidos para aprovechar alguna error conocido en dicho sistema. Son fáciles de evitar actualizando el SW a versiones que corrijan dichos fallos o añadiendo reglas al FW para filtrar paquetes mal construidos. Ping of Death Teardrop Land Ataques de inundación (flood): consisten en bombardear un sistema con un flujo continuo de tráfico que acaba por consumir todos los recursos del mismo y el BW de la red del sistema atacado. TCP SYN Smurf IP UDP Flood ICMP Flood
Clasificación de los ataques DDoS Criterios de clasificación: Grado de automatización. Método de comunicación. Estrategia de análisis de host y vulnerabilidades. Mecanismo de propagación. Vulnerabilidad explotada para la denegación de servicio Semántica Fuerza bruta Validación de la dirección fuente Tasa de ataque Posibilidad de caracterización Persistencia del conjunto de agentes. Tipo de víctima Impacto en la víctima
Grado de Automatización Manual: Muy pesado. los ataques DoS más antiguos. Automáticos: Se automatizan todas las fases No es necesaria la fase de comunicación entre los agentes que llevarán a cabo el ataque Características preprogramadas. Suelen dejar abierta la puerta para posibilitar futuros accesos y modificaciones del código.
Grado de automatización (II) Semiautomáticos:
Ataques semiautomáticos Dos tipos de componentes: Agentes: se ejecutan en los equipos infectados y realizan el ataque real. Los equipos controlados se conocen también como zombies EN diciembre de 2005 se estimaba un total de 250.000 ordenadores infectados AL DíA!. Se aglutinan en botnets A principios de 2005 se censaron 100 botnets con 226.000 Ips distintas por canal SPAM, Phishing, DDoS Gestor: programa que controla los agentes diciéndoles cuándo, qué y cómo atacar. De manera directa: IP del maestro en los agentes más fácil descubrimiento. IRC o un programa de MI Difícil descubrimiento Dinamismo Ya existen ataques de este tipo
Estrategia de escaneo En función de que máquinas se deciden inspeccionar para determinar si son vulnerables Si son vulnerables se emplearán como zombies Aleatorio (Code Red v2) Alto volumen de tráfico Lista previa Evita colisiones Es necesario conocer máquinas vulnerables por adelantado Problema de transmisión de la lista Recolectando información del sistema infectado Propia subred (Nimda), Técnicas mixta
Estrategia de escaneo En función de cómo se busquen las vulnerabilidades: Búsqueda de una vulnerabilidad específica Búsqueda de múltiples vulnerabilidades en la misma máquina Búsqueda coordinada: búsqueda de una vulnerabilidad en todas las máquinas de una red El objetivo es no alarmar a los IDS
Estrategia de propagación del código del ataque En función de cómo se propagan los agentes durante la fase de infección: Centralizada: Conjunto central de servidores Descarga de código des de esos servidores Fácilmente detectable. (gusano 1i0n) Encadenada: El código del agente se descarga desde la máquina utilizada para infectar el sistema Distribuido Gusano de Morris Autónomo: Típica de los gusanos de email El código del ataque se inyecta durante la infección del sistema
Técnica de DoS Es la clasificación más clásica Distinguimos entre si se intenta aprovechar alguna vulnerabilidad del protocolo, aplicación o sistema o si por el contrario simplemente se intenta desbordar al mismos mediante un uso legítimo pero desmedido Ataques semánticos o lógicos Ataques de fuerza bruta o inundación
Ataques Lógicos Explotan una característica específica o un fallo en la implementación de algún protocolo o aplicación instalada en la víctima. El objetivo es dejarla sin recursos. Se basan en un uso malicioso Ejemplos: TCP SYN NAPTHA Ataques de fragmentación
TCP SYN
TCP SYN El esquema del establecimiento de conexión TCP es, 1) C ----------------- NSc, Syn ----------------- >> S 2) C <<------- NSc+1, Ack, Syn, NSs ---------- S 3) C ------------------ NSs+1, Ack --------------->> S Conexión TCP establecida C <<-------------------- Datos ------------------->> S Normalmente los pasos 1,2 y 3 se producen consecutiva y rápidamente. El servidor suele establecer un timeout de 75 segundos entre el paso 2 y la respuesta del ciente del paso 3. El ataque TCP Syn se basa en falsificar (spoof) el IP origen del paso 1, poniendo el IP de un host legal pero inalcanzable (unreacheable
TCP SYN Por tanto nadie responderá al paso 2, y el servidor deberá esperar 75 segundos en un estado muy incómodo, con su socket a medio abrir, sus bufferes reservados, etc.. Además TCP suele tener una cola finita y no muy grande ( de 6 a 15 entradas) para estas conexiones en trámite, por lo que si enviamos varias decenas de estas peticiones de conexión TCP falsas colapsaremos la cola haciendo que el servidor tenga que rechazar el resto de peticiones legales que le estén llegando. Si además repetimos esa tanda de peticiones cada 80 segundos (un poco más de 75s, para que dé tiempo de que se desbloqueen las anteriores), conseguiremos parar el servicio TCP. Este ataque es difícil de evitar, ya que se basa en una debilidad intrínseca de TCP. SYN Cookies Más información: CERT Advisory CA-1996-21 TCP SYN Flooding and IP Spoofing Attacks
Ataques de fuerza bruta o innundación Generan una gran cantidad de operaciones aparentemente legítimas Dado que la red intermedia puede transportar una cantidad de tráfico mayor que la red víctima, ésta última se queda sin recursos Necesitan mayor volumen de tráfico que los ataques anteriores Ejemplos: DNS request Smurf IP
Smurf IP Es muy simple pero desgraciadamente muy efectivo. Aprovecha las direcciones IP de broadcasting y los paquetes ICMP ECHO Request/Reply (PING) No existe una protección total contra este ataque, por lo que sigue siendo muy peligroso. Este ataque necesita al menos tres protagonistas: el atacante, el atacado y un conjunto de redes intermediarias que se utilizan para el ataque. El atacante busca redes (a ser posible grandes, con más de 30 hosts), que tengan dirección IP de broadcasting (X.Y.Z.255, o X.Y.255.255, o incluso mejor, X.255.255.255). Falsifica un paquete IP poniendo como dirección Origen la de la víctima, y envía un paquete ICMP ECHO Request (PING) a la dirección de broadcast de las redes intermediarias seleccionadas.
Smurf IP Los centenares (o miles) de hosts de esas direcciones de broadcasting responderán a quien ellos creen ser el origen (en realidad la desprevenida víctima) con un paquete ICMP de respuesta al PING, colapsando la línea de ese servidor. Si este proceso se repite cada pocos segundos el efecto es devastador. Existe un programa scanner para buscar posibles redes intermediarias (redes que reenvían directed broadcast)
Problemas de la defensa ante DDoS Necesidad de un respuesta distribuida en distintos puntos en Internet Factores económicos y sociales: La respuesta distribuida debe involucrar a partes que no sufren directamente daño de los ataques No se dispone información detallada sobre los ataques: Se conocen las herramientas No se suele proporcionar información sobre ataques sufridos No se dispone de información fiable sobre sistemas de defensa No hay una red de prueba a gran escala de estos mecanismos