Je travaille pour une entreprise qui compte environ 16 000 employés. Périodiquement, notre vice-président des TI envoie un bulletin d'information avec des "conseils techniques" et des trucs informatiques divers. Le thème du bulletin de cette semaine était "la sécurité des mots de passe". Le paragraphe introductif a retenu mon attention:
Nous venons de déchiffrer tous les mots de passe des utilisateurs utilisés pour voir si les employés utilisent des mots de passe forts. Nous avons utilisé une combinaison d'outils de force brute, rcracki, hashcat/oclHhashcat et john-the-ripper pour décrypter les mots de passe.
Cela a été suivi d'un bulletin d'information typique sur les bonnes pratiques de mot de passe: n'utilisez pas de mots du dictionnaire; assurez-vous d'utiliser des casse/symboles mixtes; n'écrivez pas votre mot de passe sur un autocollant jaune près de votre moniteur; etc...
Maintenant, je ne suis pas un génie de la cryptographie, mais j'étais sceptique quant à l'affirmation selon laquelle ils avaient "décrypté tous les mots de passe des utilisateurs". Je peux croire qu'ils ont peut-être exécuté tous les hachages à travers leurs outils et "décrypté" une grande partie d'entre eux, mais est-il vraiment raisonnable qu'ils l'auraient les ressources informatiques pour prétendre les avoir crackées toutes ? (BTW, "décrypté" est-il même correct dans ce contexte?)
Je lui ai envoyé un e-mail pour lui demander s'il voulait dire qu'ils avaient exécuté tous les mots de passe via les outils de piratage, et j'ai simplement trouvé un grand nombre de mots de passe plus faibles. Cependant, il a répondu que non, ils avaient en effet décrypté TOUS les mots de passe des utilisateurs.
Je peux apprécier la leçon de sécurité qu'il essaie d'enseigner ici, mais mon mot de passe est de 8 caractères aléatoires, générés par KeePass. Je pensais que c'était plutôt bien, c'est quelque chose de similaire à Q6&dt>w}
(évidemment ce n'est pas vraiment ça, mais c'est similaire à ça).
Les outils de craquage modernes sont-ils vraiment si puissants? Ou est-ce que ce type me tire probablement la jambe au nom d'une bonne leçon de sécurité?
P.S. J'ai répondu à son e-mail lui demandant s'il pouvait me dire quels étaient les deux derniers caractères de mon mot de passe. Pas encore de réponse, mais je mettrai à jour s'il parvient à le produire!
EDIT: Certaines réponses discutent de la longueur de mon mot de passe. Notez que non seulement il prétend qu'ils ont craqué MON mot de passe (ce qui est crédible s'ils m'ont distingué), mais qu'il prétend qu'ils l'ont fait pour TOUS les utilisateurs - et nous avons bien plus de 10 000 employés !! Je ne suis pas assez naïf pour penser que cela signifie 10 000 bons mots de passe sécurisés, mais si même 1% des utilisateurs ont un bon mot de passe, c'est toujours 100 bons mots de passe sécurisés qu'ils prétendent avoir craqués!
Il y a quelques possibilités ici, dont certaines ont déjà été évoquées. N'importe lequel d'entre eux rendrait assez trivial pour votre VP (IT) d'avoir "déchiffré tous les mots de passe des utilisateurs" quelle que soit la définition qu'il utilise pour "déchiffré".
Je considère que le point 4 de cette liste est plutôt improbable, donc à moins que les trois autres ne soient vrais, il est fort possible que votre VP exagère un peu. Cependant, à moins que vous n'ayez l'oreille de quelqu'un au niveau C de votre entreprise, je doute que vous puissiez faire beaucoup pour changer quoi que ce soit, sauf la force réelle de votre propre mot de passe. À cette fin:
Le seul moyen réaliste de craquer 100% des mots de passe est de stocker des hachages LM sur Windows. Les hachages LM sont divisés en 2 morceaux de sept caractères, ce qui rend les attaques par force brute/table arc-en-ciel praticables (elles sont également insensibles à la casse pour plus de facilité). Des tables arc-en-ciel existent pour cela et c'est facilement réalisable.
En dehors de cela, toute personne possédant plus de 10 mots de passe de caractères qui ne sont pas dans un dictionnaire (ou qui peuvent être trouvés en mutant les mots du dictionnaire) ne sera pas craquée sur un système raisonnable, même avec des algorithmes faibles (par exemple md5) et sans sel. Les tableaux AFAIK Rainbow ne sont pas pratiques sur les mots de passe aussi longs (pour référence les tableaux Rainbow gratuits ont un 2,8 TB pack de hachages MD5 qui dépasse environ neuf mots de passe de caractères ( jeu de caractères pas complet).
Un point que je ferais est que si j'étais le vice-président des TI, je me concentrerais sur la suppression des hachages LM plutôt que de simplement parler aux gens des bonnes pratiques de mot de passe pour la raison même qu'il a pu récupérer 100% des mots de passe :)
"Décrypté" n'est pas le bon terme. Autrement dit, les mots de passe peuvent être chiffrés au lieu d'être hachés, mais le déchiffrement serait alors simple pour quiconque connaît la clé de chiffrement (qui est également la clé de déchiffrement ); cela n'aurait aucun sens d'appliquer des outils de craquage comme John the Ripper .
Par conséquent, votre vice-président utilise une terminologie approximative. Il est donc plausible qu'il ait pu également utiliser une syntaxe et une grammaire approximatives. Très probablement, ils ont soumis les 10k + mots de passe aux outils de craquage, et en ont cassé certains d'entre eux (une proportion suffisamment importante pour autoriser une intervention du VP, mais pas tous). Son utilisation de "tout" est juste, disons, un enthousiasme excessivement emphatique.
Maintenant, je suis prêt à croire qu'il pourrait casser la moitié des mots de passe. Il a été documenté que le ver Morris , en 1988, pouvait casser environ 10% des mots de passe existants avec un dictionnaire de moins de mille mots ...
Déchiffré n'est pas le bon mot, mais il recherchait probablement la lisibilité plutôt que la précision technique. Je suis également d'accord qu'il n'a probablement pas obtenu tous d'entre eux, mais plutôt une partie élevée.
Maintenant, votre mot de passe a un problème: 8 caractères n'est pas très long si votre entreprise utilise un hachage rapide comme MD5 ou LM. Un cracker décent basé sur GPU peut atteindre environ 50 millions de hachages MD5/sec. Si vous supposez 100 caractères imprimables sur un clavier QWERTY, cela représente un espace clé de 10 000 000 000 000 000 000 pour un mot de passe à huit caractères, ce qui correspond à un temps de craquage prévu de ~ 3,15 ans. Peu probable qu'il ait attrapé le vôtre, mais ce n'est pas particulièrement sûr.
Alternativement, il pourrait avoir une table Rainbow géante à 8 caractères pour un jeu de caractères complet, qui capturerait votre mot de passe immédiatement.
Il y a quelque chose à quoi je peux penser sur la façon dont ils les ont si vite craqués:
Quoi qu'il en soit, 8 caractères sont considérés par les normes actuelles comme suffisamment forts pour la plupart des utilisateurs normaux, mais je conseille toujours d'en utiliser au moins 12. Si nous parlons d'administrateurs système ou de personnes ayant accès à certains systèmes critiques, je conseille toujours 16. Certaines personnes considèrent cela "overkill" mais je préfère les rendre "trop" forts que trop faibles. Si vous utilisez KeePass pour protéger vos mots de passe, vous n'avez pas vraiment à vous soucier de ce qu'ils sont, car vous n'avez pas besoin de vous en souvenir de toute façon.
J'ai fait un exercice similaire chez un client (hachages Windows LM) et j'ai obtenu plus de 75% des mots de passe utilisateur avec des outils similaires mentionnés par l'affiche originale. Ce type d'attaque obtient généralement plus de 90% de mots de passe dérivés de 8 caractères humains (langue occidentale et anglaise). Plus le mot de passe est long, plus le jeu de caractères est large - plus cela devient difficile et plus le taux de réussite est faible. Chez mon client, beaucoup de mots de passe étaient de 8 caractères ou moins, ce qui m'a rendu la vie assez facile. 25% étaient longs ou contenaient des caractères absents des tables Rainbow.
Si votre vice-président des services informatiques avait dépensé de l'argent pour cela, il aurait peut-être utilisé l'une des listes de mots de passe commerciaux ou une solution SaaS qui possède de véritables énormes répertoires de tous les mots de passe disponibles pour les jeux de caractères larges (la plupart n'incluez pas £ par exemple) et si les mots de passe étaient généralement inférieurs à 10 caractères, il y a de fortes chances qu'il obtienne un taux de réussite proche de 100%.
Beaucoup de gens l'ont mentionné de manière beaucoup plus détaillée que je suis sur le point, et beaucoup d'entre eux sont techniquement corrects avec leurs options fournies (accordez une attention particulière à la réponse d'Iszi car elle est technologiquement solide et complète). Cependant, je voulais juste donner mes deux cents et dire que c'est probablement l'une des deux choses qui se produisent.
Ils stockent les mots de passe en utilisant un cryptage réversible (une option de stratégie de groupe AD), alors il utilise simplement le cryptage et il les a vraiment "décryptés". C'est une idée horrible, mais les gens le font pour l'audit des mots de passe ou pour la compatibilité avec les applications héritées.
Il ment et ils ont déchiffré la majorité, mais pas tous, les mots de passe.
Il est également possible qu'ils stockent des hachages LM; la raison pour laquelle je ne pense pas que c'est ce qu'ils font, c'est parce qu'ils auraient un grave manque de sécurité appropriée dans ce cas.
Je déchire des mots de passe tout le temps à mon travail et je dois dire que je ne les ai jamais tous déchiffrés. Je travaille pour une entreprise avec environ 50 000 employés et nous casserons généralement environ 8 000 mots de passe avec 1 heure d'effort, alias le fruit bas.
Une fois que vous avez dépassé l'étape de 1 heure d'effort, il devient exponentiellement plus difficile de déchiffrer les mots de passe (car ce sont généralement des mots non-dictionnaire complexes de longueur suffisante à ce point), donc nous nous arrêtons généralement là, sauf si nous essayons de prouver un pointer ou casser un mot de passe spécifique. La plupart des équipes de sécurité ne peuvent en aucun cas surveiller et auditer les mots de passe de chaque employé dans une grande entreprise.Nous choisissons donc les plus faciles à déchiffrer et à recréer les mots de passe sur une base trimestrielle.
Permettez-moi de dire que si votre vice-président informatique a en fait craqué 100% des mots de passe, vous avez des trous de sécurité flagrants bien au-delà de la faiblesse ou de la force relative du mot de passe en clair choisi par les utilisateurs.
Quelques possibilités:
Demandez au VP de vous montrer ce qu'il a fait pour obtenir les mots de passe en clair et les mots de passe eux-mêmes. Cela n'aurait PAS dû être aussi simple. Si vous avez un contrôle sur la fonction de hachage utilisée (ce qui signifie qu'elle n'est pas intégrée, comme pour la stratégie de groupe), j'envisagerais de passer à un hachage conçu spécifiquement pour le hachage de mot de passe, comme bcrypt ou scrypt. Ces deux fonctionnent bien car ils sont très lents, et non seulement ils sont lents maintenant, ils peuvent être configurés pour toujours être lents, en utilisant des fonctions de dérivation clés qui prennent le sel et effectuent une opération de complexité exponentielle variable dessus pour "réchauffer" "le hachage basé sur le chiffrement. BCrypt est un hachage complet, avec KDF et chiffrement intégrés; scrypt n'est que le KDF, qui peut être associé à n'importe quel cryptage sécurisé, tel que AES.
Je doute fortement qu'ils l'aient fait sans une énorme quantité de puissance de traitement (irréalisable) (pour la partie force brute, à moins qu'il ne représente qu'une petite partie de l'ensemble du processus. Un algorithme de hachage de qualité est presque impossible à casser, donc s'il le faisait "décrypter" les mots de passe, il a probablement DID doit utiliser principalement la force brute.
En outre, "décrypter" n'est pas le terme correct, décrypter implique évidemment que les mots de passe étaient une fois cryptés, et le cryptage implique une fonction bidirectionnelle. Le hachage est une fonction à sens unique - c'est-à-dire qu'il ne peut pas être rétroconçu (enfin, en quelque sorte, mais cela dépasse le cadre de cette réponse).
8 caractères ne suffisent pas! (permettez-moi d'expliquer ci-dessous)
Tout d'abord, je voudrais ajouter, pour être exact, que les mots de passe 16k peuvent tous être piratés s'ils sont hachés avec un algorithme faible. D'abord, on va casser ce qui peut même parfois être plus de la moitié d'entre eux (en fonction du QI moyen et de la négligence de vos collègues) avec une attaque par dictionnaire, puis on force le reste en utilisant des tables Rainbow (disons que c'est MD5 non salé). Cela prendra du temps, mais pas des années, à moins bien sûr que plusieurs personnes aient un mot de passe fort et très long. Cela prendra beaucoup de temps pour brutaliser, peut-être trop longtemps, mais quelles sont les chances, "la majorité intellectuelle" ne se soucie pas des bons mots de passe, et même quand ils vous aiment par exemple, ils utilisent 8 caractères. ;)
-Et retour à la longueur du mot de passe-
Bien que cela dépende beaucoup de ce que l'administrateur utilise pour hacher votre mot de passe avec
Comme par exemple, bcrypt, ou peut-être encore mieux scrypt, avec un nombre d'itérations élevé, améliorera considérablement la sécurité de tout mot de passe (acceptable).
Mais lorsque vous parlez d'une entreprise de 16 000 employés, il y a la possibilité de choses comme l'espionnage d'entreprise. Les gens qui font ces choses sont la plupart du temps très férus de technologie et auront probablement un botnet pas très grand mais toujours décent qu'ils ont acquis avec un petit virus infecté et distribué personnellement, par exemple un jeu vidéo qu'ils ont mis sur la baie des pirates.
J'ai utilisé cet exemple pour illustrer comment ils ciblent les joueurs avec cela, ce qui signifie qu'ils auront beaucoup de GPU qu'ils pourront lécher en cas de besoin .
De cette façon, le "temps de craquage prévu de ~ 3,15 ans", comme l'a suggéré Polynomial ci-dessus rapidement, est divisé par, disons, un millier d'ordinateurs avec des cartes GPU très décentes qui peuvent être léchées lorsqu'elles sont inactives.
Maintenant, votre mot de passe haché MD5 est craqué en seulement ~ 1.149 jours
(supposons donc que 1% possède un mot de passe généré aléatoirement à 8 caractères comme vous, soit 160 x 1,149 = 221,37 jours, il lui faudra donc un peu plus de six mois pour tester tous les mots de passe.)
Bien que Lucas Kauffman ci-dessus ait correctement déclaré qu'un mot de passe de 12 ou même 16 caractères est techniquement le plus approprié, je préfère moi-même une phrase de passe .
Jeff Atwood, le créateur de ce site Web, les a longtemps défendus!
Alors commencez à en utiliser un! Facile à retenir, improbable à craquer.
Peu de choses qui me dérangent dans cette histoire qui me font croire qu'il bluffe (ou alors je veux y croire)
Il existe des outils pour appliquer la politique de mot de passe au niveau de l'entreprise, il est plus rapide et moins cher de les utiliser que de casser tous les mots de passe des utilisateurs juste pour les éduquer sur l'utilisation de mots de passe meilleurs/plus sûrs
Il a dit qu'il a déchiffré les mots de passe, ce qui est un très mauvais signe, cela fait allusion au fait qu'ils utilisent un cryptage bidirectionnel et non un hachage unidirectionnel + aléatoire, par sel d'utilisateur (et une fonction de hachage lente comme bcrypt, scrypt ou PBKDF2). , il est probablement plus facile de le réparer que d'aller casser les 16 000 mots de passe. Montrer que le manque d'attention à la terminologie de la sécurité ne va pas de pair avec les compétences de pirate de rock star nécessaires pour déchiffrer 16 000 mots de passe.
Quel que soit le système que ces mots de passe protègent ne semble pas avoir de mécanisme de retard pour les tentatives infructueuses (ce qui permet des attaques par force brute), soit ils avaient accès à une base de données interne et ont contourné tous les mécanismes de verrouillage/retard, soit ils n'ont pas de telles protections sur leur système.
J'espère vraiment que votre entreprise ne gère pas l'argent des gens, n'utilise pas de processus médicaux sensibles ou quoi que ce soit qui a à voir avec la vie des gens, car c'est un paradis pour les pirates. Assurez-vous que le nom de votre entreprise reste anonyme car il ne sonne pas bien d'ici.
Quant au vice-président de l'informatique, j'espère vraiment qu'il plaisantait, mais c'est un problème 22, s'il a réussi à faire ce qu'il a fait, cela signifie seulement qu'il ne fait pas son travail correctement, et s'il ne l'a pas fait, alors il est tout simplement malhonnête et c'est tout aussi mauvais.
Avec un ensemble de Rainbow tables il est tout à fait possible qu'ils aient craqué tous les mots de passe de l'entreprise. Les tables arc-en-ciel sont des ensembles de hachages précalculés créés avant les tentatives de craquage de mot de passe qui sont utilisés pour casser le mot de passe beaucoup plus rapidement que les méthodes de force brute. rcracki est l'un des outils énumérés dans votre question qui fait exactement cela. hashcat et JtR sont des outils de force brute bien qu'ils puissent également être utilisés pour créer des tables Rainbow.
Il ne fait donc aucun doute que ce qu'il dit est tout à fait possible.
Soit dit en passant, un mot de passe à 8 caractères ne suffit pas de nos jours, utilisez au moins 9.