Terrapin — une vulnérabilité dans le protocole SSH qui permet de réduire la protection de la connexion

Un groupe de chercheurs de l'Université de la Ruhr à Bochum (Allemagne) a présenté une nouvelle technique d'attaque MITM sur SSH — Terrapin, exploitant une vulnérabilité (CVE-2023-48795) dans le protocole. Un attaquant capable d'organiser une attaque MITM peut, au cours de l'établissement de la connexion, bloquer l'envoi d'un message de configuration des extensions du protocole afin de diminuer le niveau de protection de la connexion. Un prototype de l'outil permettant cette attaque a été publié sur GitHub.

Dans le contexte d'OpenSSH, la vulnérabilité permet par exemple de revenir à l'utilisation d'algorithmes d'authentification moins sécurisés et de désactiver la protection contre les attaques par canaux auxiliaires, qui reproduisent les entrées en analysant les délais entre les frappes sur le clavier. Dans la bibliothèque Python AsyncSSH, combinée avec la vulnérabilité (CVE-2023-46446) dans l'implémentation de la machine à états interne, l'attaque Terrapin permet de s'immiscer dans une session SSH.

La vulnérabilité touche toutes les implementations de SSH supportant ChaCha20-Poly1305 ou des chiffrages en mode CBC combinés avec le mode ETM (Encrypt-then-MAC). Par exemple, de telles capacités sont disponibles dans OpenSSH depuis plus de 10 ans. La vulnérabilité est corrigée dans la version actuelle d'OpenSSH 9.6, ainsi que dans les mises à jour de PuTTY 0.80, libssh 0.10.6/0.9.8 et AsyncSSH 2.14.2. Dans Dropbear SSH, le correctif a déjà été ajouté au code, mais une nouvelle version n'a pas encore été publiée.

La vulnérabilité est due au fait qu'un attaquant, contrôlant le trafic de la connexion (par exemple, le propriétaire d'un point d'accès sans fil malveillant), peut modifier les numéros de séquence des paquets lors de l'établissement de la connexion et parvenir à supprimer discrètement un nombre arbitraire de messages SSH de service envoyés par le client ou serveur. Entre autres, l'attaquant peut supprimer les messages SSH_MSG_EXT_INFO, utilisés pour configurer les extensions du protocole appliquées. Afin que l'autre partie ne détecte pas la perte d'un paquet en raison d'une rupture dans les numéros de séquence, l'attaquant initie l'envoi d'un paquet factice avec le même numéro de séquence que celui du paquet supprimé. Le paquet factice contient un message avec le drapeau SSH_MSG_IGNORE, qui est ignoré lors du traitement.

Terrapin - une vulnérabilité dans le protocole SSH, permettant de réduire la protection de la connexion.

Une attaque ne peut pas être effectuée en utilisant des flux de chiffrement et CTR, car une violation d'intégrité sera détectée au niveau de l'application. En pratique, seules les chiffrages ChaCha20-Poly1305 (chacha20-poly1305@openssh.com) sont vulnérables, car leur état n'est suivi que par les numéros de séquence des messages, et la combinaison du mode Encrypt-Then-MAC (*-etm@openssh.com) avec les chiffrages CBC.

Dans OpenSSH 9.6 et d'autres implémentations, une extension de protocole appelée « strict KEX » a été mise en œuvre pour bloquer l'attaque, qui s'active automatiquement lorsque le support est disponible côté de serveurs et client. Cette extension termine la connexion lorsqu'elle reçoit des messages anormaux ou superflus (par exemple, avec le drapeau SSH_MSG_IGNORE ou SSH2_MSG_DEBUG) pendant le processus de négociation de la connexion, et réinitialise le compteur MAC (Message Authentication Code) après chaque échange de clés.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster