Qu'est-ce qu'une attaque arc-en-ciel? [fermé]

je lisais quelques articles sur les sels et les mots de passe et quelques personnes mentionnaient des attaques arc-en-ciel. Quel est exactement un arc-en-ciel d'attaque et quelles sont les meilleures méthodes pour l'empêcher?

52
demandé sur AstroCB 2009-06-18 17:49:05

7 réponses

l'article de wikipedia est un peu difficile à comprendre. En un mot, vous pouvez penser à une Table arc-en-ciel comme un grand dictionnaire avec des hachures pré-calculées et les mots de passe à partir de laquelle ils ont été calculés.

la différence entre les tables Rainbow et les autres dictionnaires réside simplement dans la méthode de stockage des entrées. La table Rainbow est optimisée pour les hachages et les mots de passe, ce qui permet d'optimiser l'espace tout en maintenant une bonne recherche vitesse. Mais en substance, c'est juste un dictionnaire.

Lorsqu'un attaquant vous vole une longue liste de mots de passe hashés, il peut rapidement vérifier si l'un d'eux sont dans la Table arc-en-ciel. Pour ceux qui sont, la Table arc-en-ciel contiendra également quelle chaîne de caractères ils ont été hachés.

bien sûr, il y a juste trop de hashs pour les stocker tous dans une Table arc-en-ciel. Donc si un hachage n'est pas dans la table particulière, le hacker n'a pas de chance. Mais si vos utilisateurs utilisent mots anglais simples et vous les avez hachés juste une fois, il y a une grande possibilité qu'une bonne table arc-en-ciel contiendra le mot de passe.

60
répondu Vilx- 2009-06-22 06:23:16

c'est quand quelqu'un utilise une table arc-en-ciel pour cracker les mots de passe.

Si vous êtes inquiet à ce sujet, vous devez utiliser Sel . Il y a aussi une question de superposition de pile qui pourrait vous aider à comprendre le sel un peu mieux que Wikipedia...

15
répondu Zifre 2017-05-23 11:54:39

Ceci est un article utile sur les Tables arc-en-ciel pour le laïc. (Ne suggère pas que vous êtes un profane, mais c'est bien écrit et concis.)

9
répondu Kieran Hall 2009-06-18 13:54:00

en retard à la fête, mais je savais aussi que les tables arc-en-ciel étaient une méthode d'attaque sur les mots de passe hachés/Non balancés. Cependant, sur Twitter récemment http://codahale.com/how-to-safely-store-a-password / a été partagé et dépend de vos besoins et préoccupations.. vous ne pouvez pas être en mesure de saler votre façon de stockage de mot de passe en toute sécurité.

j'espère que c'est instructif pour vous.

2
répondu fergjo 2011-06-10 13:25:16
1
répondu Dana Holt 2009-06-18 13:52:41

D'une manière générale, vous cryptez un grand nombre de chaînes de caractères court-texte possibles (c.-à-d. pour les mots de passe), et stocker les valeurs cryptées à côté du texte clair. Cela rend (relativement) simple de simplement chercher le plaintext lorsque vous avez la valeur cryptée.

ceci est le plus utile pour les hachures de mot de passe faibles et/ou non salées. Un exemple populaire est le LAN Manager hash , utilisé par les versions de Windows jusqu'à XP pour stocker l'utilisateur les mots de passe.

notez qu'une table arc-en-ciel pré-calculée pour quelque chose d'aussi simple que le hachage LM prend beaucoup de temps CPU pour générer et occupe une bonne quantité d'espace (de l'ordre de 10s de gigaoctets IIRC).

1
répondu Colin Pickard 2009-06-18 14:04:01

les tables arc-en-ciel permettent essentiellement à quelqu'un de stocker un grand nombre de hash précalculés faisabilité.

cela rend facile de casser vos mots de passe hachés, car au lieu d'effectuer un tas de fonctions de hachage, le travail a déjà été fait et ils ont pratiquement juste à faire une recherche de base de données.

La meilleure protection contre ce type d'attaque consiste à utiliser un sel (caractères aléatoires) dans votre mot de passe. i.e. au lieu de stocker md5(mot de passe), le magasin de md5(mot de passe + sel), ou encore mieux md5(sel + md5(mot de passe)).

car même avec les tables arc-en-ciel, il va être presque impossible de stocker tous les hash salés possibles.

BTW, évidemment vous devez stocker votre sel avec votre hash afin que vous puissiez authentifier l'utilisateur.

1
répondu Jonathan Maddison 2009-06-18 14:08:24