Qu'est-ce qu'une attaque de table arc-en-ciel ?
UNTable arc-en-cielest un ensemble de mots de passe précalculés et leurs valeurs de hachage correspondantes qui peuvent être utilisées pour découvrir quel mot de passe en texte clair correspond à un hachage particulier
Considérez-le comme un tableau contenant deux colonnes. La première colonne contient des hachages, tandis que la deuxième colonne contient du texte brut pour les hachages. Comme vous le savez peut-être, les mots de passe d'un système informatique ne sont pas stockés directement sous forme de texte brut, mais sont des valeurs hachées (brouillées) utilisant un cryptage unidirectionnel (fonction de hachage). Cela signifie que les valeurs de hachage ne peuvent pas être déchiffrées. Ainsi, chaque fois qu'un utilisateur saisit un mot de passe pour l'authentification, ce mot de passe est converti en valeur de hachage et comparé à la valeur de hachage déjà stockée. Si les valeurs correspondent, l'utilisateur est authentifié.
Le terme « Rainbow Tables » a été utilisé pour la première fois par Philippe Oechslin dans son article de recherche intitulé « Faire un compromis temps-mémoire cryptanalytique plus rapide », qui a exploré les compromis de performances entre le temps de traitement et la mémoire nécessaire à la cryptanalyse. L'article lui-même est basé sur des travaux de recherche antérieurs de Martin Hellman et Ronald Rivest. Le terme « Rainbow Tables » a été utilisé pour désigner la manière dont les couleurs étaient utilisées pour représenter différentes fonctions et étapes de réduction. Cela a créé un arc-en-ciel coloré avec un nombre correspondant d'itérations, d'où le nom de table arc-en-ciel.
Qu'est-ce qu'une attaque de table arc-en-ciel ?
Une attaque de table arc-en-ciel est unméthode de craquage de mot de passe qui utilise des tables arc-en-ciel pour déchiffrer les hachages de mot de passe dans une base de données. Les cybercriminels ont adopté la compilation de tables arc-en-ciel comme moyen simple de déchiffrer les mots de passe afin de leur permettre d'accéder sans autorisation aux systèmes, plutôt que de s'appuyer sur la méthode d'attaque par dictionnaire (qui consomme plus d'espace mémoire) ou sur l'attaque par force brute (qui consomme plus de puissance de calcul). Tout ce que l’attaquant doit faire est simplement de vérifier la table arc-en-ciel pour trouver le hachage du mot de passe. Les tables Rainbow sont délibérément conçues pour consommer moins de puissance de calcul au prix d'une utilisation de plus d'espace. En conséquence, elle produit généralement des résultats plus rapidement qu’un dictionnaire ou qu’une attaque par force brute, prenant souvent quelques minutes à déchiffrer là où d’autres méthodes peuvent prendre beaucoup plus de temps.
Mais ces avantages ont un prix. Les tables arc-en-ciel prennent un temps considérable à compiler à partir de zéro. En effet, tous les hachages et le travail informatique qui les accompagne doivent être calculés et stockés au préalable, même si les précompilés peuvent également être téléchargés en ligne. Mais une fois que vous avez réglé tout cela, vous disposez d’une table arc-en-ciel que vous pouvez toujours réutiliser chaque fois que vous avez besoin de déchiffrer un mot de passe.
Comment fonctionne une attaque Rainbow Table ?
Avant qu’une attaque par table arc-en-ciel puisse avoir lieu, les attaquants doivent d’abord accéder aux hachages divulgués. Par exemple, un attaquant peut trouver une vulnérabilité dans l’Active Directory ou l’application Web d’une entreprise avec une base de données de mots de passe mal sécurisée. L'attaquant vole les hachages de mot de passe et, à l'aide d'une table arc-en-ciel, il peut déchiffrer les mots de passe de chaque utilisateur du système ou de l'application en mots de passe en texte clair.
Disons que vous avez 1 500 mots de passe divulgués à déchiffrer ; dans un attaque de force brute , vous devrez calculer toutes les combinaisons de mots possibles, les comparer avec le hachage du mot de passe, et faire cela pour chaque mot de passe. Alors que dans l'attaque de la table arc-en-ciel, vous avez calculé tous les hachages une fois, et il ne vous reste plus qu'à trouver celui qui correspond.
En plus de ces techniques, des millions de hachages de mots de passe divulgués sur le dark web sont à la disposition des criminels. Une fois qu’ils ont mis la main sur ces vidages de mots de passe, la table arc-en-ciel peut aider à décrypter les hachages de mots de passe. Voilà, en un mot, comment fonctionne une attaque par table arc-en-ciel.
Comment empêcher les attaques de Rainbow Table ?
Empêcher votre système ou votre application contre les attaques de table arc-en-ciel est relativement simple. Voici les étapes simples que vous pouvez utiliser :
- Utiliser le salage de mot de passe : Le principal antidote à l’attaque de la table arc-en-ciel est le salage de mots de passe. Les sels sont simplement un moyen d'introduire du caractère aléatoire dans les hachages résultants. Un sel permet à un mot de passe de hacher de plusieurs manières. En l’absence de sels, le même mot de passe produira le même hachage à chaque fois. Par conséquent, les mots de passe hachés ne doivent jamais être stockés sans salage. Au lieu de compiler une table arc-en-ciel pour un système qui n'utilise pas de sels, des milliers de tables arc-en-ciel, voire plus, seraient nécessaires pour les systèmes utilisant des sels, en fonction de la longueur du sel. Cela rend le mot de passe plus difficile à déchiffrer.
- Utiliser MFA : Utilisation de plusieurs facteurs (MFA) ou authentification à deux facteurs (2FA) Cela implique ce que vous êtes (biométrie) et ce que vous avez (jeton), par exemple, ce qui rend difficile l'accès à votre compte avec un simple mot de passe. Cela rend impossible pour un attaquant d’utiliser efficacement une attaque de table arc-en-ciel.
- Évitez les algorithmes de hachage obsolètes : les attaquants recherchent des applications et des serveurs à l'aide d'algorithmes de hachage de mot de passe obsolètes tels que MD5 et SHA1 ; ou des hachages qui ne contiennent pas de sels. Notamment, les hachages LM et NT de Windows n'incluent pas de sels, ce qui les rend particulièrement vulnérables aux attaques arc-en-ciel. Si votre application utilise ces algorithmes faibles, votre risque d’attaques par table arc-en-ciel augmente considérablement.
- Optez pour le sans mot de passe : s’il n’y a pas de hachage de mot de passe à voler, il n’y aura pas d’attaques arc-en-ciel en premier lieu. Malheureusement, les utilisateurs trouveront toujours des moyens d’utiliser des mots de passe faibles. Ils difficulté à mémoriser des mots de passe forts et finissons par les écrire et les réutiliser. Les mots de passe faibles sont faciles à déchiffrer et rendent l'organisation vulnérable aux violations de données. Se passer de mot de passe est un moyen sûr d’éliminer la menace d’une attaque arc-en-ciel.
Les attaques Rainbow Table sont-elles toujours une menace ?
Certains experts en sécurité affirment que les tables arc-en-ciel sont devenues obsolètes à cause des méthodologies modernes de craquage de mots de passe. Au lieu de cela, la plupart des attaquants utilisent désormais des méthodes plus avancées de craquage de mot de passe basées sur le processeur graphique (GPU).
Une batterie de GPU de taille moyenne peut facilement recréer une table arc-en-ciel en quelques secondes. Cela signifie que coder ces mots de passe dans une table arc-en-ciel n’aurait pas beaucoup de sens. De plus, la plupart des mots de passe sont salés de toute façon, ce qui signifie que nous aurions besoin de tables arc-en-ciel pour chaque valeur de sel, et pour les sels plus importants, cela est totalement peu pratique. Bitcoin et d’autres mineurs de crypto-monnaie ont exploité la technologie GPU pour calculer les hachages destinés à l’agriculture Bitcoin. Il existe des outils existants qui peuvent exploiter la technologie GPU pour décrypter potentiellement les hachages de mots de passe. Par exemple, le cluster GPU basé sur Linux a été utilisé pour pirater 90 % des 6,5 millions fuite de hachages de mots de passe LinkedIn en 2012.
Néanmoins, les tables arc-en-ciel ne constituent peut-être pas la plus grande menace pour les organisations aujourd’hui. Néanmoins, ils constituent certainement une menace et doivent être pris en compte et pris en compte dans le cadre d’une stratégie de sécurité globale.