Un étude universitaire récente démontré comment il est possible, pour un attaquant, intercepter les connexions SSH de certains appareils et, avec un peu de chance, usurper l'identité de ces appareils après avoir secrètement découvert les clés RSA privées des hôtes. Ce type d'attaque, appelé « homme du milieu », permet à l'attaquant d'observer silencieusement les informations de connexion des utilisateurs et de surveiller leurs activités avec des serveurs SSH distants. SSH est couramment utilisé pour accéder et contrôler un appareil via une interface de ligne de commande, bien que d'autres utilisations existent.
Les clés RSA privées de l'hôte peuvent être obtenues en surveillant passivement les connexions des clients au serveur SSH d'un appareil vulnérable : des erreurs de calcul accidentelles ou naturelles lors de la génération de signature peuvent être observées et exploitées pour calculer la clé privée du serveur SSH, idéalement secrète.
Les erreurs naturelles font référence à celles causées par les rayons cosmiques et autres petits défauts qui altèrent les bits, tandis que les erreurs accidentelles sont dues à des algorithmes de génération de signature RSA mal mis en œuvre. Vous pourriez penser que les premiers sont si rares qu’ils ne sont pas exploitables de manière réaliste et que les seconds seraient déjà connus, mais soyez assuré qu’en surveillant suffisamment de connexions SSH à un serveur SSH vulnérable, vous finirez par voir une connexion exploitable.
Il est important de noter que les bibliothèques de logiciels OpenSSL et LibreSSL, et donc OpenSSH, ne sont pas connues pour être vulnérables à cette méthode de déduction de clé. Cela signifie, à notre avis, que la grande majorité des appareils, serveurs et autres équipements sur Internet ne sont pas menacés, et qu'il reste certains appareils de l'Internet des objets et équipements embarqués similaires susceptibles d'être attaqués. Cela n'affecte que les clés RSA.
L'étude a été menée par Keegan Ryan, Kaiwen He, George Arnold Sullivan et Nadia Heninger de l'Université de Californie à San Diego (Kaiwen He est également au MIT). La technique que l'équipe utilise pour discerner les clés RSA privées découle des recherches sur le TLS menées par Florian Weimer en 2015 et des travaux de 2022 de certains des auteurs de l'article de San Diego, ainsi que de recherches remontant aux années 90.
Thomas Ptacek, un expert d'Infosec, a partagé ici un résumé du document clé du RSA, pour une explication facile à comprendre du problème. Merci également à Dan Goodin, ancien journaliste du Register, qui a rapporté le document via Ars Technica.
Lorsqu'un client se connecte à un serveur SSH vulnérable, lors de ses négociations pour établir des communications sécurisées et cryptées, le serveur génère une signature numérique que le client vérifie pour s'assurer qu'il parle au serveur qu'il attend.
Cette génération de signature peut être interrompue de manière aléatoire ou accidentellement, comme décrit ci-dessus, afin que des algorithmes intelligents puissent déduire de la signature erronée la clé RSA privée du serveur, utilisée dans la génération de signature. Une contre-mesure consiste à s’assurer que la signature est correcte avant de la délivrer au client ; OpenSSL et LibreSSL le font déjà.
Les auteurs de l'étude ont déclaré :
Nous démontrons qu'un attaquant passif peut obtenir de manière opportuniste des clés RSA privées d'hôte à partir d'un serveur SSH qui subit une erreur naturelle lors du calcul de la signature. Auparavant, on pensait que cela n'était pas possible pour le protocole SSH car la signature incluait des informations telles que le secret partagé Diffie-Hellman qui ne seraient pas disponibles pour un observateur passif du réseau. Nous montrons que pour les paramètres de signature couramment utilisés pour SSH, il existe une attaque de grille efficace pour récupérer la clé privée en cas d'échec de signature. Nous fournissons une analyse de sécurité des protocoles SSH, IKEv1 et IKEv2 dans ce scénario et utilisons notre attaque pour découvrir indépendamment des centaines de clés compromises dans le monde entier à partir de différentes implémentations vulnérables.
Un adversaire passif peut surveiller silencieusement les connexions légitimes sans risque d'être détecté jusqu'à ce qu'il observe une signature défectueuse qui expose la clé privée. L'attaquant peut alors activement et indétectable usurper l'identité de l'hôte compromis pour intercepter des données sensibles.
Les chercheurs ont déclaré avoir examiné Internet et examiné les données d'analyse SSH précédemment collectées pour mesurer la prévalence des signatures vulnérables, et ont déclaré que leur ensemble de données d'environ 5,2 milliards d'enregistrements SSH, couvrant plus de sept ans d'observations, contenait plus de 590.000 XNUMX signatures RSA invalides.
Utiliser le leur technique de récupération de clé de réseau les universitaires ont déclaré que plus de 4.900 189 de ces signatures défectueuses ont révélé la factorisation de la clé publique RSA correspondante, qu'ils ont utilisée pour dériver les clés privées RSA pour XNUMX de ces clés publiques.
Au cours de leurs recherches, les auteurs ont découvert quatre fabricants dont les produits étaient vulnérables à ce type d'enquête clé : Cisco, Zyxel, Hillstone Networks et Mocana. Les chercheurs ont révélé le problème à Cisco et à Zyxel et ont noté que les deux fournisseurs avaient « rapidement enquêté ».
Cisco a déterminé que ses logiciels ASA et FTD avaient résolu le problème en 2022, et avant la publication du document, il « enquêtait sur les mesures d'atténuation » pour les logiciels IOS et IOS XE.
Pendant ce temps, Zyxel a conclu que la faille affectait uniquement son micrologiciel en fin de vie et qu'il avait alors commencé à utiliser OpenSSL non vulnérable. Les chercheurs affirment qu'ils n'ont pas pu contacter Hillstone Networks et Mocana et ont plutôt renvoyé le problème au centre de coordination du CERT.
Une implémentation de serveur SSH se déclarant « SSH-2.0-SSHD » est également considérée comme vulnérable, ce qui pourrait être utilisé par certaines applications Java au niveau de l'entreprise. Étant donné que la technique de déduction de clé tourne autour de PKCSv1.5, les DNSSEC utilisant les signatures PKCSv1.5-RSA peuvent également être menacés.
Ils ont également noté que l’ensemble de données de signatures dans les connexions IPsec n’était pas suffisamment volumineux pour conclure si ce protocole est vulnérable à une telle fuite de clé : «Compte tenu de la rareté des failles de signature vulnérables, nous ne sommes pas en mesure de tirer de grandes conclusions sur les implémentations IPsec à partir de nos données et pensons que cette question mérite une étude plus approfondie. »