¿Qué es SYN Flooding?

La inundación SYN es una forma de ataque de denegación de servicio que se puede lanzar en un servidor de computadora para abrumar al servidor y no permitir que otros usuarios accedan a él. Esta es una forma de ataque algo más antigua y fue bastante popular durante un tiempo debido a los recursos relativamente bajos necesarios para ejecutarlo. El proceso básico para el ataque utiliza el método por el cual los usuarios se conectan a un servidor a través de un protocolo de control de transmisión (TCP) para usar todos los recursos del sistema. La inundación SYN fue una vez una forma popular de ataque, aunque se han ideado varias soluciones diferentes para reducir o eliminar su efectividad en los servidores modernos.

La idea básica detrás de la inundación SYN utiliza la forma en que los usuarios se conectan a los servidores a través de conexiones TCP. TCP utiliza un sistema llamado protocolo de enlace de tres vías que comienza con un usuario que envía un mensaje de «sincronización» o SYN al servidor. A continuación, el servidor recibe el mensaje y envía un mensaje de «sincronización confirmada» o SYN-ACK al usuario. Una vez que el sistema del usuario recibe este mensaje, el usuario envía un mensaje final de «reconocimiento» o ACK al servidor para establecer la conexión. Este proceso básico se lleva a cabo con bastante rapidez y garantiza que ambos extremos de la conexión estén sincronizados.

Sin embargo, un ataque de inundación SYN utiliza este protocolo de enlace de tres vías para inmovilizar recursos dentro del servidor, evitando así que otros accedan al sistema. El ataque de inundación SYN comienza con un mensaje SYN enviado al servidor, que responde con la respuesta SYN-ACK estándar. Este mensaje no tiene respuesta, sin embargo, a través de uno de varios métodos que dan como resultado que no se envíe ningún mensaje ACK final al servidor. En este punto, el servidor deja los recursos comprometidos a la espera del mensaje ACK, en caso de que la congestión de la red sea la causa de la falta de respuesta.

Sin embargo, los servidores solo tienen recursos limitados para manejar los apretones de manos de tres vías, y muchos servidores están diseñados para manejar solo ocho de estos procesos a la vez. La inundación SYN consiste en ocho o más mensajes SYN enviados sin el mensaje ACK correspondiente después, dejando todos los recursos del servidor comprometidos a esperar una respuesta que nunca llegará. Mientras esté esperando estos mensajes, ningún otro usuario podrá conectarse al servidor. Si bien muchos servidores fueron diseñados para vaciar la cola de respuestas después de tres minutos, alguien que lanzara un ataque SYN podría simplemente volver a enviar ocho mensajes SYN cada tres minutos para mantener el sistema bloqueado indefinidamente.

Se han encontrado varias soluciones diferentes para este tipo de ataques, por lo que la inundación SYN suele tener menos éxito que en el pasado. Una solución común utiliza «cookies SYN» para permitir que un sistema purgue su cola cuando se han alcanzado ocho solicitudes, lo que permite a los nuevos usuarios enviar solicitudes para conectarse al servidor. Si finalmente llega una de las solicitudes depuradas más antiguas, las cookies aseguran que se reconozca correctamente como un mensaje ACK y permite al usuario conectarse al servidor.