Según expertos de ethical hacking, SYN
floods son uno de los ataques más antiguos y comunes, tan común que el núcleo
de Linux incluye algo de ellos construidos en apoyo a la mitigación de los
mismos. Cuando un cliente se conecta a un servidor a través de TCP, este
utiliza el protocolo de tres vías para sincronizar:
Un paquete SYN es esencialmente el cliente
diciendo al servidor “Me gustaría conectar”. Durante este protocolo, el cliente
y el servidor de generan aleatoriamente Initial Sequence Numbers (ISNs), que se
utilizan para sincronizar la conexión TCP entre dos partes. Expertos de
seguridad en páginas web explican que estos números de secuencia TCP permiten
hacer un seguimiento de los mensajes que se han enviado y confirmado por la
otra parte.
Acuerdo a curso de ethical hacking,
SYN flood abusa de este protocolo de enlace sólo yendo por una parte del camino
a través del protocolo. En lugar de progresar a través de la secuencia normal,
un atacante inunda el servidor destino con el mayor número de paquetes SYN como
puedan reunir, de tantos equipos diferentes como puedan, y suplantaciones de
origen IP tanto como les sea posible.
El host con nada de seguridad en páginas
web que
recibe el SYN floods debe responder a todos y cada uno de los paquetes con un
SYN-ACK, pero por desgracia la IP de origen fue probablemente suplantada, por
lo que irán a ninguna parte (o peor, volverá como rechazada). Estos paquetes
son casi indistinguibles de los verdaderos paquetes SYN de clientes reales, lo
que significa que es difícil o imposible de filtrar a los malos en el servidor.
Para empeorar las cosas, cuando el servidor está manejando las
conexiones normales y recibe el ACK de un cliente real, sigue siendo necesario
saber que se trataba de un paquete SYN que se envió, por lo que también debe
mantener una lista de conexiones (en estado SYN_RECV) en la cual un SYN ha sido
recibido y un ACK aún no ha sido recibido.
Si la cola de conexiones en SYN_RECV no tiene límite de tamaño,
la memoria se agotará rápidamente menciona Dan Levis profesor de seguridad en
páginas web de International Institute of Cyber Security. Si este tiene un
límite de tamaño, como es el caso de Linux, entonces no hay más espacio para
almacenar el estado y las conexiones serán simplemente fallidas y los paquetes
serán descartados.
SYN COOKIES
SYN cookies son una forma inteligente de evitar el
almacenamiento de estado de conexión TCP durante el protocolo de enlace
inicial, aplazando dicho almacenamiento hasta que un ACK válido haya sido
recibido. Funciona por la elaboración del Initial Sequence Number (ISN) en el
paquete SYN-ACK enviado por el servidor de tal manera que criptográficamente
desmenuza detalles sobre el paquete inicial SYN y sus opciones TCP, de modo que
el servidor puede validar que generó el paquete SYN-ACK para el cual un ACK
ahora se está recibiendo. El servidor no almacena ningún estado en la conexión
hasta que el ACK (que contiene la SYN cookie validada) se recibe, y sólo en ese
momento se el estado regenerado y se almacenado menciona Dan Levis profesor de
seguridad en páginas web.
Acuerdo a curso de ethical hacking, esta hash es calculada con
un secreto que sólo el servidor sabe, no debilita significativamente la
selección del número de secuencia y aun así es difícil que alguien forje un ACK
para una conexión diferente sin haber visto el SYN-ACK del servidor real.
SYNPROXY
Una solución de seguridad en páginas web para obtener lo mejor
de ambos mundos era el módulo synproxy. Este se sienta en netfilter en el
núcleo, antes del TCP Linux stack, y como su nombre indica, apoderada todas las
conexiones, mientras que genera SYN cookies. Cuando un paquete SYN llega,
responde con un SYN-ACK y tira a la basura todo el estado. Tras la recepción de
un paquete ACK correspondientemente a SYN cookie, eso luego envía un SYN y
completa la conexión TCP habitual. Por cada paquete siguiente en cada
dirección, modifica los números de secuencia de manera que es transparente a
ambos lados.
Esta es una manera bastante intrusiva de
resolver el problema de seguridad en páginas web, ya que afecta a todos los
paquetes durante toda la conexión, pero no mitiga exitosamente SYN floods. Por
desgracia, encontramos que bajo ataque se rompió y provocó una caída del
sistema.
SYNSANITY
Introduzca synsanity, la solución es mitigar SYN floods en Linux
3.x usuado por expertos de ethical hacking. Synsanity se inspira en SYNPROXY,
en que se trata de un módulo de iptables que se encuentra entre Linux TCP stack
y la tarjeta de red. La principal diferencia es que en lugar de tocar todos los
paquetes, synsanity simplemente genera una cookie SYN similar a la forma en que
el núcleo de Linux generaría si el SYN queue estaba lleno, y una vez que se
valida el paquete ACK, eso permite llegar hasta Linux SYN cookie code, que crea
y completa la conexión. Después de este punto, synsanity no toca ningún paquete
adicional en la conexión TCP menciona Dan Levis profesor de seguridad en
páginas web en IICS(iicybersecurty).
Synsanity permite mitigar múltiples ataques que han causado
previamente una interrupción del servicio parcial o completo, tanto los ataques
de larga ejecución y ataques a gran volumen.
0 comments:
Post a Comment