Colección de citas famosas - Frases elegantes - Principios de los ataques de denegación de servicio

Principios de los ataques de denegación de servicio

SYN Flood es actualmente uno de los métodos más populares de DoS (ataque de denegación de servicio) y DDOS (ataque de denegación de servicio distribuido). Es un método de ataque que aprovecha las fallas en el protocolo TCP para enviar una gran cantidad de solicitudes de conexión TCP falsificadas, lo que hace que la parte atacada agote sus recursos (la CPU está llena o la memoria es insuficiente).

El proceso del ataque SYN Flood se denomina protocolo de enlace de tres vías en el protocolo TCP. El ataque de denegación de servicio SYN Flood se implementa mediante un protocolo de enlace de tres vías.

(1) El atacante envía un mensaje TCP que contiene el indicador SYN al servidor atacado. SYN (Sincronizar) es un mensaje de sincronización. El mensaje de sincronización indicará el puerto utilizado por el cliente y el número de secuencia inicial de la conexión TCP. En este punto, se establece el primer protocolo de enlace con el servidor comprometido.

(2) Después de recibir el mensaje SYN del atacante, el servidor víctima devolverá un mensaje SYN ACK, indicando que se acepta la solicitud del atacante. Al mismo tiempo, el número de secuencia TCP aumenta en 1 y se reconoce un ACK (acuse de recibo), estableciendo así un segundo protocolo de enlace con el servidor atacado.

(3) El atacante también devuelve un mensaje de confirmación ACK al servidor víctima. De manera similar, el número de secuencia TCP aumenta en 1, la conexión TCP aquí se completa y se completa el protocolo de enlace de tres vías.

El principio específico es: en el protocolo de enlace de tres vías de una conexión TCP, si el usuario falla repentinamente o se desconecta después de enviar un mensaje SYN al servidor, el servidor no puede recibir el ACK del cliente después enviando el mensaje de respuesta SYN ACK (no se puede completar el quinto día). En este caso, el servidor normalmente vuelve a intentarlo (envía SYN ACK al cliente nuevamente) y abandona la conexión pendiente después de esperar algún tiempo. La duración de este período se llama tiempo de espera SYN, que generalmente es del orden de minutos (entre 30 segundos y 2 minutos cuando un usuario encuentra una excepción, no es un gran problema que un subproceso del servidor espere 1); minuto, pero si un atacante malintencionado simula una gran cantidad de En este caso (dirección IP falsificada), el servidor consumirá muchos recursos para mantener una lista de semiconexiones muy grande. Incluso un simple guardado y recorrido consume mucho tiempo de CPU y memoria, sin mencionar el intento constante de SYN ACK en las IP de esta lista. De hecho, si la pila TCP/IP del servidor no es lo suficientemente fuerte, el resultado final es a menudo un desbordamiento y falla de la pila; incluso si el sistema del servidor es lo suficientemente fuerte, el servidor estará ocupado procesando las solicitudes de conexión TCP falsificadas del atacante e ignorará las solicitudes normales. operación de la solicitud del cliente (después de todo, la proporción de solicitudes normales del cliente es muy pequeña). En este punto, desde la perspectiva de un cliente normal, el servidor deja de responder. Esta situación se denomina: el servidor está sujeto a un ataque de inundación SYN (ataque de inundación SYN).

El firewall de cookies SYN es una extensión de SYN COOKIE. Está construido sobre la pila TCP y proporciona protección para el sistema operativo Linux. El firewall de cookies SYN es una característica importante de Linux. Puede utilizar un firewall para proteger su red de ataques de inundación SYN.

El siguiente es el principio del firewall de cookies SYN.

Servidor Firewall Cliente

- - -

1.SYN------- gt;

2.lt - SYN-ACK (cookie)

3.ACK------- gt;

4.-----SYN- gt;

5.lt- - - - - SYN-ACK

6.-----ACK-gt;

7.-gt;

lt-connectionlt-

1: Se envía un paquete SYN de C a s.

2. El firewall desempeña el papel de S aquí y utiliza la cookie SYN para responder al paquete SYN-ACK de c.

3: C envía un paquete ACK y luego se establece la conexión entre el firewall y C.

4. El firewall desempeña el papel de C y envía un SYN a s.

5: s devuelve un SYN a c.

6. El firewall reproduce C y envía un paquete de confirmación ACK a S. En este punto, se ha establecido la conexión entre el firewall y S.

7. El firewall reenvía datos entre C y s.

Si el sistema sufre un ataque SYN Flood, el tercer paso no se producirá, y ni el firewall ni S recibirán el paquete SYN correspondiente al primer paso, por lo que repelemos el ataque SYN Flood. Los atributos estáticos del ataque incluyen principalmente el modo de control de ataque, el modo de comunicación de ataque, el principio de tecnología de ataque, el protocolo de ataque y la capa de protocolo de ataque.

(1) Modo de control de ataques

El método de control de ataques está directamente relacionado con el grado de ocultación de la fuente del ataque. Según la forma en que el atacante controla el avión de ataque, se puede dividir en los siguientes tres niveles: modo de control directo, modo de control indirecto y modo de control automático.

Los primeros ataques de denegación de servicio generalmente se llevaban a cabo manualmente, es decir, la determinación del objetivo, el inicio y la terminación del ataque los realizaba el usuario directamente en el host atacante. Este tipo de ataque es relativamente fácil de rastrear. Si se puede rastrear con precisión el paquete de ataque, generalmente se puede encontrar la ubicación del atacante. Debido a las deficiencias del modelo de control directo y la necesidad de que los atacantes controlen una gran cantidad de aviones de ataque para lanzar ataques a mayor escala, los atacantes comenzaron a construir redes de ataque multicapa. Las redes de ataque de múltiples capas dificultan mucho el seguimiento de dichos ataques. Después de que la víctima rastrea el avión atacante, aún necesita continuar rastreando al controlador del avión atacante. Si hay varios trampolines entre el atacante y el último controlador, aún necesita realizar un seguimiento varias veces para finalmente encontrar al atacante. Este tipo de seguimiento no sólo requiere operación manual, sino que también lleva mucho tiempo y es técnicamente exigente. Este método de ataque es actualmente el método de ataque más utilizado. Los ataques automatizados se refieren a modos de ataque preestablecidos en gusanos o programas de ataque lanzados para que puedan atacar objetivos específicos en momentos específicos. Este tipo de ataque suele ser difícil de rastrear para los atacantes, pero este tipo de ataque de control también requiere alta tecnología. Los ataques del gusano Mydoom a los sitios web de SCO y de Microsoft pertenecen al tercer tipo [TA04-028A].

②Modo de comunicación de ataque

En los ataques de control indirecto, existen múltiples métodos de comunicación entre el controlador y el atacante, y los métodos de comunicación utilizados entre ellos también afectan la dificultad del seguimiento. los factores importantes. Los modos de comunicación de ataque se pueden dividir en tres modos, a saber, el modo de comunicación bidireccional (bi), el modo de comunicación unidireccional (mono) y el modo de comunicación indirecta.

La comunicación bidireccional significa que los paquetes de control recibidos por el atacante contienen la dirección IP real del controlador. Por ejemplo, cuando el controlador usa TCP para conectarse con el atacante, esta comunicación significa comunicación bidireccional. Este modo de comunicación facilita encontrar el controlador de nivel superior desde el avión de ataque.

La comunicación unidireccional significa que cuando un atacante envía instrucciones al atacante, el paquete de datos no contiene la información de la dirección real del remitente. Por ejemplo, se utiliza un paquete de datos UDP que utiliza una dirección IP falsificada para enviar. instrucciones al atacante. Este ataque dificulta encontrar al controlador del avión atacante. La verdadera dirección de la máquina que envía instrucciones al plano de ataque sólo se puede encontrar a través de medios de rastreo de IP, como el marcado de paquetes. Sin embargo, este método de comunicación tiene ciertas limitaciones en el control, por ejemplo, es difícil para los controladores obtener información y el estado del avión de ataque.

El modo de comunicación indirecta es un modo de comunicación bidireccional intercambiado por un tercero. Este método de comunicación está muy oculto y es difícil de rastrear, monitorear y filtrar. La auditoría y el seguimiento de las máquinas de ataque solo pueden rastrearse hasta el servidor público utilizado como intermediario de comunicación, lo cual es difícil de sostener. Este método de comunicación fue descubierto principalmente a través de IRC (Internet Relay Chat) [José Nazario]. Desde la aparición de una herramienta de ataque DDoS llamada Trinity en agosto de 2000, muchas herramientas de ataque DDoS y gusanos han adoptado este método de comunicación. En una red títere basada en IRC, varios atacantes se conectan a un servidor IRC en Internet y envían instrucciones al servidor títere a través del programa de chat del servidor.

③ Principios de ataque

Los principios de ataque DoS se dividen principalmente en dos tipos, a saber: ataques semánticos y ataques de fuerza bruta.

Los ataques semánticos se refieren al uso de defectos y vulnerabilidades en la implementación del sistema de destino para realizar ataques de denegación de servicio en el host de destino. Este tipo de ataque a menudo no requiere que el atacante tenga un gran ancho de banda de ataque y, a veces, solo necesita enviar un paquete de datos para lograr el propósito del ataque. Prevenir este ataque simplemente requiere corregir la falla en el sistema. El ataque de fuerza bruta significa que el sistema objetivo no necesita vulnerabilidades ni defectos, solo necesita enviar solicitudes de servicio que excedan las capacidades de servicio del sistema objetivo para lograr el propósito del ataque. Por lo tanto, para defenderse de este ataque, los datos del ataque deben filtrarse o desviarse con la ayuda del enrutador ascendente de la víctima. Algunos ataques que tienen características tanto semánticas como de fuerza bruta (como los ataques de tormenta SYN) aprovechan las fallas del propio protocolo TCP, pero aún requieren que el atacante envíe una gran cantidad de solicitudes de ataque. Para defenderse de tales ataques, los usuarios no sólo necesitan mejorar el sistema en sí, sino también aumentar las capacidades de servicio de los recursos. También existen algunos métodos de ataque que utilizan fallas de diseño del sistema para generar datos de comunicación con mayor ancho de banda que el atacante para implementar ataques de fuerza bruta, como ataques de solicitud de DNS y ataques Smurf. Ver Sección 4.2.3 y referencias [IN-2000-04] y [CA-1998-01]. Estos ataques pueden clasificarse como ataques semánticos porque el daño puede eliminarse o reducirse después de mejorar el protocolo y el sistema.

④ Capa de protocolo de ataque

La capa de protocolo TCP/IP donde se ubica el ataque se puede dividir en las siguientes cuatro categorías: capa de enlace de datos, capa de red, capa de transporte y capa de aplicación. .

Los ataques de denegación de servicio en la capa de enlace de datos [Converse] [Fisch Bach 01] [Fisch Bach 02] están restringidos por el propio protocolo y sólo pueden ocurrir dentro de la LAN. Este tipo de ataque es raro. Los ataques a la capa IP se dirigen principalmente a vulnerabilidades que ocurren cuando el sistema objetivo procesa paquetes IP, como los ataques de fragmentación de IP [Anderson01]. En la práctica, hay muchos ataques a la capa de transporte, como tormentas SYN y tormentas ACK, y también hay muchos ataques a la capa de aplicación. Muchos ataques de paquetes altamente tóxicos, como los ataques de desbordamiento de búfer, entran en esta categoría.

⑤ Protocolo de ataque

El protocolo específico más alto involucrado en el ataque, como SMTP, ICMP, UDP, HTTP, etc. Cuanto mayor sea la capa de protocolo involucrada en el ataque, más recursos informáticos necesitará la víctima para analizar los paquetes de ataque. Los atributos dinámicos del ataque incluyen principalmente el tipo de dirección de origen del ataque, el método de generación de datos del paquete de ataque y el tipo de objetivo del ataque.

(1) Tipos de direcciones de origen del ataque

Los tipos de direcciones de origen utilizados por los atacantes en los paquetes de ataque se pueden dividir en tres tipos: direcciones reales, direcciones legales falsificadas y direcciones ilegales falsificadas.

Un atacante puede utilizar una dirección IP legítima o una dirección IP falsificada al atacar. Las direcciones IP falsificadas pueden facilitar que los atacantes evadan el seguimiento y, al mismo tiempo, dificultan que las víctimas identifiquen y filtren los paquetes de ataque, pero algunos tipos de ataques deben utilizar direcciones IP reales, como los ataques de agotamiento de la conexión. En los últimos años, la proporción de ataques que utilizan direcciones IP reales ha disminuido gradualmente debido a la facilidad de seguimiento y defensa. Los ataques que utilizan direcciones IP falsificadas se dividen en dos situaciones: una es utilizar una dirección IP existente en la red, que también es el tipo de dirección de origen necesaria para los ataques de reflexión; la otra es utilizar una dirección IP reservada o no asignada en la red; ( Por ejemplo, 192.168. 0. 0/16, 172.16. 0. 0/12 y otras direcciones reservadas de la red interna [RFC 65438

(2) Modo de generación de datos de paquetes de ataque

En el paquete de ataque hay cinco modos principales de mensaje de datos: Ninguno, Único, Aleatorio, Diccionario y Función.

Cuando un atacante realiza un ataque de denegación de servicio de tormenta, el atacante debe enviar un mensaje grande. La cantidad de estos paquetes al host de destino. La carga útil de información de datos contenida en se puede generar en una variedad de modos, y los diferentes modos de generación tienen un gran impacto en la capacidad de la víctima para detectar y filtrar paquetes de ataque.

Algunos paquetes de ataque no necesitan contener una carga útil o solo necesitan contener una carga útil fija adecuada, como los ataques de tormenta SYN y los ataques de tormenta ACK. Ambos ataques envían paquetes con cargas útiles vacías, por lo que este ataque no se puede analizar por carga útil. Pero para otros tipos de paquetes de ataque, deben transportar las cargas útiles correspondientes.

Hay cuatro formas de generar una carga útil de paquete de ataque: El primer método es enviar un paquete con la misma carga útil, que se detecta fácilmente debido a sus características obvias. El segundo es enviar paquetes con cargas útiles generadas aleatoriamente. Aunque esta carga generada aleatoriamente es difícil de detectar mediante el reconocimiento de patrones, en algunas aplicaciones puede generar una gran cantidad de paquetes sin sentido, que pueden filtrarse fácilmente. Sin embargo, el atacante aún puede diseñar cuidadosamente el método de generación aleatoria de la carga útil para que la víctima solo pueda identificar el paquete de ataque analizando el protocolo de la capa de aplicación, lo que aumenta la dificultad del filtrado. El tercer método consiste en que el atacante tome un conjunto de varias cargas útiles significativas y las complete en el paquete de ataque una a la vez de acuerdo con algunas reglas. Este enfoque es más fácil de detectar cuando el tamaño de la colección es pequeño. El último método consiste en generar cargas útiles diferentes cada vez según algunas reglas. Este método tiene diferentes dificultades de detección según las diferentes funciones generadoras.

⑶ Tipos de objetivos de ataque

Los tipos de objetivos de ataque se pueden dividir en las siguientes seis categorías: aplicaciones, sistemas, recursos críticos de red, redes, infraestructura de red e Internet.

Los ataques a aplicaciones específicas son ataques comunes, la mayoría de los cuales son paquetes altamente tóxicos, incluidos los ataques de denegación de servicio que explotan las vulnerabilidades de las aplicaciones para atacar una aplicación específica y explotan el agotamiento de la conexión para atacar una clase de aplicaciones. Ataque de denegación de servicio. Los ataques contra el sistema también son muy comunes, como la tormenta SYN, la tormenta UDP [CA-1996-01] y los ataques de paquetes venenosos que pueden causar que el sistema falle y se reinicie. Estos ataques dificultarán el funcionamiento de todo el sistema. servicios. Los ataques a recursos críticos de la red incluyen ataques a DNS y enrutadores específicos. Los ataques orientados a la red se refieren a ataques dirigidos a todos los hosts de toda la LAN. Los ataques a la infraestructura de la red requieren que los atacantes posean considerables recursos y habilidades. Los objetivos de los ataques son la infraestructura de la red, como los servidores de nombres de dominio raíz, los enrutadores centrales y los grandes servidores de certificados. Aunque el número de ataques de este tipo es pequeño, una vez que el ataque tiene éxito, el daño causado es inconmensurable [Naraine02]. Los ataques a Internet son ataques iniciados por gusanos y virus que se propagan por Internet y provocan denegación de servicio a un gran número de hosts y redes. Estos ataques son particularmente costosos.