TRANSITION NUMÉRIQUE - INNOVATION - COMPÉTITIVITÉ

Force des mots de passe et techniques d’attaques 

 Nous allons ici présenter sommairement les principales attaques impliquant les mots de passe, et nous attarder sur celles qui, mettant en œuvre des outils cryptographiques, font appel à de la « force brute cryptographique ». 

Devinette de mot de passe (password guessing) 

Sur un service donné, il s’agit d’essayer différents MdP pour un utilisateur ciblé. Souvent utilisé pour confirmer des listes login/MdP préalablement obtenues par d’autres moyens. L’attaquant va essayer des mots très courant puis des combinaisons de mots en rapport avec les informations connues de l’utilisateur, obtenues par « social engineering » ou les réseaux sociaux. Bref, du « big data ». 

Bourrage de MdP (credential stuffing) et Pulvérisation (password spraying) 

Utilisant un petit nombre de mots de passe connus, et de noms d’utilisateurs connus, on va ici faire des essais sur un grand nombre de services. Souvent utilisé après une première intrusion dans un système d’information, pour gagner d’autres positions (ce qu’on appelle le mouvement latéral). Le crédential stuffing sert aussi à vérifier ou améliorer la qualité de listings login/mot de passe sur le marché noir. 

Crackage de mot de passe (password cracking) 

Ce type d’attaque dépend beaucoup de la capacité de calcul dont dispose l’attaquant. A mot de passe égal, l’attaquant est donc favorisé par les années qui passent : la célèbre loi de Moore indique que, en gros, la puissance de calcul des nouveaux matériels double tous les 18 mois.  Combien de temps faut-il à un attaquant pour parcourir tous les mots de passe possibles ? Si on se donne un ensemble de caractères, une longueur maximale, et une puissance de calcul, il est facile de l’estimer.   On est bien dans ce cas dans une attaque de « password cracking ». L’attaquant connaît une liste de mots de passe chiffrés (« hachés »), et, chez lui sur son propre ordinateur, essaie de retrouver les mots de passe en clair. Qu’est-ce qu’un mot de passe chiffré ? C’est un mot de passe qui a été obtenu après une fuite de données, et qui, par sécurité, avait été chiffré par l’exploitant du système ayant eu la fuite. Ce qui permet d’empêcher, ou au moins ralentir, l’utilisation des mots de passe volés, sur d’autres services.  Pour essayer d’évaluer le temps que prendrait un pirate pour déchiffrer des mots de passe volés, intéressons-nous à cet appareil :    C’est un « mineur de bitcoin », conçu et programmé pour « générer » la célèbre crypto-monnaie. Le fonctionnement est assez simple : faire des opérations cryptographiques, des « hachés », en très grand nombre. Il s’agit du même type d’opération cryptographique que celles utilisées pour « chiffrer les mots de passe » 1. Ces appareils sont donc représentatifs de la puissance de calcul qu’un pirate un peu outillé pourrait mettre en œuvre dans une opération de crackage de mots de passe.  En croisant simplement la vitesse de calcul de l’appareil (en téra-hachés par seconde) avec le cardinal de l’ensemble des mots de passe possibles (soit simplement le nombre de caractère possible mis à la puissance la longueur du mot de passe), on obtient ce résultat assez saisissant :  Comment se lit se tableau ? On a simplement mis dans un sens le nombre de caractères par mot de passe, et dans l’autre sens le nombre total de caractères disponible. La petite subtilité étant que, pour les durées de crackage courte, c’est la durée qui est indiquée, et pour les mots de passe plus fort, on a mis la probabilité que le pirate ne déchiffre le mot de passe en un mois.  Vous allez penser, « il en rajoute ». Et encore, pour parcourir tous les mots de passe possibles : statistiquement, un mot de passe sera trouvé dans un temps moitié moindre. Oui, ça demande un peu de compétences en microélectronique. Mais on parle ici d’un seul appareil : on peut en acheter plusieurs si on se fait des millions de dollars en ransomware. Est-ce que le travail de crackage des mots de passe est parallélisable ? Evidemment : il suffit d’utiliser un serveur pour chercher les mots de passe qui commencent par « 0 », un autre pour ceux qui commencent par « 1 »…   Par ailleurs, cette grille ne tient pas compte de l’augmentation future des performances. Si un pirate se lance aujourd’hui sur un crackage de mot de passe « 12 caractères avec ponctuations » (19 ans), nul doute que dans 2-3 ans il pourra s’acheter du matériel pour encore accélérer, avant les 19 ans maximum prévus.  Ce sont certes là des calculs de coin de table. Mais basés sur la réalité vraie : contre certaines attaques, des mots de passe de 12 caractères totalement aléatoires sont déjà un peu faibles en 2021.     

Le lien entre ces différents types d’attaques 

Imaginez qu’un attaquant ait pu parvenir à exfiltrer la base de données des utilisateurs d’un réseau social. Cela arrive couramment, même pour les plus grands (ici…). Dans ce cas, l’attaquant va disposer d’une liste de comptes et des informations secrètes d’authentification. Si ces informations d’authentification sont des mots de passe « en clair » : 

  • d’une part c’est la catastrophe, car les attaques sur les comptes d’utilisateurs sont immédiatement possibles 
  • d’autre part la conception du service attaqué est inexcusable. 

Si les mots de passe ont été protégés par des moyens cryptographique, alors une attaque par « password cracking » peut commencer. Chez le pirate, sur ses propres serveurs. Certains mots de passe vont être trouvés en quelques minutes. Ici la robustesse du mot de passe que vous aurez choisi est importante : s’il est faible, vous gagnerez certainement un peu de temps pour la défense. S’il est fort, l’attaquant, va y laisser pas mal d’argent en électricité, mais il y a de bonnes chances que ça tienne.  Le pirate sera tenté de contrôler la qualité des mots de passe par une attaque de « credential stuffing ». Car la qualité de la base conditionne sont prix de vente sur le darkweb.  Une fois des comptes/mot de passe compromis, une attaque de « password spraying », combinée avec une petite analyse du genre « big data » sur les données publiées ouvertement sur les réseaux sociaux, des blogs, la presse, pourra utilement être tentée pour compromettre d’autres comptes. Par exemple les comptes professionnels, des mêmes personnes, dans l’espoir malsain que l’utilisateur ait réutilisé les mêmes mots de passe, ou une variante trop proche.  On peut supposer que la base de données que le chercheur Troy Hunt publie sur le site I Have Been Pwnd a été en grande partie obtenue par « password cracking » de bases de mots de passe chiffrés compilées au fil des ans, et publiées sur le dark web (ce chercheur n’attaque personne, il compile les informations pour sensibiliser).   

Comment se protéger en tant qu’utilisateur ? 

Toujours avec les mêmes bonnes pratiques, qui devraient être érigées en règles strictes dans toutes les organisations : 

  • Ne jamais utiliser un mot, prénom, patronyme, nom commun, nom de lieu 
  • Ne jamais utiliser une suite de chiffres qui peut correspondre à une date 
  • Mélanger toujours des sources d’inspiration mnémotechnique diverses, sans rapport entre elles, pour le rendre imprévisible. De bouts de phrases, morceaux de mots, mais façon « cadavre exquis » 
  • Avec une longueur et un ensemble de caractère suffisamment importants, même si ce n’est pas imposé par le service 
  • En utilisant un mot de passe différent pour chaque service 

Comment générer un mot de passe facile à retenir ? La CNIL nous donne quelques conseils. Les groupes de travail sur le bitcoin proposent aussi une idée basée sur des listes de mots.  C’est compliqué ? Oui, c’est vrai. La vie moderne n’est plus adaptée à nos mémoires organiques (et réciproquement). C’est pour cela qu’il y a des magasins de mots de passe, des moyens mnémotechniques pour les mots de passe les plus courant.  Et surtout : si vous pouvez activer l’authentification à deux facteurs, faites-le !

Bertrand Maujean (RSSI Adista)  

Quelques références techniques et liens (warning : un peu technique ) 

 

Nos anciens articles sur le sujet