SSH (Secure shell) et la communauté Unix entretiennent de bonnes relations en matière de sécurité. SSH est un ensemble de programmes et de protocoles qui permet d’établir des sessions sécurisées entre deux hôtes. Il offre des mécanismes de sécurité pour les connexions à distance, le transfert de fichiers, la transmission de trafic TCP-IP ainsi que pour la plupart des commandes à distance du système X/Window. SSH remplace les commandes r (rcp, rsh, rlogin…) de BSD et Telnet qui, comme chacun sait, laissent passer les données en clair et, notamment, le mot de passe. Il peut automatiquement chiffrer, authentifier et éventuellement compresser les données transmises.
Une architecture en trois parties
SSH existe pour les systèmes Unix et Linux, mais aussi pour Windows et Macintosh. Des versions Open Source, à l’instar d’OpenSSH et des versions commerciales (SSH Communications Security et F-Secure), sont à la disposition des utilisateurs.SSH 2 présente trois composantes principales. Premièrement, le protocole de la couche transport fournit l’authentification du serveur, la confidentialité et l’intégrité avec le PFS (Perfect forward secrecy). PFS, appelé également Publickey forward secrecy, indique que la compromission d’une clé privée, après une session donnée, ne compromet pas les sessions précédentes. Si votre clé privée tombe et qu’un pirate a capturé les messages chiffrés déjà envoyés, il ne pourra les décrypter. Deuxièmement, le protocole d’authentification utilisateur identifie le client auprès du serveur. Troisièmement, le protocole de connexion gère le multiplexage du tunnel chiffré en plusieurs canaux logiques. L’architecture de SSH fait l’objet d’un draft de l’IETF publié le 20 juillet dernier. C’est alors que le travail de trois chercheurs de l’université de Berkeley ?” Dawn Xiaodong Song, David Wagner et Xuqing Tian ?” vient bousculer cet ordonnancement. Il montre comment des défauts anodins peuvent conduire à des problèmes beaucoup plus sérieux. Leur projet, intitulé Timing Analysis of Keystrokes and Timing Attacks on SSH, a été financé en partie par la Commission de recherche de la défense américaine (Dapra). Notons que les failles démontrées peuvent s’appliquer à d’autres protocoles de chiffrement.
La démonstration par un modèle plutôt ardu
Selon eux, SSH comporte deux faiblesses qui peuvent être exploitées par un pirate pour obtenir le mot de passe d’un utilisateur. Première faiblesse : dans le cas d’un chiffrement par bloc (ce qui est le cas avec Idea ou Triple DES, notamment), les paquets transmis le sont par tranches de 8 octets, ce qui a pour conséquence de révéler, approximativement, la taille des données originales. Seconde faiblesse : en mode interactif, chaque touche individuelle qu’un utilisateur tape est envoyée sur la machine distante dans un paquet IP séparé, immédiatement après que la touche du clavier est pressée (à l’exception des touches de type CTRL ou MAJ). Cette propriété permettra au pirate d’apprendre la longueur précise du mot de passe. Le temps qu’un système d’exploitation met pour transmettre le paquet IP une fois la touche pressée est, en règle générale, négligeable comparé au délai entre deux touches de clavier frappées. D’où la possibilité de connaître exactement le temps écoulé entre deux touches frappées à partir des temps d’arrivée des paquets.Pour parvenir à démontrer leur théorie, les chercheurs ont développé un modèle caché de Markov (HMM, Hidden markov model) et un algorithme de prédiction de séquences de touche, ce qui, avouons-le, n’est pas à la portée du premier venu. Ils affirment pouvoir prévoir les séquences de touches en s’appuyant sur les informations temporelles entre les frappes. Ils ont bâti un système d’attaque, baptisé Herbivore, servant à récupérer les mots de passe du réseau en surveillant les sessions SSH. En récupérant ces informations de frappe au clavier, Herbivore accélère la recherche des mots de passe jusqu’à un facteur 50. Pour Dan Ingevaldson, responsable d’une des équipes de la X-Force chez Internet Security Systems, les attaques statistiques sur SSH font partie du décor.“Il est important de noter que les techniques employées par cette équipe sont nouvelles. Elles sont théoriquement possibles mais complexes à réaliser en dehors d’un environnement contrôlé. Il existe d’autres vulnérabilités plus simples à exploiter…”, souligne Dan Ingevaldson.
Des attaques à la mise en ?”uvre complexe
“L’analyse de Berkeley est exacte mais sa mise en ?”uvre est lourde, confirme Renaud Bidou, fondateur et directeur des opérations d’Intexxia, une firme spécialisée dans la sécurité. Et d’ajouter : À l’heure où SSH 3.0 vient d’être lancé, on retrouve surtout en production les versions 1 et 2 de SSH. Passer à une nouvelle implémentation n’est pas neutre et nécessite des adaptations. On risque de voir pendant longtemps des failles s’appuyant sur de vieilles implémentations de SSH non mises à jour.”
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.