La réponse de Iain est généralement correcte, mais nécessite un peu d'explication pour expliquer pourquoi l'attaque serait difficile à exécuter.
TCP utilise une combinaison de drapeaux basés sur les bits et de compteurs sur 32 bits, appelés numéros de séquence et d'acquittement, pour piloter la machine d'état qui suit la progression d'une connexion TCP tout au long de sa vie. Comprendre comment ces deux compteurs sur 32 bits interviennent dans le handshake à trois voies qui précède le transfert des données de charge utile dans chaque connexion TCP clarifiera l'impraticabilité des attaques utilisant des adresses IP source falsifiées.
Lorsqu'un client initie une connexion TCP avec un serveur distant, il envoie un segment TCP avec le bit SYN activé et un numéro de séquence initial choisi de manière aléatoire. Le serveur distant répond avec un segment TCP avec à la fois les bits SYN et ACK activés, un numéro de séquence initial choisi de manière aléatoire, et un numéro d'acquittement égal au numéro de séquence initial du client plus 1. Enfin, le client répond avec un segment TCP avec le bit ACK activé, un numéro de séquence égal au numéro de séquence initial qu'il a envoyé plus 1, et un numéro d'acquittement égal au numéro de séquence initial du serveur distant plus 1.
Lorsqu'un attaquant falsifie des datagrammes IP en utilisant une adresse IP source d'un autre hôte, il est généralement le cas que l'attaquant ne reçoit pas les réponses à tout paquet qu'il pourrait envoyer. Dans un tel scénario, l'attaquant dispose, en effet, d'un canal de communication à sens unique vers le serveur distant. En examinant le flux de paquets dans le handshake TCP, il serait nécessaire que l'attaquant prédise le numéro de séquence initial que le serveur distant va générer dans sa réponse SYN/ACK afin de répondre avec le bon numéro d'acquittement dans la réponse ACK pour compléter le handshake à trois voies. L'attaquant doit deviner correctement un numéro sur 32 bits pour que l'attaque fonctionne.
Aujourd'hui, ce type d'attaque est totalement impraticable. Dans le passé, cependant, quelques attaques très médiatisées ont utilisé cette méthode. C'était possible car, dans le passé, certains systèmes d'exploitation avaient des numéros de séquence initiaux très prévisibles. (Vous pourriez trouver le document de Michal Zalewski sur Les Attracteurs Étranges et L'Analyse des Numéros de Séquence TCP/IP - Un An Plus Tard une lecture intéressante, en termes de décrire la prévisibilité des numéros de séquence initiaux de divers systèmes d'exploitation.)
1 votes
Connexe serverfault.com/questions/90725/…