CVE-2004-0230 — deviner les numéros de séquence TCP et injecter les premiers paquets

CVE-2004-0230 — deviner les numéros de séquence TCP et injecter les premiers paquets

30210
Created On 09/26/18 13:44 PM - Last Modified 06/01/23 07:13 AM


Resolution


TCP, lors de l'utilisation d'une grande taille de fenêtre, permet aux attaquants distants de deviner les numéros de séquence et de provoquer un déni de service (perte de connexion) aux connexions TCP persistantes en injectant à plusieurs reprises un paquet TCP RST, en particulier dans les protocoles qui utilisent de longue durée de vie connexions, telles que BGP.

 

Sources :

http://CVE.mitre.org/cgi-bin/cvename.cgi?Name=CVE-2004-0230

http://www.RFC-base.org/txt/RFC-5961.txt

 

Pour que l'attaque réussisse, la TVD doit être dans la fenêtre de réception valide. L'attaquant tenterait de forger de nombreux segments de la TVD pour tenter de couvrir l'espace des fenêtres possibles en mettant un paquet dans chaque fenêtre potentielle. Pour ce faire, l'attaquant doit avoir ou deviner plusieurs éléments d'information:

 

  • 4-Tuple (adresse IP et port TCP pour les deux côtés de la connexion).
  • Numéro de séquence qui sera utilisé dans la TVD.
  • Taille de fenêtre que les deux points de terminaison utilisent. Cette valeur n' a pas à être la taille exacte de la fenêtre car une plus petite valeur utilisée au lieu de la bonne va juste provoquer l'attaquant de générer plus de segments avant de réussir dans ce méfait.   Souvent , l'attaquant, avec un certain degré de certitude (connaissant l'application qui est attaquée), peut arriver à une approximation très proche de la taille réelle de la fenêtre en cours d'utilisation sur la connexion.
  • La fenêtre de réception correspond au nombre d'octets qu'un expéditeur peut transmettre sans recevoir d'accusé de réception.

 

Après avoir assemblé les informations ci-dessus, l'attaquant commence à envoyer des segments TCP usurpés avec le bit RST et un numéro de séquence TCP deviné.  Chaque fois qu'un nouveau segment RST est envoyé, le nombre de séquences est incrémenté par la taille de la fenêtre.

 

Chaque application a le contrôle d'un certain nombre de facteurs qui affectent considérablement la probabilité d'une attaque d'usurpation réussie.  Ces facteurs comprennent:

 

  • Taille de la fenêtre
  • Numéro de port du serveur
  • Numéro de port client

 

En d'autres termes, le nombre moyen de tentatives d'injecter un segment RST est (2 ^ 31/Window) plutôt que 2 ^ 31 (2 ^ 31 = 2147483648/32 768 = 65536). Plus la fenêtre est grande, moins il y aura de suppositions.

 

En remplaçant les numéros dans cette formule, nous voyons que pour une taille de fenêtre de 32 768, une moyenne de 65 536 paquets doivent être transmises afin de «spoof» un segment TCP qui est acceptable pour un récepteur TCP.  Une taille de fenêtre de 65 535 réduit ce même plus loin à 32 768 paquets.  Aux bandes passantes d'accès d'aujourd'hui, une attaque de cette taille est faisable.

 

Avec des augmentations de bande passante à la maison et au bureau, il ne peut être prévu que les valeurs pour les tailles de fenêtre par défaut continuera à augmenter pour mieux profiter de la bande passante nouvellement disponible.

 

Une connexion TCP qui ne dure que quelques paquets brefs, comme c'est souvent le cas pour le trafic Web, ne serait pas soumis à une telle attaque, car la connexion peut ne pas être établie assez longtemps pour un attaquant de générer suffisamment de trafic. Toutefois, certaines applications, telles que BGP, sont jugées potentiellement les plus touchées par cette vulnérabilité. BGP s'appuie sur une session TCP persistante entre les pairs BGP. La réinitialisation de la connexion peut entraîner une certaine indisponibilité en raison de la nécessité de reconstruire les tables de routage et le battement d'itinéraire. Pour les applications qui peuvent utiliser l'option TCP MD5, telles que BGP, cette option rend les attaques décrites dans cette spécification effectivement impossible.

 

L'atténuation des menaces de la RFC 5961 a été mise en œuvre dans Pan-OS 6.0.0



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000CllyCAC&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language