Le protocole SSH, largement utilisé, est confronté à une vulnérabilité importante.
Découverte par Keegan Ryan, Kaiwen He, George Arnold Sullivan et Nadia Heninger de l’UC San Diego et du MIT, cette faille est exposée dans leur étude « Passive SSH Key Compromise via Lattices ».
Ils démontrent qu’un attaquant passif peut, en cas de défaillance lors du calcul de signature, accéder aux clés RSA privées d’un serveur SSH.
Cette méthode exploite les paramètres de signature communs à SSH.
Les chercheurs ont utilisé une attaque basée sur des réseaux (lattices) pour récupérer les clés privées suite à une faute de signature.
Leur analyse ne se limite pas à SSH : les protocoles IKEv1 et IKEv2 sont également concernés.
Des centaines de clés compromises ont été découvertes, issues de plusieurs implémentations vulnérables.
Le papier est accessible ici : https://lnkd.in/eKdpQadP
La vulnérabilité décrite dans l’article « Passive SSH Key Compromise via Lattices » implique qu’un attaquant passif sur le réseau peut exploiter des fautes naturellement survenant lors du calcul de la signature SSH pour obtenir des clés hôtes RSA privées.
Cette méthode était auparavant jugée impossible, car les signatures SSH incluent des informations telles que le secret partagé Diffie-Hellman, généralement inaccessibles aux observateurs passifs.
Cependant, l’étude montre que les paramètres de signature couramment utilisés dans SSH sont susceptibles à une attaque par réseau (lattice) efficace, permettant de récupérer la clé privée en cas de faute de signature.
La subtilité de cette vulnérabilité réside dans son exploitation des fautes de calcul de signature, qui n’étaient pas auparavant considérées comme une menace significative dans la sécurité du protocole SSH.
La méthodologie des chercheurs implique l’analyse de la sécurité des protocoles SSH, IKEv1 et IKEv2 sous ces conditions, menant à la découverte de centaines de clés compromises dans diverses implémentations indépendantes.
Mesures de remédiation :
Les implémentations devraient valider les signatures avant de les envoyer.
Par exemple, OpenSSH, l’implémentation SSH la plus couramment observée dans les données, met déjà en œuvre cette contre-mesure car elle s’appuie sur OpenSSL pour générer des signatures.
OpenSSL a inclus des contre-mesures contre les attaques de faute RSA depuis 2001.
De plus, OpenSSH a déprécié le schéma de signature ssh-rsa dans sa version 8.8, publiée en septembre 2021.
Cette dépréciation n’élimine pas l’utilisation de RSA dans son ensemble, mais vise spécifiquement le type de signature ssh-rsa qui utilise la fonction de hachage SHA-1.
À la place, elle préconise des types de signature tels que rsa-sha2-256 et rsa-sha2-512, qui utilisent la fonction de hachage SHA-2.
L’utilisation de ssh-rsa reste cependant plus courant.