Terrapin - une vulnérabilité dans le protocole SSH qui vous permet de réduire la sécurité 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, qui exploite une vulnérabilité (CVE-2023-48795) dans le protocole. Un attaquant capable d'organiser une attaque MITM a la capacité, lors du processus de négociation de connexion, de bloquer l'envoi d'un message en configurant des extensions de protocole pour réduire le niveau de sécurité de la connexion. Un prototype de la boîte à outils d'attaque a été publié sur GitHub.

Dans le contexte d'OpenSSH, la vulnérabilité, par exemple, permet d'annuler la connexion pour utiliser des algorithmes d'authentification moins sécurisés et de désactiver la protection contre les attaques par canal secondaire qui recréent la saisie en analysant les délais entre les frappes sur le clavier. Dans la bibliothèque Python AsyncSSH, en combinaison avec une vulnérabilité (CVE-2023-46446) dans l'implémentation de la machine à états interne, l'attaque Terrapin nous permet de nous coincer dans une session SSH.

La vulnérabilité affecte toutes les implémentations SSH qui prennent en charge les chiffrements en mode ChaCha20-Poly1305 ou CBC en combinaison avec le mode ETM (Encrypt-then-MAC). Par exemple, des fonctionnalités similaires 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é générée.

La vulnérabilité est due au fait qu'un attaquant contrôlant le trafic de connexion (par exemple, le propriétaire d'un point sans fil malveillant) peut ajuster les numéros de séquence des paquets pendant le processus de négociation de connexion et supprimer silencieusement un nombre arbitraire de messages du service SSH. envoyé par le client ou le serveur. Entre autres choses, un attaquant peut supprimer les messages SSH_MSG_EXT_INFO utilisés pour configurer les extensions de protocole utilisées. Pour empêcher l'autre partie de détecter une perte de paquet due à un écart dans les numéros de séquence, l'attaquant lance l'envoi d'un paquet factice avec le même numéro de séquence que le paquet distant pour décaler le numéro de séquence. Le paquet factice contient un message avec l'indicateur SSH_MSG_IGNORE, qui est ignoré pendant le traitement.

Terrapin - une vulnérabilité dans le protocole SSH qui vous permet de réduire la sécurité de la connexion

L'attaque ne peut pas être menée à l'aide de chiffrements de flux et de CTR, car la violation de l'intégrité sera détectée au niveau de l'application. En pratique, seul le chiffre ChaCha20-Poly1305 est susceptible d'être attaqué ([email protected]), dans lequel l'état est suivi uniquement par des numéros de séquence de message et une combinaison du mode Encrypt-Then-MAC (*[email protected]) et les chiffres CBC.

Dans OpenSSH 9.6 et d'autres implémentations, une extension du protocole « strict KEX » est implémentée pour bloquer l'attaque, qui est automatiquement activée s'il y a une prise en charge côté serveur et côté client. L'extension met fin à la connexion à la réception de tout message anormal ou inutile (par exemple, avec l'indicateur SSH_MSG_IGNORE ou SSH2_MSG_DEBUG) reçu pendant le processus de négociation de connexion, et réinitialise également le compteur MAC (Message Authentication Code) après la fin de chaque échange de clé.

Source: opennet.ru

Ajouter un commentaire