Question:
Les mots de passe générés aléatoirement commençant par «a» sont-ils moins sécurisés?
lynn
2019-07-10 18:36:59 UTC
view on stackexchange narkive permalink

J'ai récemment généré un mot de passe pour un nouveau compte et les trois premiers caractères étaient "aa1".

Après avoir épuisé toutes les autres attaques, un pirate commençait à forcer brutalement. En supposant qu'ils commenceraient par "a", mon mot de passe "aa1" serait craqué plus rapidement que, disons, "ba1", et cela plus rapidement que, disons, "za1".

Ce mot de passe était très longue, donc cette question est plus théorique que pratique. (À moins que la longueur des mots de passe ne soit limitée, bien sûr ...) Mes hypothèses sont-elles correctes concernant le forçage brutal et les mots de passe?

la force brute serait probablement parallélisée, donc si vous avez 26 instances d'attaque en cours d'exécution, la première lettre minuscule de départ ne change rien, mais la question est assez intéressante :)
Cela dépend de la longueur totale et du jeu de caractères utilisés, plus le marqueur est important.Vous devez vous assurer qu'une attaque arc-en-ciel n'est pas viable, vous devriez consulter cette calculatrice de table arc-en-ciel https://www.tobtu.com/rtcalc.php
* "Mes hypothèses sur le forçage brutal et les mots de passe sont-elles correctes ..." * - Vous devez probablement fournir plus de contexte.Un attaquant passerait probablement par une [liste de mots de passe] (https://github.com/danielmiessler/SecLists) avec 1 ou 10 millions de mots de passe.En cas d'échec pour le compte d'utilisateur actuel, ils passeraient au compte d'utilisateur suivant et utiliseraient à nouveau la même liste de mots de passe.Voir aussi * [Engineering Security] de Peter Gutmann (http://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf) *.
Si tel est le cas, utilisez simplement «zzzzzzzzzzzzzzzzzzzzzzzz» comme mot de passe le plus sûr.
La réponse est évidemment «oui».Vous avez réduit l'espace de recherche.
@user207421 techniquement cela dépend.S'ils remplacent les trois premiers caractères de leur mot de passe par «zzz», ils réduisent l'entropie.S'ils ont ajouté `zzz` au mot de passe qu'ils généreraient autrement, ils n'ont pas augmenté l'entropie mais ont une longueur accrue, donc une petite victoire.Aucun des deux changements n'aura d'importance si quelqu'un essaie de déchiffrer le mot de passe ...
le "try-order" de la plupart des crackers de mot de passe que j'ai encore vu est "aaa", "baa", "caa", ..., "zaa", "aba", "bba", donc cela vaut la peineregardez également les derniers caractères de votre mot de passe.vous ne savez pas quel outil un attaquant pour obtenir votre mot de passe.mais probablement tous les outils commencent par «a», «0» ou quelque chose comme ça.ainsi votre mot de passe peut être un peu plus sûr si vous ajoutez simplement un ou deux caractères "du milieu" (par exemple `m`) au début et à la fin de votre mot de passe pour éviter le problème que vous décrivez.
Vous supposez qu'une attaque commencera par «a» peut être incorrecte.
Vous supposez qu'une attaque par force brute est nécessairement séquentielle, mais nous savons tous que si vous limitez un processus à un seul thread d'exécution, vous ne pouvez obtenir que cela.Un attaquant qui effectue une attaque bruteforce utilisera plusieurs threads.Lors de l'utilisation de plusieurs threads, pourquoi diviseraient-ils le travail afin que le mot de passe soit sélectionné séquentiellement?Il devient même compliqué d'envoyer efficacement le prochain mot de passe à un nouveau thread ... Beaucoup plus simple de donner à thread1 tous les mots de passe commençant par `a..d`, thread2 tous les mots de passe commençant par` e..h` etc.
Si tout le monde sait que les mots de passe commençant par «a» sont moins sûrs, dans un monde rationnel, les gens ne les utiliseront jamais.Par conséquent, les mots de passe commençant par «b» sont désormais moins sécurisés, pour la même raison.Rincez et répétez.Conclusion: il est impossible pour un mot de passe sécurisé d'avoir un premier caractère du tout :)
C'est pourquoi tout attaquant rationnel force les mots de passe en * inverse: * commencez par `aaaaaaaa` comme d'habitude, mais plutôt que` aaaaaaab` ensuite, faites `baaaaaaa`.;)
@alephzero était d'accord.La seule solution rationnelle pour sécuriser votre mot de passe est de ne pas avoir de premier caractère!
Il est clair que "acorrecthorsebatterystaple" est plus sûr que "correcthorsebatterystaple" mais pas aussi sûr que "manycorrecthorsebatterystaples"
pour toute fissuration non triviale, l'ordre de recherche n'est pas linéaire.mais, il me vient à l'esprit que vous pourriez essayer de créer intentionnellement votre mot de passe pour qu'il incline vers des séquences de caractères moins courantes afin de revenir "plus tard" dans la recherche, en supposant que l'attaquant essaiera d'optimiser sa recherche pour en trouver plusles mots de passe communs en premier.mais c'est un jeu sauvage et inutile, avec tous les gains potentiels possibles (très douteux) probablement inférieurs à l'augmentation de la longueur d'un mot de passe aléatoire même d'un seul caractère.
@dn3s A eu la même idée et a écrit une réponse à ce sujet, mais n'hésitez pas à ajouter!https://security.stackexchange.com/a/213381/15756
Une fois, j'ai dû utiliser le cadenas à combinaison de force brute (mon propre).J'ai commencé à 4-0-0 parce que j'étais plus susceptible de rencontrer ma combinaison plus rapidement (la nature humaine étant d'éviter les faibles nombres pour ce genre de raison).Beaucoup plus tard, j'ai finalement frappé 3-9-8 et l'ai ouvert ...
@IMil OP a posé une question très authentique, ne vous amusez pas.C'est vraiment mauvais.
@CarlWitthoft Paradoxalement, «nocorrecthorsebatterystaples» est encore plus sûr.
Neuf réponses:
reed
2019-07-10 20:52:55 UTC
view on stackexchange narkive permalink

Il semblerait que cela dépende de la façon dont l'attaquant va forcer brutalement votre mot de passe. Cependant, à mon avis, cela n'a pas d'importance à la fin.

Un attaquant sérieux ne partira jamais du début dans l'ordre alphanumérique, de aaaaaaaa à 99999999 , à moins qu'ils ne sachent qu'ils peuvent le faire dans un délai raisonnable. Si cela leur prend mille ans, pourquoi devraient-ils utiliser cette méthode, sachant qu'ils devront nécessairement s'arrêter à, disons, cccccccc ? Mais si l'attaquant sait qu'il peut essayer toutes les possibilités dans un délai raisonnable, peu importe que votre mot de passe soit parmi les premières combinaisons ou parmi les dernières, car à la fin, ils le trouveront quand même (dans un délai raisonnable ).

La plupart des mots de passe sont encore faibles (par exemple, le nom de votre chien, plus peut-être votre date de naissance, etc.) et les attaquants n'aiment pas perdre trop de temps, encore moins des années pour déchiffrer les mots de passe. Donc, ce que les attaquants font normalement, c'est utiliser des dictionnaires et des modèles. Ils essaieront d'abord des mots de passe tels que: pass123 , 123pass , john90 , john91 , John92 , JOHN93 , 123456 , l1nux4dm1n , etc. Si chaque tentative avec les dictionnaires et les modèles échoue, ils peuvent continuer et supposer que le mot de passe semble vraiment aléatoire. Combien de temps faut-il pour essayer tous les mots de passe possibles? Si cela peut être fait dans un délai raisonnable, ils peuvent tous les essayer (par exemple de aaaaaaaa à 99999999 ). Sinon, si l'attaquant suppose qu'il ne pourra jamais tous les essayer, il pourrait essayer de forcer brutalement le mot de passe avec des suppositions aléatoires (chaînes aléatoires, non ordonnées): 12hrisn589sjlf , 9f2jcvew85hdye , otnwc739vhe82b , etc. Si l'attaquant a de la chance, il pourrait trouver le mot de passe, tôt ou tard. Cependant, si le mot de passe est trop fort, de sorte qu'il leur faudrait trop d'années pour le deviner, ils feraient mieux d'abandonner ou de penser à une attaque alternative (phishing, surf à l'épaule, keyloggers, etc.)

En effet, je pense que c'est ce à quoi cela se résume vraiment - le pirate est bien conscient de ce que son taux a, et donc des mots de passe qu'il peut déchiffrer dans un laps de temps raisonnable.Bruteforcer l'espace de recherche complet est soit possible dans un laps de temps raisonnable, soit ce n'est pas le cas, auquel cas cela ne dérangera pas et cela n'aura pas d'importance.
.... à moins que le générateur de mots de passe aléatoires ne propose 'aardvark'
Hmm ... cela pourrait signifier que pré / post-attendre une exécution des mêmes chiffres juste pour allonger le mot de passe sans augmenter réellement l'entropie pourrait le rendre plus sûr en le retirant de la plage de «temps raisonnable»?
@SamuelÅslund, si «banana123» est considéré comme peu sûr, «banana123zzzzzzzzzzzzzz» est certainement plus sûr, mais il est difficile de dire exactement à quel point cela va aider.Certains attaquants peuvent essayer d'ajouter ou de préfixer des éléments aux modèles de base (à la fin, ajouter ou ajouter des éléments sera toujours un modèle), mais il n'y a aucun moyen de le savoir.La meilleure pratique, et la seule dont la sécurité est garantie, consiste à utiliser des mots de passe qui ont une véritable entropie et ne reposent pas sur des astuces, des mnémoniques et la réutilisation des mots de passe.
L'entropie @SamuelÅslund concerne le chaos, pas les plages de nombres bruts.La meilleure façon dont je l'ai entendu est de prendre votre mot de passe et de noircir un élément à la fois (ainsi Banana deviendrait Ban-na-> B-n-na).Combien pouvez-vous en emporter avant de pouvoir deviner les pièces retirées avec un degré élevé de certitude?C'est la prévisibilité des modèles.Et plus votre modèle est prévisible, moins il contient d'entropie (chaos).Ce manque d'entropie réelle est la raison pour laquelle le texte peut être si bien compressé dans les archives.(Et pourquoi les caractères aléatoires sans relation les uns avec les autres contiennent plus d'entropie que les mots de même longueur)
C'est peut-être une raison pour avoir des hamsters au lieu de chiens.Un chien vit de 10 à 13 ans (environ) tandis qu'un hamster vit de 2 à 2,5 ans.L'utilisation de noms de hamsters au lieu de noms de chiens augmente l'espace de recherche d'un facteur 5?
@Tezra c'est une façon de mesurer l'entropie dans le langage humain, mais l'entropie elle-même est un sujet compliqué avec des définitions variables dans différents domaines (physique, informatique, théorie de l'information, etc.)
@ConorMancone Mais toutes ces définitions se résument à plus d'entropie signifie moins de prévisibilité.Avec les mots de passe, nous parlons d'entropie comme de la prévisibilité d'un modèle.Donc, par définition, si vous pouvez biffer une partie de votre mot de passe et deviner rapidement (2-3 essais) quelle était la partie expurgée en fonction du contexte environnant, vous avez réduit l'entropie."314159265359" n'est pas un langage humain, mais il est également très prévisible (pi).C'est un moyen de mesurer la prévisibilité des modèles.Le langage humain n'est qu'un sous-ensemble de modèles auxquels vous pouvez l'appliquer.
@doneal24 De plus, les noms de chiens et de chats sont souvent enregistrés, voire nulle part ailleurs qu'au moins auprès d'un vétérinaire local, ce qui constitue un point faible de l'ingénierie sociale.Presque personne n'enregistre les hamsters.
Pour jouer l'avocat du diable, un attaquant peut essayer de forcer brutalement "aaaaaaa" à "ccccccc" si cela lui donne une chance sur 12 de gagner plus de 12 fois son investissement.
@doneal24 En plus de cela, hamster1234 est beaucoup plus sûr que dog1234 par sa seule taille.
Et à la fin, ce n'est même pas maaattee-e-eeer.
Conor Mancone
2019-07-10 19:11:09 UTC
view on stackexchange narkive permalink

Entropie

L'entropie est vraiment la plus grande préoccupation, et l'entropie est déterminée par la quantité de caractère aléatoire dans votre processus de génération de mot de passe.

Prenons un mot de passe de 18 caractères comme exemple. Nous examinerons uniquement les caractères alphanumériques (62 caractères possibles). Cela donne:

log2 (62 ** 18) = 107 bits d'entropie

Si vous décidez de toujours convertir les 3 premiers caractères en Z pour faire il est plus difficile de brutaliser alors vous avez effectivement supprimé 3 caractères aléatoires de votre mot de passe, vous laissant avec:

log2 (62 ** 15) = 89 bits d'entropie

Ce qui est environ un facteur de 1 000 000 plus faible. Bien sûr, les deux sont encore absolument et complètement impossibles à forcer brutalement, donc si quelqu'un essaie de forcer brutalement votre mot de passe, je ne m'inquiéterais pas.

Cracker des mots de passe forts est impossible

Cependant, il vaut la peine de souligner combien il est impossible de forcer brutalement un tel mot de passe (juste au cas où mes liens ne vous auraient pas convaincu). Une plate-forme de hachage MD5 haut de gamme peut essayer 200 milliards de hachages par seconde. C'est extrêmement rapide (c'est pourquoi MD5 n'est pas censé être utilisé pour les mots de passe). Même votre mot de passe le plus faible (lorsque vous avez remplacé les trois premiers caractères par z ) a 7.6e26 combinaisons possibles. À 200 milliards de hachages par seconde, il ne faudra que 120 MILLIONS ans pour essayer toutes les possibilités de mot de passe si le mot de passe a été haché avec MD5. Je ne pense pas que vous ayez de quoi vous inquiéter.

L'impact de aa

Alors, est-il préférable de commencer par des caractères "supérieurs" pour qu'il soit plus difficile pour quelqu'un de forcer votre mot de passe? Peut-être peut-être pas. Si un attaquant commence au début de l'alphabet, alors bien sûr, le vôtre sera craqué "plus vite" (bien que toujours pas dans cette vie). Cependant, il n'y a aucune garantie qu'une personne tentant une force brute opérerait dans cet ordre particulier. En conséquence, il est impossible de deviner si un mot de passe commençant par aa peut être plus craquable. Encore une fois, si vous utilisez un long mot de passe aléatoire, il n'y a en fait aucune chance qu'il soit piraté. Donc je ne m'en soucierais pas. En ce qui concerne les mots de passe, la longueur est reine.

Principe de Kerckhoff (h / t Adonalsium)

Je pense que le principe de Kerchkhoff est très applicable ici. C'est, en un sens, un «principe» fondamental de la sécurité. L'idée derrière le principe de Kerchkhoff est que la sécurité d'un système doit être basée sur un et un seul secret / clé. L'idée est que plus il faut de «pièces» pour sécuriser un système, plus il y a de chances que certaines pièces fuient et qu'une faille de sécurité se produise. Lorsque nous parlons de mots de passe, la "clé" est assez claire: le mot de passe. Plus précisément, une longue et aléatoire. Comme indiqué ci-dessus, c'est vraiment tout ce dont vous avez besoin. En ajoutant des "règles" supplémentaires en plus de votre mot de passe aléatoire, vous ne donnez en réalité que des indices potentiels pour permettre à un attaquant qui vous cible de deviner votre mot de passe.

Cette sorte de réduction "intelligente" de l'entropie en supprimant les motifs "faciles à deviner" [remonte à la machine Engima] (https://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma#Operating_shortcomings).Par exemple: aucun rotor ne peut être au même endroit deux jours de suite;il ne peut y avoir deux connexions de tableau de connexion adjacentes;aucun réglage du rotor ne pouvait se répéter en un mois.Une fois que les briseurs de code ont déterminé quelle était la procédure, ils ont tous * réduit * les combinaisons qu'ils devaient rechercher.
@Schwern, c'est probablement le meilleur commentaire de tous les temps.Je pense que cela mériterait d'être une réponse en soi.
Les commentaires ne sont pas destinés à une discussion approfondie;cette conversation a été [déplacée vers le chat] (https://chat.stackexchange.com/rooms/96200/discussion-on-answer-by-conor-mancone-are-randomly-generated-passwords-starting).
Tom
2019-07-11 10:03:16 UTC
view on stackexchange narkive permalink

Après avoir épuisé toutes les autres attaques, un cracker commencerait le forçage brutal.

Dit qui?

Il n'y a que deux scénarios dans lesquels le forçage brutal est en fait une chose. L'un est lorsque l'attaquant a le hachage du mot de passe et l'autre est lorsqu'il a le contrôle du logiciel contrôlant la connexion, car tout logiciel non totalement cassé ne lui permettrait pas de force brute en premier lieu.

Le cas le plus courant est que l'attaquant dispose d'une base de données de mots de passe. Il utilisera un logiciel de cracker comme John the Ripper. Il aura testé quelques millions de mots de passe possibles avant même de commencer par "aa". Dans la plupart des cas, à ce stade, il a déjà piraté plusieurs milliers de comptes parce que leur mot de passe était "password" ou "12345678". Ou - pour satisfaire le vérificateur factice de «force de mot de passe» - «Pass123!».

Il ne prendra probablement pas la peine de laisser son cracker entrer dans l'étape de force brute, car il a mieux à faire avec Son temps. Et vous ne savez en fait pas si le forçage brutal commencerait réellement à aa ou non, car il y a de fortes chances que ce ne soit pas le cas.

Votre vrai problème est que dès à mesure que vous définissez des règles sur les mots de passe que vous considérez comme "mauvais", vous réduisez l'espace de recherche. Il s'avère que les politiques de mot de passe sont nuisibles. Écoutez, l'auteur de JtR a même une page à ce sujet sur son wiki. Bien sûr, le consultant $$$ qui a convaincu votre RSSI d'adopter sa politique de mot de passe stupide n'a jamais lu cette page et ne sait probablement même pas que JtR existe toujours. :-)

Donc non, "aa1" n'est pas sensiblement moins sécurisé que "zz9". Premièrement parce que le forçage brutal est la dernière arme, pas la première et deuxièmement parce qu'il n'y a aucune garantie que le logiciel de force brute démarre réellement à a et non à z. Je ne commencerais pas par un si je devais en écrire un. Je randomiserais l'alphabet et l'utiliserais, par exemple. Exactement parce que je suppose que les gens évitent probablement "aaaaaaaa" comme mot de passe.

Malheureusement, selon https://haveibeenpwned.com/Passwords, le mot de passe aaaaaaaa a en effet été utilisé, divulgué et brisé plus de soixante-dix mille fois.(zzzzzzzz arrive à 54k et llllllll à 7k.)
C'est presque rien, comparé à, disons, "mot de passe" avec plus de 3,6 ** millions ** de fois ou "secret" (qui ne fait que 6 caractères) avec près d'un quart de million.:-)
C'est vrai.Ce n'est certainement pas le pire mot de passe au monde.:)
En fait, beaucoup d'attaquants utilisent la force brute comme première technique, bien qu'ils ne fassent que forcer, disons, 4 caractères avant de passer à de meilleures attaques comme les attaques par dictionnaire et hybrides.
La page wiki JtR vers laquelle vous créez un lien sur les politiques de mot de passe ne sauvegarde pas vraiment votre argument.Il dit que pour un mot de passe ASCII de longueur 8, exiger au moins 3 classes de caractères ne réduit l'espace de recherche que de 5,5%, "c'est donc une chose raisonnable à faire".Certaines autorités peuvent affirmer que "les politiques de mot de passe sont nuisibles", mais cette page particulière ne l'est pas.
@IMSoP le fait est qu'il ** réduit ** l'espace de recherche, pas l'agrandit.C'est contre-intuitif pour la plupart des gens.
En effet.Il existe probablement une meilleure référence pour cela, car celle à laquelle vous vous êtes lié suppose principalement que vous le savez déjà et ne fait que quantifier l'effet.
pslessard
2019-07-11 20:06:48 UTC
view on stackexchange narkive permalink

De nombreuses autres réponses se concentrent sur la raison pour laquelle un mot de passe commençant par «a» ne serait pas moins sûr que toute autre lettre de départ parce que vous supposez que l'attaquant le fait de manière séquentielle par rapport à parallèle, ou parce que vous êtes en supposant qu'ils partent de «a», alors qu'un attaquant qualifié ne le pourrait pas. En raison de ces arguments, aucune lettre de départ n'est moins sûre qu'une autre contre une attaque qualifiée.

Cependant, je dirais que contre un attaquant naïf, un mot de passe commençant par «a» est légèrement moins sûr, en raison au fait qu'ils seraient plus susceptibles de le faire de manière séquentielle et en partant de «a» en raison de leur manque de compétences et d'expérience.

En pratique, cependant, comme l'ont dit les autres réponses, cela ne fera aucune différence car en pratique, un mot de passe suffisamment long généré aléatoirement ne pourra probablement jamais être forcé brutalement dans un laps de temps raisonnable , et éviter la lettre «a» ne ferait que restreindre l'espace de recherche.

allo
2019-07-11 15:49:11 UTC
view on stackexchange narkive permalink

Lorsque vous supposez une attaque par force brute, un mot de passe commençant par "a" peut être plus faible. Si l'utilisation de "z" devient populaire, ce serait le cas pour "a" et "z", ce qui compliquerait l'évaluation du risque.

Supposons que nous connaissons un personnage qui est essayé avant les autres . Ensuite, l'attaquant n'a plus qu'à tester 1/26 de l'espace de recherche. La solution consiste à allonger votre mot de passe . Non seulement quand il commence par "a", mais toujours.

Un attaquant commencera probablement avec des mots de passe courts pour une recherche par force brute *, donc votre plus long a une bien meilleure protection. Même s'il ne le fait pas, il devra tester beaucoup plus de mots de passe avant d'obtenir le vôtre.

Une attaque par dictionnaire ou une attaque mixte peut essayer "a", "aa", "aaaaaaaa" avant d'essayer "b", bien que. C'est un jeu d'esprit entre l'attaquant et vous, donc choisir une phrase secrète aléatoire est la meilleure approche et rejeter celles qui peuvent être dans des listes de mots est raisonnable (mais un mot de passe long aléatoire est peu probable de toute façon).

* Le test de tous les mots de passe de 1 à 8 caractères ne nécessite qu'environ deux fois plus de temps que le test des 9 mots de passe de caractères commençant par "a", il est donc raisonnable de commencer par des mots de passe plus courts, le cas échéant est une possibilité que le mot de passe soit court.

Pourquoi pensez-vous qu'une attaque bruteforce commencera à "a"?
@T.Sar Je ne pense pas que ce soit une hypothèse déraisonnable.Il faut commencer quelque part et c'est la première lettre de l'alphabet et de la table ASCII / unicode.Cela semble aussi probable qu'un autre (un attaquant ne voudrait pas avoir à garder l'état de chaque mot de passe qu'il a déjà vérifié, il doit donc y avoir une séquence, c'est-à-dire que ce ne sera pas aléatoire, et par expérience, A est ce quemoi-même dans mes jours de scriptkiddie).
@T.Sar J'ai suivi l'hypothèse de la question et basé ma réponse sur cette hypothèse.
Le nombre de mots de passe de 9 caractères (N ^ 9) me semble environ (N-1) fois plus grand que le nombre de mots de passe de 1 à 8 caractères (N ^ 9-N) / (N-1), où N estla taille de l'alphabet.C'est considérablement plus grand (sauf si nous sommes dans le cas bien connu N = 2).Est-ce que je manque quelque chose?
En effet, j'ai mélangé cela.J'espère que c'est correct maintenant.
Dennis Jaheruddin
2019-07-12 13:24:57 UTC
view on stackexchange narkive permalink

Réflexion hors des sentiers battus: correction du modèle de menace

De nombreuses réponses existantes indiquent déjà qu'il y a peu à gagner en évitant simplement le a, et qu'il est très facile d'appliquer un ' fix 'qui aggrave en fait votre situation.

CEPENDANT, conceptuellement, il est également faux d'ignorer complètement la manière de travailler des attaquants. Par conséquent, je présente cette direction de solution, qui devrait fonctionner en théorie (mais peut être un peu difficile à appliquer en pratique):

Si votre modèle de menace définit un attaquant est plus susceptible d'attaquer un modèle, il serait bon de rendre moins probable l'apparition de ce modèle

Exemple:

  1. Supposons que vous sachiez qu'il existe des outils courants qui forcent les mots de passe à partir de 'a 'forward
  2. Supposons que ceux-ci soient généralement configurés par temps alloué / essais, ce qui leur arrive d'essayer le' a 'plus souvent que le' z '
  3. Supposons que cela entraîne le nombre total d'attaques faites contre vous par tout le monde dans le monde, cela se traduit par le «a» 2% plus souvent essayé que les autres lettres

Dans ce cas, ce serait probablement bien pour rendre le 'a' 1% moins probable

Conclusion

Si vous avez (et gardez une trace de) la menace réelle contre vous, vous devriez être en mesure de réduire légèrement les chances de votre mot de passe est piraté. Malheureusement, vous auriez besoin d'une entreprise géante pour connaître le statut à tout moment, et vous auriez besoin de régénérer les mots de passe chaque fois que le modèle de menace change. Par exemple, parce que les attaquants apprennent également que vous corrigez les modèles de la semaine dernière.

En bref, sachez que vous aviez raison sur le plan conceptuel, mais il est tout simplement impossible de mettre en œuvre correctement .

Dmitry Grigoryev
2019-07-11 16:32:37 UTC
view on stackexchange narkive permalink

À proprement parler, oui, si le cracking se résume à la force brute, il peut y avoir plus de chances qu'un mot de passe commençant par "a" soit vérifié avant un mot de passe commençant par "z". Ce n'est pas forcément vrai, mais cela peut bien l'être.

Une chose importante à comprendre à propos de l'entropie de mot de passe est que vous devez la calculer correctement. le modèle que l'attaquant utilisera probablement pour déchiffrer les mots de passe, pas écrit. le modèle que vous avez utilisé pour le générer. Par exemple, si vous avez généré un mot de passe alphanumérique complètement aléatoire et que vous avez "passwordpassword123", il a la même entropie de "génération" que tout autre mot de passe aléatoire de même longueur. Une entropie de "génération" élevée n'en fait pas un bon mot de passe, car il a une entropie de "cracking" très faible en supposant des attaques de dictionnaire typiques.

Il n'est pas rare de rejeter les mots de passe générés aléatoirement exactement pour cette raison. Si le rejet réduit le nombre de mots de passe disponibles (et réduit ainsi la sécurité des mots de passe), cela évite de générer un mot de passe qui serait très facile à déchiffrer.

"* Il n'est pas rare de supprimer les mots de passe générés aléatoirement *" Avez-vous un exemple?Mis à part les codes PIN à 4 chiffres, je ne pense pas avoir entendu parler de quelqu'un qui a rejeté des mots de passe aléatoires faibles.Si votre générateur de mot de passe aléatoire génère "passwordpassword123" avant la mort thermique de l'univers, il ne peut pas avoir été un bon générateur en premier lieu.
@Luc Ou peut-être que vous êtes juste ** vraiment ** chanceux et devez aller jouer à la loterie ...
@ConorMancone Pas vraiment.Si vous supposez que les 8 milliards de personnes sur cette planète créent chacune un nouveau compte toutes les secondes (afin qu'elles génèrent chacune un mot de passe aléatoire de 16 caractères toutes les secondes), il faudrait encore 94 milliards d'années avant qu'il y ait 50% de chances que quelqu'un génère"mot de passe mot de passe".Si vous plaisantiez, alors je suis entièrement d'accord avec vous, mais je ne peux pas dire si vous pensez qu'il y a de sérieuses chances que cela se produise;)
Si votre générateur de mots de passe aléatoires génère des mots de passe faciles à deviner, vous avez peut-être créé par inadvertance quelque chose de très spécial.Peut-être pourriez-vous l'obtenir pour écrire un peu de Shakespeare ensuite?Je suis sûr que cela générera quelques nouvelles œuvres.
@Luc Par cette logique, gagner avec un ticket de loterie numéroté 1, 2, 3, 4, 5, 6 serait "plus chanceux" que de gagner avec un ticket de "recherche aléatoire".Après 94 milliards d'années, il est plus probable qu'une chaîne cible particulière apparaisse, mais cela ne signifie pas que vous pouvez vous y fier pour ne pas arriver plus tôt.
@SteveSether Ce n'est pas vraiment le but.Ce que j'essaie de dire, c'est que le mot de passe n'est pas fort car il a beaucoup d'entropie.C'est fort car il faut beaucoup de temps pour se fissurer.
Hey
2019-07-11 19:30:57 UTC
view on stackexchange narkive permalink

Si vous vouliez faire quelque chose à ce sujet, tout ce que vous pourriez faire (à part augmenter la longueur du mot de passe) serait de rejeter les mots de passe commençant par un «a». Maintenant, vous avez supprimé 1 / 26e des mots de passe possibles, et l'attaquant peut déchiffrer le mot de passe moyen 26/25 fois plus rapidement.

... et maintenant, les mots de passe les plus faibles commencent par un 'b'. Est-ce que nous les supprimons et faisons de «c» le nouveau premier caractère le plus faible? Vous voyez où cela va.

Les autres réponses ont bien expliqué pourquoi cela n'a pas d'importance, je voulais juste souligner qu'essayer de résoudre ce problème en évitant certains mots de passe est absurde.

rbsec
2019-07-12 16:25:29 UTC
view on stackexchange narkive permalink

Pour ajouter aux nombreuses bonnes réponses ici, il convient de noter que même lorsqu'un attaquant utilise une attaque par force brute (ce qui est rare, étant donné toutes les meilleures options discutées), les bons outils ne font pas une brute séquentielle -force.

Par exemple, le mode force brute de John the Ripper (que @Tom mentionne ci-dessus) est appelé Mode incrémental, et bien qu'il couvre tout l'espace de clés, il utilise un modèle basé sur la fréquence pour couvrir l'espace de clés dans un ordre beaucoup plus efficace qu'une attaque séquentielle AZ.

Je me souviens aussi d'un outil plus ancien appelé PasswordsPro, qui ferait une force brute séquentielle, mais a commencé à la fin de la chaîne plutôt qu'au début (aaaa, aaab, aaac, etc.).



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...