Difficulté : Simple

Préambule

J'ai eu le droit à quelques remarques sur mon post à propos des mots de passe. J'avais (volontairement) laissé de l'ambiguïté sur les différentes attaques sur les mots de passe utilisées par les pirates. Je crois qu'il est temps de lever le voile.
Cette explication est très basique et ne donnera pas d'exemple pratique via des logiciels, le but étant de comprendre et non de faire. De plus, nous ne verrons ici que des attaques basiques mais tout de même utilisées.

Deux types d'attaque

L'attaque par dictionnaire

L'attaque sans doute la plus rapide de toute. Supposons que l'utilisateur à inscrit un mot simple, utilisé dans le langage de tous les jours ou un nom propre plutôt connu.
Dans ce cas là, nous allons utilisé une attaque par dictionnaire : un logiciel testera des mots de passe qui proviendront d'une liste. Cette liste peut être dans le logiciel ou importer dans ce dernier s'il s'agit d'un fichier texte. Des listes existent sur Internet, pour toutes les langues possibles. Il est quand même plus dur de trouver un "dictionnaire" français qu'un anglais (dictionnaire voulant dire liste de mots ici).
Cette attaque est rapide, car il suffit au logiciel de tester tous les mots de la liste. Un dictionnaire français contient maximum 90 000 mots, un anglais 200 000. Si nous prenons les noms propres les plus courants, nous atteignons les 300 000 mots maximum. C'est un nombre de test ridicule et très cette attaque est finie très rapidement en général. Cela dépend de la vitesse de l'ordinateur et du logiciel, 1 minute suffit pour des ordinateur récents...

Attaque par force-brute (ou bruteforce)

Cette attaque demande une puissance de calcul importante. Le CPU (voire le GPU) sont très sollicités. L'attaque consiste à tester des mots de passe selon une boucle définie. Voici un exemple de ce que l'on peut faire :

  • On commence avec un mot de passe d'une lettre et on choisira de commencer par la lettre "a".
  • On continue jusqu'à la lettre z.
  • Les mots de passe à une lettre sont finis, nous essayons les mots de passe à deux lettres, recommençons avec "aa"
  • Nous irons jusqu'à "az" puis "bz"... et enfin "zz" !
  • Puis nous ferons les mots de passes de trois lettres de la même manière, puis de quatre lettres, de cinq, etc.


Si nous essayons tous les mots de passe jusqu'à 6 lettres, nous testons 26 possibilités * 26 * 26 * 26 * 26 * 26 = 308 915 776 mots de passe. Une somme importante fasse à nos ridicules 300 000 mots du dictionnaire cependant les mots testés n'ont aucune signification pour la plupart d'entre eux. Ils ne sont pas faciles à retenir et donc forcément moins utilisés par les utilisateurs.

Faisons un peu mieux alors

Dans les deux attaques précédentes, nous n'avons pas parlé de la casse, ni des caractères spéciaux. Certains logiciels prévoient de rajouter des espaces, des #, des + mais cela augmente le nombre de possibilités ! Et si on demande aussi de rajouter des chiffres de temps en temps, alors là...l'attaque devient très longue.

Et encore mieux, l'attaque hybride.

C'est sans doute l'attaque la plus longue voire la plus difficile à mettre en place. On utilise un mot du dictionnaire et la bruteforce. Le nombre de possibilités devient colossal ! Et même si elle a statistiquement plus de chance de réussir que les autres, elle est tellement longue qu'elle mettrait plusieurs vies à trouver un mot de passe long et compliqué. Mais là encore, cela dépend de la machine et du logiciel.

Donc mon mot de passe est inviolable ?

Et non ! C'est pas aussi simple.

  1. Les ordinateurs sont de plus en plus puissants donc calculent de plus en plus vite pour ce type d'attaque.
  2. Il existe des sites donnant des très grosses listes de mots de passes déjà décodés (le vôtre est peut-être dedans...).
  3. Certains pirates utilisent des ordinateurs qui ne leur appartiennent pas, ils peuvent donc profiter d'une puissance de calcul gratuite qui ne les dérangent pas.
  4. Les mots de passe ne sont pas toujours cryptés ! C'est le cas dans certains logiciels et sur certains sites. Dans ce cas, pas besoin de décrypter : c'est déjà fait !


Conclusion

J'espère que ce petit article vous aura éclairé. Il démontre deux choses étroitement liées que je voulais mettre en avant : plus le mot de passe que vous choisissez est compliqué et recherché, plus il sera dur à trouver. Évitez de prendre un mot de passe facilement trouvable avec ces attaques. Et enfin, dites vous qu'un mot de passe de 10 caractères avec des majuscules, des chiffres et les caractères spéciaux d'un clavier de base offre au minimum 100^10 combinaisons soit 100 000 000 000 000 000 000 combinaisons...De quoi dissuader bien du monde !