Denis Gladysh, copropriétaire et directeur de Passcovery, un fournisseur de solutions logicielles accélérées par le GPU pour la récupération des mots de passe des formats de fichiers les plus courants.

À ce jour, pour casser des mots de passe sécurisés, on utilise des attaques par devinette. C’est comme si vous entriez réellement tous les mots de passe d’essai un par un jusqu’à ce que vous trouviez celui qui convient pour ouvrir le fichier. Seulement, dans ce cas, un programme le fait pour vous à un rythme de dizaines de centaines de milliers de millions de milliards de mots de passe par seconde. Une telle technique de devinette est appelée attaque par force brute.

Sécurité par deux facteurs

Le temps que vous devrez attendre dépend de deux facteurs : le nombre de mots à tester et la vitesse de l’attaque par force brute. Plus le jeu de caractères susceptible de contenir le bon mot de passe est long, plus il y aura de mots de passe d’essai. Lorsque la longueur du mot de passe est augmentée, le nombre de mots de passe d’essai croît de manière exponentielle, par exemple :

number_of_passwords = charset_length^password_length

Ainsi, pour deviner un mot de passe composé d’une seule lettre latine minuscule, 26^1=26 mots de passe d’essai seront générés. Pour un mot de passe à 2 caractères – 26^2=676. Mot de passe à 3 caractères – 26^3=17576, etc.

Pour craquer un mot de passe à 1 caractère composé de lettres latines majuscules et minuscules, il faudra tester 26*2=52^1=52 mots de passe, et pour craquer un mot de passe à 3 caractères, 52^3=140608 mots de passe seront générés et testés, etc.

Nos programmes permettent une visualisation parfaite de ces calculs lorsque vous configurez une attaque par force brute. Lorsque vous modifiez les paramètres d’entrée, le programme estime en temps réel le nombre de mots de passe générés et le temps approximatif de réalisation. Maintenant que nous avons couvert les paramètres des mots de passe et la gamme des mots de passe d’essai, il est temps de craquer le mot de passe. Combien de temps cela va-t-il prendre ?

Mauvaise nouvelle. Cela va prendre un certain temps. Un temps assez long en fait. Vous vous souvenez que j’ai dit que les fournisseurs de sécurité des données utilisent leurs propres méthodes pour faire face aux attaques de piratage de mots de passe ? Par exemple, ils ralentissent le rythme de la vérification des mots de passe.

Le plus souvent, ce retard passe inaperçu (ou peut laisser une impression positive : « cela prend tant de temps – le niveau de sécurité doit être vraiment élevé ! ») lorsque vous saisissez un mot de passe correct, mais il ralentit la vitesse de recherche lors d’une attaque par force brute.

Lorsque vous saisissez un mot de passe, un algorithme spécial appelé algorithme de hachage convertit le mot de passe en une clé de chiffrement, et transmet la clé à l’algorithme de chiffrement des données. Un peu trop simple. Et trop rapide. Inadéquatement rapide (les gars derrière les algorithmes de protection dans Adobe Acrobat 9 devraient savoir de quoi il s’agit 🙂

C’est pourquoi l’algorithme de hachage ne libère pas immédiatement la clé de chiffrement. Il commence par hacher la clé elle-même. Puis il la hachouille à nouveau. Et encore. Et encore. Et cela continue encore et encore… des centaines, des milliers et même des dizaines de milliers de fois. Cette astuce est appelée « étirement de la clé » ; il s’agit d’un moyen facile de rendre la recherche par force brute plus longue en exigeant un hachage répété.

Un délai d’un instant lors de la vérification d’un mot de passe se transforme en années d’attente lors de la vérification de milliards de mots de passe. Par exemple, avec la sortie d’iOS 10.2, Apple a exclu la possibilité de craquer les mots de passe de sauvegarde d’iOS en utilisant 10 000 000 (dix millions !) d’itérations de hachage. Par conséquent, le taux de recherche par force brute est presque tombé à zéro, et l’accélération GPU est devenue inutile.

Éviter de voir son mot de passe cracké

Dans ce contexte, il devient pratiquement impossible de craquer le mot de passe aléatoire d’une autre personne qui est totalement inconnu de l’attaquant. Surtout en l’absence de matériel performant. Bien qu’il faille noter qu’il y a toujours de la place pour des mots de passe bêtement faciles qui pourraient être trouvés dans un dictionnaire.

Récupérer son propre mot de passe est une autre histoire. Vous vous êtes certainement déjà trouvé dans une situation où vous avez promis de faire quelque chose et où vous l’avez complètement oublié. Ou bien certains ont connu une amnésie qui a ramené leur cerveau à une sorte d’état de tabula rasa. Lorsqu’il s’agit d’oublier des mots de passe, ce n’est jamais le cas.

Le mot de passe, sa structure ou les mots de la phrase de passe tournent toujours dans votre tête. Le mot de passe correct sera quelque part à portée de main. Il vacillera dans l’obscurité et planera faiblement au-dessus des mots de passe similaires. Tout comme ces clés ailées scintillantes dans les salles souterraines de l’école Poudlard. Il suffit de tendre la main et de saisir la bonne !

C’est là l’essence même de la récupération de mots de passe et sa différence avec le piratage : vous n’avez pas besoin d’essayer toutes les clés du monde. Il suffit de couper celles qui ne sont pas pertinentes et de réduire ainsi l’éventail aux seules clés probables. De cette façon, vous pouvez rapidement les vérifier toutes et retrouver le mot de passe.