Même si vous pensez que les tables Rainbow sont des meubles aux couleurs éclectiques, ce ne sont pas celles dont nous allons parler. Les tables Rainbow dont nous parlons sont utilisées pour cracker les mots de passe et sont un autre outil dans l’arsenal des pirates informatiques qui ne cessent de se développer. Comment quelque chose avec un nom aussi mignon et câlin peut-il être si nocif ?
Le concept de base des tables Rainbow
Je suis un méchant qui vient de brancher une clé USB sur un serveur ou un poste de travail, de la redémarrer et d’exécuter un programme qui copie le fichier de la base de données de sécurité contenant les noms d’utilisateur et les mots de passe sur ma clé USB. Les mots de passe dans le fichier sont cryptés pour que je ne puisse les lire. Je devrai craquer les mots de passe dans le fichier (ou au moins le mot de passe administrateur) afin de pouvoir les utiliser pour accéder au système.
A lire également : Le nom de votre réseau sans fil représente-t-il un risque pour la sécurité ?
Quelles sont les options pour craquer les mots de passe ?
Je peux essayer d’utiliser un programme de craquage de mot de passe abrupt comme Jean l’Éventreur, qui s’attaque au fichier des mots de passe, en essayant de deviner itérativement toutes les combinaisons possibles d’un mot de passe.
A lire également : La sécurisation de votre nouveau routeur sans fil
La deuxième option consiste à charger un dictionnaire de craquage de mots de passe contenant des centaines de milliers de mots de passe couramment utilisés et voir s’il y a des résultats positifs.
Ces méthodes peuvent prendre des semaines, des mois, voire des années si les mots de passe sont suffisamment forts : lorsqu’un mot de passe est « essayé » contre un système, il est « haché » par cryptage, de sorte que le mot de passe réel n’est jamais envoyé en texte clair sur la ligne de communication. Cela empêche les espions d’intercepter le mot de passe.
Le hachage d’un mot de passe ressemble habituellement à un tas d’ordures et est généralement d’une longueur différente de celle du mot de passe original. Pour vérifier un utilisateur, un système prend la valeur de hachage créée par la fonction de hachage de mot de passe sur l’ordinateur client et la compare à la valeur de hachage stockée dans une table sur le serveur.
Le hachage d’un mot de passe est une fonction à sens unique, ce qui signifie que vous ne pouvez pas déchiffrer le hachage pour voir quel est le texte clair du mot de passe. Il n’y a pas de clé pour déchiffrer le hachage une fois qu’il est créé. Il n’y a pas d' »anneau décodeur » si vous voulez.
Les programmes de craquage de mot de passe fonctionnent de la même manière que le processus de connexion. Le programme de craquage commence par prendre les mots de passe en clair, les faire passer par un algorithme de hachage, tel que MD5, puis compare le résultat du hachage avec les hachages du fichier de mots de passe volé. S’il trouve une correspondance, c’est que le programme a craqué le mot de passe. Comme nous l’avons déjà dit, ce processus peut prendre beaucoup de temps.
Entrez dans les Tables Rainbow
Les tables Rainbow sont essentiellement d’énormes ensembles de tableaux pré-calculés remplis de valeurs de hachage qui sont pré-appariés à d’éventuels mots de passe texte en clair. Les Tables Rainbow permettent essentiellement aux pirates d’inverser la fonction de hachage pour déterminer quel peut être le mot de passe en texte clair. Il est possible que 2 mots de passe différents aboutissent au même hachage. Il n’est donc pas important de savoir quel était le mot de passe original, tant qu’il a le même hachage.
Le mot de passe en clair peut même ne pas être le même mot de passe que celui créé par l’utilisateur, mais tant que le hachage correspond, peu importe quel était le mot de passe original. L’utilisation de Rainbow Tables permet de craquer les mots de passe en très peu de temps par rapport aux méthodes de force brute. Cependant, le compromis est qu’il faut beaucoup de stockage (parfois des Terabytes) pour tenir les Rainbow Tables elles-mêmes, le stockage de nos jours est abondant et bon marché donc ce compromis n’est pas aussi important que ce qui était il y a une décennie où les disques terabyte ne pouvaient être pris au meilleur vendeur local.
Les pirates peuvent acheter des tables Rainbow pré-calculées pour craquer les mots de passe des systèmes d’exploitation vulnérables tels que Windows XP, Vista, Windows 7, et des applications utilisant MD5 et SHA1 comme mécanisme de hachage de mots de passe (de nombreux développeurs d’applications Web utilisent encore ces algorithmes de hachage).
Se protéger des attaques des mots de passe par des tables Rainbow
Nous aimerions avoir de meilleurs conseils sur ce point pour tous. Nous aimerions dire qu’un mot de passe plus fort aiderait, mais ce n’est pas tout à fait vrai parce que ce n’est pas la faiblesse du mot de passe qui pose problème, c’est la faiblesse associée à la fonction de hachage utilisée pour crypter un mot de passe.
Le meilleur conseil que nous puissions donner aux utilisateurs est de rester loin des applications web qui limitent votre mot de passe à un petit nombre de caractères. C’est un signe clair de la vulnérabilité des routines d’authentification par mot de passe de l’ancienne école. La longueur et la complexité des mots de passe peuvent aider un peu, mais ce n’est pas une forme de protection garantie. Plus votre mot de passe est long, plus les Tables Rainbow doivent être grandes pour le cracker, mais un hacker avec beaucoup de ressources peut encore accomplir ceci.
Nos conseils sur la façon de se défendre contre les Tables Rainbow sont vraiment destinés aux développeurs d’applications et aux administrateurs système. Voici quelques conseils aux développeurs pour se défendre contre les attaques de Rainbow.
- N’utilisez pas MD5 ou SHA1 dans votre fonction de hachage de mots de passe.
- MD5 et SHA1 sont des algorithmes de hachage de mots de passe obsolètes.
- La plupart des tables Rainbow utilisées pour casser les mots de passe sont conçues pour cibler les applications et les systèmes utilisant ces méthodes de hachage.
- Utilisez un « sel » cryptographique dans votre routine de hachage de mots de passe.
- Ajouter un sel cryptographique à votre fonction de hachage de mots de passe vous aidera à vous défendre contre l’utilisation des tables Rainbow utilisées pour casser les mots de passe dans votre application.