Durante bastante tiempo se ha sabido que el TCP es vulnerable a un
ataque de denegación de servicio que permite terminar las conexiones TCP de manera prematura. Dicho ataque consiste en mandar segmentos TCP con los flags
SYN o
RST a una máquina, haciendose pasar por la máquina real que debe de mandar el flujo TCP. Esto se debe a la facilidad de falsificar la dirección en el paquete IP y el puerto del segmento TCP.
Para que este tipo de ataques tenga éxito el emisor del paquete falso debe de ser capaz de averiguar el
número de secuencia del paquete TCP que espera la máquina objeto del ataque. Este es un número de 32 bits, con lo cual, en principio la posibilidad de dar con el ataque es 1/2^32.
Sin embargo acaba de publicarse un
aviso donde se hace referencia a un artículo de Paul A. Watson publicado en la
CansecWest titulado
Slipping In The Window: TCP Reset Attacks, donde comenta que la probabilidad de acertar con un
número de secuencia elevado es mucho más de 1/2^32, debido a que la implementación realmente acepta una
ventana de valores.
Las conexiones TCP que duren mucho, por ejemplo las usadas en
BGP, pueden verse afectados por este problema.
Un ataque a los protocolos
BGP, compromete el rutado entre los diferentes sistemas autónomos que forman Internet y puede dar lugar a un ataque de denegación de servicios a escala mundial.