miércoles, octubre 01, 2008

Mañana se vuelve a acabar el Internet: Un nuevo ataque de negación de servicio

Dos investigadores de seguridad han dado a conocer que cuentan con información sobre un nuevo ataque de negación de servicio que podría traer severas consecuencias al Internet. Esta no sería la primera vez que un descubrimiento de seguridad amenaza la estabilidad de la red y posiblemente como tantas otras no sea la que finalmente acabe con el Internet (si algún día alguna realmente lo hace). 


Entre las vulnerabilidades que han amenzado con acabar con el Internet están los ataques de negación de servicio tipo Synflood (que irónicamente regresan con esta nueva vulnerabilidad), el bug de SNMP, los hacks al IOS de Cisco, la recontra publicitada vulnerabilidad de los DNS y la reciente vulnerabiliad de BGP (de un tema parecido escribí aquí).

Ahora, ¿de qué se trata esta nueva vulnerabilidad? Bueno, pues resulta que una de las estrategias para defenderse de los SynFlood Attacks son las Syn Cookies. Recordemos que los SynFlood attacks se basan en nunca terminar el Three Handshake de TCP lo cual hace que el server atacado se quede con recursos y muchas conexiones a la mitad. Para evitar este ataque las Syn Cookies calculan (mediante un hash que puede ser visto aquí) un el número de secuencia de TCP que se envía en el SYN+ACK para "trackear" la conexión del cliente (el servidor es el que recibe el SYN inicial y envia el SYN+ACK con un número de secuencia "llave" por cada conexión). De esta forma el servidor no tiene que mantener la conexión abierta y ahorra recursos. Si el cliente es real y contesta, mediante el número de secuencia de TCP el servidor puede recrear la conexión. 

Los detalles del ataque aún no están claros, pero de acuerdo a a Robert Lee y Jack Louis (los que descubrieron la vulnerabilidad) es posible acabar con los recursos de los servidores sin afectar los del cliente. Algunas de las teorias que surgen en varias discusiones es que el cliente usa la misma técnica de Syn Cookies para responder al SYN+ACK. Como nunca se crea la conexion el servidor termina con una conexión que nunca será usada y con menos recursos, mientras que el cliente que nunca inicio la conexión puede seguir abriendo conexiones a tasas muy altas, lo cual al final ocasiona un DoS.

Por lo pronto esperaremos a que los vendors de equipo de redes y sistemas operativos encuentren una forma de resolver este problema y los investigadores revelen los detalles del problema en la Conferencia T2.

Update: Fyodor, el autor de NMAP explica un poco más el ataque. Es similar a lo explicado anteriormente con algunas diferencias. Por ejemplo las SYN Cookies no son necesarias. El ataque es como sigue:

1) Filtra con un host-firewall las conexiones de un puerto específico, por ejemplo el 80 de http.
2) Haz una conexión a un servidor en el puerto filtrado. El servidor contestará con un SYN+ACK.
3) Como el puerto está "firewaleado" en tu host nunca contestas el SYN+ACK de la forma normal y nunca creas la conexión.
4) Pero ... si contestas el SYN+ACK con tu ataque, esto hace que ahorres recursos al NO crear la conexión en tu host pero SI crees una conexion en el servidor remoto. De esta forma el servidor comienza a usar recursos. 
5) Puedes repetir esto las veces que quieras hasta que afectes al servidor.


 

No hay comentarios.: