Piratage: les mots de passe complexes sont plus faciles à casser qu’on ne le pense

Avant de commencer, si vous deviez choisir un mot de passe, vous préféreriez opter pour: « j’adorelesitewebpressecitron » ou « @$12aPresseCitrOn34i! » ? Assez instinctivement, vous vous dirigeriez vers le second, qui apparait comme plus complexe que le premier, et pourtant… c’est tout l’inverse !

Piratage du réseau social VKontakte

En effet, depuis près de 15 ans, nous suivons tous à la lettre une consigne proposée en 2003 par le NIST (National Institute of Standards and Technology), suite à la publication d’un rapport de Bill Burr, un expert de cet organisme. Son conseil était de s’assurer qu’un mot de passe contient des majuscules, des minuscules, des chiffres et des signes de ponctuation. D’après les propres mots de ce même expert, ces règles seraient aujourd’hui obsolètes. Il aurait même confié au Wall Street Journal: « Je regrette la plupart des choses que j’ai faites » à cette époque.

Oubliez ce que l’on vous a dit depuis des années sur la façon de choisir un bon mot de passe !

Des propos plutôt inquiétants, car à peu près toutes les personnes qui cherchent à s’éloigner du « 123456789 », ou du « Franck1980 », en réfléchissant à un mot de passe complexe, mais dont ils peuvent se souvenir, sont concernées ! En tant que journaliste, je fais le même méa culpa que Bill Burr, car j’ai régulièrement recommandé ce conseil suite à des piratages massifs ou des top 10 des pires mots de passe. Alors pourquoi subitement les mots de passe complexes sont plus fragiles que des mots ?

On nous a habitués à penser que les attaques par dictionnaire faisaient qu’un mot était facilement piratable comme mot de passe et que des suites de caractères étaient pratiquement inviolables. Le problème vient du fait que nous devons retenir le mot de passe et par conséquent la suite de caractères n’est pas aléatoire. Généralement, nous utilisons un mot ou un nom, que nous complexifions avec quelques caractères intercalaires et qui sont souvent les mêmes pour tous. Le mot de passe semble donc complexe, mais ce n’est pas vraiment le cas pour un hacker. Ces derniers l’ont d’ailleurs bien compris et ont pu affiner leurs algorithmes en étudiant les bases de données de services populaires piratées ces dernières années et contenant des millions de mots de passe.

Les recommandations du NIST ou de l’ANSII pour choisir un mot de passe

Ainsi un mot de passe du genre « j’adorelesitewebpressecitron » pourrait résister des dizaines d’années, voire des centaines avec une attaque hybride combinant dictionnaire et force brute, alors que le mot de passe « @$12aPresseCitrOn34i! » ne résisterait qu’une poignée de jours… Le NIST recommande en effet désormais de plutôt privilégier une suite de mots n’ayant rien à voir entre eux ou une longue phrase. Des mots de passe plus rapides à taper et plus facile à retenir en prime !

L’Agence nationale de la sécurité des systèmes d’information (Anssi), va beaucoup plus loin et recommande d’utiliser des mots de passe de minimum douze caractères et suggère deux méthodes. La méthode des premières lettres, en choisissant une phrase du genre : « les chaussettes de l’archiduchesse sont-elles sèches ou archi-sèches« , qui donnera « Lc2l’As-EsoA-S« . Il est aussi possible de faire le choix de la méthode phonétique : «  j’ai acheté la PS4, elle est trop bien !« , qui donnerait par exemple : « ghTlapS4letRoBi1!« .

Pour le reste, oubliez ce que l’on vous a dit depuis des années sur la façon de choisir un bon mot de passe !


7 commentaires

  1. BonjourJ’ai beaucoup de mal à comprendre la pertinence de cet article et d’une phrase comme celle ci-dessous : Ainsi un mot de passe du genre « j’adorelesitewebpressecitron » pourrait résister des dizaines d’années, voire des centaines avec une attaque hybride combinant dictionnaire et force brute, alors que le mot de passe « @$12aPresseCitrOn34i! » ne résisterait qu’une poignée de jours…Hormis la longueur et l’apostrophe, le "j’adorelesitewebpressecitron" ne fait usage que de lettres a->z et donc de 26 possibilités pour chaque "caractère". Là où la deuxième proposition fait usage de l’ensemble des caractères affichables (lettres, chiffres, pontuations, min/maj, …).Une attaque brute-force visant à devenir le mot de passe ne doit jouer qu’avec 26 possibilités dans un cas, plus d’une centaine dans l’autre. Il me semble évident que le second mot de passe sera bien, bien plus compliqué à casser. Cela vaut ce que cela vaut (=il faut accepter le mode de calcul) mais des sites aussi réputés que https://howsecureismypassword.net/ prouvent à suffisance que "citron" ou "CitrOn" ne sont pas équivalent, avantage au second.L’article mentionne qu’on utilise toujours une même séquence; d’accord mais le pirate ne me connaît pas, il ne va pas savoir quelles sont mes habitudes; il n’aura de possibilités que de faire du brute force.Enfin, il aurait été intéressant de mentionner que, de toute façon, le meilleur mot de passe est celui qu’on ne connaît pas : en utilisant des logiciels dit "Coffre-fort", une génération aléatoire et une longueur de 20 minimum (puisque trop de sites n’acceptent pas plus long), en fait, il ne faut même plus se soucier de cet aspect-là. Un coup de générateur aléatoire et hop, sauvé dans le coffre-fort.Si quelqu’un pouvait apporter un éclaircissement sur l’affirmation "j’adorelesitewebpressecitron" serait plus fort; sincèrement, j’aimerai avoir ces éléments.Bonne journée.

  2. François Collard le

    Bonjour,Itou pour moi, et je suis d’autant plus déçu que la méthode recommandée est celle que j’utilisais il y a quinze ans quand il n’y avait pas grand-chose à craindre ! Une phrase, éventuellement en latin ou en une langue peu parlée pour compliquer, ou les initiales des x premiers mots mots d’un texte que je connaissais par cœur.J’ai ensuite pensé que le hasard était toujours plus difficile à déjouer que toute espèce d’ordre, et que l’utilisation d’un jeu de caractères plus étendu compliquait le craquage brute force. Donc mots de passe (pseudo-)aléatoires générés par un logiciel que je compile moi-même et encryptés dans un autre que j’ai écrit moi-même pour encore plus de sûreté.Peut-être que l’article n’explique pas la seule chose qui justifierait son affirmation : Je ne sais pas comment les pirates testent leurs combinaisons, mais j’imagine qu’il n’y a plus d’avantage à varier les signes utilisés parce que leurs algorithmes brute force testeraient dans chaque position tous les caractères UTF-8, dont la variété n’importerait plus tandis que la longueur compte toujours ?

  3. Ludovic Evrard le

    @Cavos789, le truc c’est que l’attaque par force brut se fait sur tous les caractères et pas les 26 lettres de l’alphabet.En gros je ne connais pas le nombre de combinaison possible pour chaque caractère, mais pour simplifier imaginons qu’il y a au total 100 possibilités par lettre.Un mot de passe compliqué style "h€[email protected]ûd$0" prendra 100^10 (100 exposés en 10). Alors qu’un mot de passe qui semble plus simple comme "Bonjour à tout le monde, il fait vraiment beau non?" prendra 100^51 (100 exposés en 51). Soit 1e82 possibilité en plus…Après ça dépend comment le système d’attaque par force brut est configuré… Est-ce qu’il utilise uniquement chiffre/lettre ou bien il prends en compte tous les caractères possibles… Après si le site est un minimum sécurisé par exemple avec PHP et password_hash un système qui est exprès très lent… casser un mot de passe de 15 caractères prendra très très longtemps… Et risquera de ne plus être valide quand il aura été enfin cassé!Par exemple, allez y pour casser ce mot de passe en quelques jours…: $2y$13$fsA.MctCyej1isa02W/H1Oj.hgPIS42vBj2LzWhUVfEBYqiIr4CJS

    • Emmanuel Ghesquier
      Emmanuel Ghesquier le

      Précisément parce le dernier mot de passe est totalement aléatoire sans aucune logique permettant de filtrer des possibilités, il faut donc tout tester ce qui est long…

      Mais le mécanisme du choix d’un mot de passe pour 99% des internautes n’est pas celui là, en majorité nous choisissons un mot que l’on retiendra facilement et on intégrera volontairement ou de manière forcée par le site web, des Majuscules, des numéros et des caractères… Une logique s’installe donc et cette logique est prévisible lorsque l’on dispose de centaines de millions de mots de passe volés au fil des années et présents sr le web… Si vous choisissez par exemple le nom de votre tortue, Lizzy, le créateur de mot de passe vous dit mot de passe trop court et il faut une majuscule et un numéro, le réflexe de la plupart est donc conditionné, beaucoup diront oK : une masjuscule au début et à la fin, je vais mettre l’arobase au début pour tromper les hackers, l’année de l’arrivée de Lizzy à la maison pour pas l’oublier et un petit point d’exclamation à la fin: @LizzY14! … quel % de personnes auront eu cette chaine décisionnelle, les hackers le savent désormais et peuvent réduire les possibilités au moment d’attaquer des comptes pour faire mouche plus rapidement… Pourquoi un pirate intégrerait les caractères spéciaux « #&^ par exemple, une perte de temps lors du piratage, vous les utiliseriez pour un mot de passe ? La majorité utilisera systématiquement les mêmes @!?/ ce qui réduit considérablement les possibilités…. Les hackers peuvent donc extraire ces derniers de l’algorithme et réduire d’autant de possibilités l’attaque. Autre exemple: les mots de passe sont cachés par des astérisques, ce qui conditionne naturellement un maximum de gens à ne pas utiliser beaucoup de majuscules ou de caractéres nécessitant de presser deux touches à la fois, par peur de rater et de bloquer son compte… les hackers le savent aussi…

      Avec des phrases il est naturellement plus facile de réaliser un mot de passe long et facilement mémorisable et il sera plus aléatoire, Sauf si évidemment vous utilisez des citations connues ou des paroles de chansons, dans ce cas les hackers auront réalisé des dictionnaires pour réaliser des attaques.

  4. Bonjour Ludovic. Nous disons strictement la même chose je pense. Le premier mot de passe " j’adorelesitewebpressecitron" n’est pas plus sécurisé que @$12aPresseCitrOn34i! (le seul critère en faveur du premier est qu’il est juste plus long).Si le brute force ne prend en considération que les lettres a-z, le premier mot de passe est bien moins sécurisé.

    • Emmanuel Ghesquier
      Emmanuel Ghesquier le

      Je vais copier coller un commentaire que j’ai mis sur Facebook sur la même remarque, car dans cet article je veux mettre en avant non pas la complexité à déchiffrer un « a » plus ou moins facile qu’un « @ », là n’est pas la question, c’est la prévisibilité qui fragilise le mot de passe de façon plus importante et la fausse sécurité de croire que des caractères sont plus forts que des mots. Il s’agit d’une remarque faite par la personne qui recommandait elle même l’inverse et fait son mea culpa, il y a peu de raisons de douter…

      Le problème ne vient pas du nombre de caractères comme je tente de l’expliquer dans l’article, il vient de la prévisibilité du mot de passe complexe. Les hackers ont a leur disposition des centaines de millions de mots de passe provenant des piratages de Yahoo, LinkedIn, LastPass, de plateformes de jeux, de messageries, de banques, etc… Cela commence à constituer une base de données suffisamment vaste pour affiner les algorithmes de piratage pour des attaques mixtes. Combien sommes nous à systématiquement choisir une majuscule comme première lettre, à mettre un numéro en fin de mots de passe, à remplacer les A par des @ et les E par des 3, à transformer les o (en O ou en 0), à choisir les mêmes caractères spéciaux [email protected]… le tout ajouté au fait que l’on utilise un mot facile à retenir comme centre du mot de passe… les nombre de milliards de possibilités diminuent drastiquement lorsque l’on applique ce genre de filtre. Alors rien ne dit que les hackers craqueront votre mot de passe à coup sûr, mais ils ont nettement plus de chances de le faire, c’est ce point que cet article cherche à mettre en évidence… car un imposant des règles alors qu’en parallèle l’humain à la contrainte de retenir le mot de passe, des schémas communs finissent par se dessiner rendant plus facile le piratage d’un mot de passe qui apparait comme impossible à pirater alors qu’il est en réalité plus simple à pirater… C’est un peu le même mécanisme mentale que lorsque l’on demande à une personne de penser à un outil et à une couleurs, 90% des gens diront marteaux rouge.

  5. Ludovic Evrard le

    Bonjour Cavo789,Oui si on prends que lettres/chiffres (+ apostrophe dans l’exemple), après je ne connais pas bien les logiciels d’attaques par force brut ni la configuration… Si l’utilisation normale de ce genre d’outil est de prendre en compte toutes les combinaisons, oui plus c’est long plus c’est sécurisé… Je pense que de toute façon il vaut mieux modifier ses caractères et ne pas utiliser des mots "classiques" qui pourrai subir une attaque par dictionnaire…Un mot de passe du style "H€[email protected] tous le MonDe, il fait beau aujourd’hu!", reste facile à retenir et évite toutes les attaques de force brute simple.Après comme je le disait plus haut, si le site utilise un système de sel/chiffrement pour rendre la détection du mot de passe plus compliquée, cela rajoutera encore plus compliqué de trouer le mot de passe en question.Par ex si le site rajoute automatiquement à votre mot de passe la chaine "dZEdyugcez483279!cdechuiDEZ^", logiquement l’utilisateur final devrait être bien protégé, il reste à espérer que chaque webmaster fasse en sorte de sécuriser au maximum cette information plus que sensible.J’utilise pour ma part un "sel" statique pour chaque site + la fonction hash qui génère en plus un sel unique (si je hash 5 fois le même mot de passe, la chaine de sortie sera toujours différente). Ce qui fait que si on pirate ma base de donnée et qu’on récupère 50 mots de passe, il faudra énormément de temps pour casser juste un seul mot de passe!Pour conclure, la sécurité du mot de passe dépends autant de l’utilisateur final que ceux qui programme les sites/services

Commenter