Una inundación SYN es una forma de ataque de denegación de servicio en el que un atacante inicia rápidamente una conexión a un servidor sin finalizar la conexión. El servidor tiene que gastar recursos esperando conexiones a medio abrir, que pueden consumir suficientes recursos para que el sistema no responda al tráfico legítimo.
El paquete que el atacante envía es el SYN
paquete, una parte de TCP ‘s de tres vías utilizado para establecer una conexión.
Cuando un cliente intenta iniciar una conexión TCP a un servidor, el cliente y el servidor intercambian una serie de mensajes que normalmente se ejecutan así:
- El cliente solicita una conexión enviando un mensaje
SYN
( sincronizar ) al servidor. - El servidor reconoce esta solicitud
SYN-ACK
devolviéndola al cliente. - El cliente responde con un
ACK
y se establece la conexión.
Esto se denomina protocolo de enlace de tres vías de TCP y es la base de cada conexión establecida mediante el protocolo TCP.
Un ataque de inundación SYN funciona al no responder al servidor con el ACK
código esperado . El cliente malintencionado puede simplemente no enviar el esperado ACK
, o falsificando la dirección IP de origen en el SYN
, hacer que el servidor envíe el SYN-ACK
a una dirección IP falsificada, que no enviará un ACK
porque “sabe” que nunca envió un SYN
.
El servidor esperará el reconocimiento durante algún tiempo, ya que la simple congestión de la red también podría ser la causa de la falta ACK
. Sin embargo, en un ataque, las conexiones semiabiertas creadas por el cliente malintencionado unen recursos en el servidor y pueden eventualmente exceder los recursos disponibles en el servidor. En ese momento, el servidor no puede conectarse a ningún cliente, ya sea legítimo o no. Esto efectivamente niega el servicio a clientes legítimos. Algunos sistemas también pueden funcionar mal o bloquearse cuando otras funciones del sistema operativo carecen de recursos de esta manera.