Red de conocimiento informático - Conocimientos de programación - Ataque de red-Ataque de denegación de servicio

Ataque de red-Ataque de denegación de servicio

Denegación de Servicio, conocida como DoS, el comportamiento que provoca un ataque DoS se llama ataque DoS, y su propósito es impedir que la computadora o red proporcione servicios normales.

Los ataques DoS comunes incluyen ataques de ancho de banda de redes informáticas y ataques de conectividad.

El ataque de ancho de banda se refiere a impactar la red con una enorme cantidad de tráfico, provocando que se consuman todos los recursos disponibles de la red y, en última instancia, provocando que fallen las solicitudes legítimas de los usuarios.

Los ataques de conectividad se refieren a inundar una computadora con una gran cantidad de solicitudes de conexión, lo que hace que se consuman todos los recursos disponibles del sistema operativo y, en última instancia, la computadora ya no puede procesar solicitudes de usuarios legítimos.

Los métodos de ataque más utilizados incluyen: SYN Flood, WinNuke, Ping of Death, ICMP/SMURF, Finger bomb, Land attack, Ping Flood, Rwhod, Teardrop, TARGA3, ataque UDP, etc.

El libro toma el ataque SYN Flood como ejemplo para presentar en detalle este típico ataque DoS:

SYN Flood es un método que utiliza fallas en el protocolo TCP para enviar una gran cantidad de datos falsificados. Solicitudes de conexión TCP. Un método de ataque que agota los recursos de la parte atacada (la CPU está completamente cargada o la memoria es insuficiente).

El ataque SYN Flood utiliza el protocolo de enlace de tres vías en el protocolo TCP

El principio específico del ataque SYN Flood:

Conexión TCP En el protocolo de enlace de tres vías, suponiendo que un usuario repentinamente falla o se desconecta después de enviar un mensaje SYN al servidor, el servidor no puede recibir el mensaje ACK del cliente después de enviar un mensaje de respuesta SYN + ACK (el tercer protocolo de enlace no se puede completar) .

En este caso, el servidor generalmente volverá a intentarlo (enviará SYN+ACK al cliente nuevamente) y esperará un período de tiempo antes de descartar la conexión incompleta. La duración de este período se denomina tiempo de espera SYN. ​​En términos generales, este tiempo es del orden de minutos (alrededor de 30 segundos ~ 2 minutos). que el servidor espere 1 minuto. No es un gran problema, pero si un atacante malintencionado simula esta situación (direcciones IP falsificadas) a gran escala, el servidor consumirá muchos recursos para mantener una semiconexión muy grande. lista.

Incluso un simple guardado y recorrido consumirá mucho tiempo de CPU y memoria, sin mencionar el reintento constante de SYN+ACK para las IP en esta lista.

Si la pila TCP/IP del servidor no es lo suficientemente grande, el resultado final suele ser un fallo por desbordamiento de la pila; incluso si el sistema del lado del servidor es lo suficientemente potente, el lado del servidor será Está ocupado procesando conexiones TCP forjadas por las solicitudes del atacante y no tiene tiempo para prestar atención a las solicitudes de los clientes normales (después de todo, la proporción de solicitudes normales del cliente es muy pequeña en este momento, desde la perspectiva de los clientes normales). el servidor pierde respuesta Esta situación se llama: el servidor está sujeto a un ataque SYN Flood (ataque SYN Flood)

Los ataques de denegación de servicio explotan principalmente algunas vulnerabilidades del sistema. Un ataque de denegación de servicio para explotar vulnerabilidades es un método de ataque que aprovecha las vulnerabilidades para provocar que el software no se ejecute correctamente. Este tipo de denegación de servicio no depende de una gran cantidad de máquinas títeres ni necesita enviar una gran cantidad de solicitudes de acceso. Solo aprovecha las vulnerabilidades de seguridad del software del nodo objetivo y construye cuidadosamente paquetes de datos maliciosos. causando que el software del nodo de destino no pueda ejecutarse de manera efectiva.

El ataque de denegación de servicio distribuido (DDoS: Distributed Denial of Service) es un ataque de agotamiento de recursos, a menudo también llamado ataque de inundación.

Un método de ataque a la red que utiliza una gran cantidad de nodos distribuidos en la red para lanzar el mismo nodo objetivo, lo que hace que los recursos del nodo objetivo se consuman en grandes cantidades y no puedan proporcionar recursos externos normales. servicios.

Los ataques de denegación de servicio distribuidos se refieren principalmente a aquellos que utilizan plataformas externas, como clientes o servidores propios, para unir diferentes sistemas informáticos y atacarlos, duplicando así la eficacia del ataque de denegación de servicio. Generalmente, un atacante instala el programa de control principal de un ataque distribuido de denegación de servicio en una computadora utilizada para el control e instala e implementa el programa controlado en varias computadoras en Internet. El programa de control principal puede comunicarse con el programa controlado y controlar el comportamiento del programa controlado. Cuando el programa de control principal envía instrucciones específicas, el programa controlado puede lanzar ataques de acuerdo con las instrucciones.

Los ataques DDoS ocupan una gran cantidad de recursos de la red a través de una gran cantidad de solicitudes legítimas para lograr el propósito de paralizar la red. Este método de ataque tiene los siguientes tipos:

Los pasos de un ataque distribuido de denegación de servicio son los siguientes:

Paso 1: el atacante utiliza una herramienta de escaneo para escanear una gran cantidad de hosts para posibles objetivos de intrusión;

Paso 2: los piratas informáticos intentan invadir el host con agujeros de seguridad y obtener el control. Estos hosts se utilizarán para colocar puertas traseras, demonios e incluso programas cliente;

Paso 3: Después de que el hacker obtiene la lista de computadoras intruidas, selecciona los hosts que satisfacen las necesidades de establecer una coloque el demonio compilado y envíe comandos a la computadora controlada;

Paso 4: el hacker envía comandos de control al host para prepararse para lanzar un ataque al sistema objetivo;

Paso 5: El host envía una señal de ataque a la computadora controlada para comenzar a atacar el sistema objetivo

Paso 6: El sistema objetivo se inunda con innumerables solicitudes falsificadas, lo que hace imposible un ataque legítimo; Respuesta de los usuarios: el ataque DDoS fue exitoso.

El efecto de los ataques DDoS es muy obvio, ya que todo el proceso está automatizado, un atacante puede invadir un host e instalar herramientas de ataque en 5 segundos. En otras palabras, se pueden invadir miles de hosts en solo una hora, y un determinado host puede ser atacado con un volumen de datos de 1000 MB/s. Esta cantidad de datos equivale a 104 millones de personas llamando al número de una empresa al mismo tiempo. número de teléfono.

La denegación de servicio de reflexión distribuida (DRDoS: Denegación de servicio de reflexión distribuida) es un nuevo ataque de denegación de servicio por agotamiento de recursos.

A diferencia de los ataques de denegación de servicio distribuidos que utilizan direcciones IP de origen falsificadas, las direcciones IP de origen de los ataques de denegación de servicio de reflexión distribuida son todas direcciones reales. Estos nodos de red reales en sí mismos no tienen vulnerabilidades de seguridad. , pero use TCP Esto se logra mediante un protocolo de enlace de tres vías.

Primero, el atacante utiliza la dirección IP de la víctima como dirección de origen a través de la máquina títere controlada para enviar mensajes con etiquetas SYN a cualquier nodo de red activo (como enrutadores centrales, servidores de nombres de dominio, sitios web grandes, etc.). .) Paquete de datos, que es el primer paso del protocolo de enlace de tres vías TCP;

Después de que el nodo de red activo reciba el paquete de datos con la dirección IP de origen falsificada, lo enviará a La víctima responde de acuerdo con los requisitos del protocolo y envía paquetes de datos de respuesta marcados con SYN y ACK. Cuando un atacante utiliza una gran cantidad de máquinas títeres para lanzar ataques al mismo tiempo, se completa un ataque de denegación de servicio de reflexión distribuida.

El ataque más típico de denegación de servicio por reflexión distribuida es el ataque Smurf:

Paso 1: el atacante envía un protocolo ICMP a la dirección de transmisión de la red explotada A. Datagrama de solicitud de "eco", la dirección de origen del datagrama se falsifica para que sea 10.254.8.9.

Paso 2: Todos los hosts de la red A devuelven una respuesta de "eco" a la dirección de origen falsificada, lo que provoca que se interrumpa el servicio del host.

Muchos de los ataques de denegación de servicio actuales se automatizan mediante herramientas.

El atacante controla algunos hosts para enviar continuamente una gran cantidad de paquetes de datos a un servidor, lo que provoca que los recursos del servidor se agoten hasta que el host falla. CC se utiliza principalmente para consumir recursos del servidor.

Todos tienen esta experiencia: cuando hay muchas personas visitando una página web, será lento abrir la página web, simulando múltiples usuarios (cuántos hilos son cuántos usuarios) para acceder continuamente a aquellos que requieren una gran cantidad de operaciones de datos. (es decir, mucho tiempo de CPU), lo que resulta en un desperdicio de recursos del servidor, la carga de la CPU está al 100% durante mucho tiempo y siempre hay conexiones que no se pueden procesar hasta que la red esté congestionada y el acceso normal está suspendido.

Los ataques de denegación de servicio suelen ser difíciles de prevenir, pero existen algunas medidas de protección:

1. Fortalecer la conciencia de seguridad de los usuarios y cerrar las interfaces de red innecesarias. factores causados ​​por negligencia personal, instalar software con potentes funciones de prevención y realizar análisis de seguridad periódicos en las computadoras

2. Incrementar los métodos de prevención de seguridad, comprenderlos y dominarlos puede ser efectivo Usar software para prevenir; y controlar las vulnerabilidades de seguridad, utilizar algunas herramientas especializadas de verificación de vulnerabilidades para detectar problemas, como probadores de red, probadores de tráfico, etc., y descubrir métodos y medidas para reparar vulnerabilidades de manera oportuna para reducir pérdidas innecesarias.

3. Utilice correctamente las herramientas de prevención de seguridad, utilice software de detección de redes para detectar factores inseguros de manera oportuna, utilice software que se especialice en detectar riesgos de seguridad de redes y realice detecciones periódicas.