Les techniques pour trouver les mots de passe et les façons de s’en protéger

Dans un précédement article, les risques liés à l’utilisation de mots de passe peu robustes ont été présentés. Cette vidéo complète ce qui a été dit et détaille les méthodes utilisées par les attaquants pour usurper les mots de passe des utilisateurs imprudents. Elle présente aussi les façons de se protéger de ces attaques.
Si vous ne pouvez pas ou ne souhaitez pas regarder un format vidéo, le script de la vidéo est disponible ci-dessous.
Script de la vidéo
Avertissement - Les explications données dans cette vidéo ont pour unique but de sensibiliser à l’importance d’un bon mot de passe pour se protéger au mieux et sécuriser au mieux ses données. Le fait de rechercher des failles dans un système ou d’essayer d’accéder à un système ou à des informations qui ne vous appartiennent pas est répréhensible par la loi française.
Introduction
Bonjour à tous - Dans cette vidéo on va parler de mots de passe.
Plus précisément, on va analyser certaines des techniques utilisées par les hackers pour trouver le mot de passe des internautes, et comment vous pouvez vous protéger de ces attaques. Ça ne fera pas de vous le prochain hacker de Mister-Robot, mais ça vous permettra d’être mieux protégé sur Internet et de mieux sécuriser vos données.
Partie 1 - Longueur des mots de passe
Pour commencer, contrairement à ce que l’on a pu vous dire : la taille compte. Et pour vous convaincre, on va voir la technique la plus basique utilisée par les hackers pour trouver le code ou le mot de passe de quelqu’un. Cette technique s’appelle : l’attaque par Bruteforce.
L’attaque par Bruteforce est une méthode basique qui consiste à tester toutes les possibilités, les unes après les autres.
Pour illustrer ce concept, imaginez que le code à trouver n’est composé que d’un seul chiffre. On aurait exactement 10 possibilités : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.
Si on part du principe qu’on met une seconde pour tester chaque code, il faudrait donc 10 secondes pour tester toutes les possibilités. En réalité, on ne mettrait pas 10 secondes pour trouver le bon code, à moins que le code recherché corresponde à la dernière tentative de notre série, dans notre cas le chiffre 9. Le temps réel serait en fait variable selon que le code choisi est au début ou à la fin de la série des chiffres à tester.
Dans notre cas, on mettrait 2 secondes si le code choisi correspond au chiffre 1 (Rappelez-vous, on commence par le chiffre 0 !), et on mettrait 8 secondes si le code à trouver était 7. Pour simplifier, on va utiliser la moyenne et dire qu’en moyenne on mettrait 5 secondes pour trouver le code de l’utilisateur. 5 secondes, ce n’est pas beaucoup et c’est d’ailleurs pour cette raison que personne ne choisit qu’un seul chiffre comme mot de passe. Ce serait bien trop rapide à trouver.
Pour rendre la tâche plus compliquée à un pirate, on pourrait améliorer ce mot de passe et utiliser non pas 1 mais 2 chiffres. Le temps moyen pour trouver un code à 2 chiffres ne serait plus 5, mais 50 secondes, car on aurait dix fois plus de possibilités, 100 exactement. Un peu mieux mais pas encore assez.
On rajoute encore un chiffre et on passe de 50 secondes à 500 secondes, soit 8 minutes. On prend un 4e chiffre et on passe à 4 heures. 5 chiffres et on passe à 1 journée, 6 chiffres et on passe à 15 jours.
Ce qu’il faut retenir de tout ça, c’est que plus le mot de passe est long, plus il y a de possibilités, et plus on met de temps avec notre technique Bruteforce pour toutes les tester.
Conclusion : plus le mot de passe est long, plus il est efficace, car il rendrait l’attaque par Bruteforce, pas impossible, mais très longue.
Partie 2 - Diversité des caractères
Pour sécuriser davantage le mot de passe, on peut envisager d’utiliser d’autres caractères que simplement les 10 chiffres.
Si on ajoute, par exemple, les 26 lettres de l’alphabet, c’est-à-dire les lettres de A à Z, la technique Bruteforce qu’on a utilisée avant serait encore moins efficace et on ne prendrait plus, en moyenne, 5 secondes pour un mot de passe d’un seul caractère, mais 18 secondes, soit 3 fois plus. Puis 10 minutes pour 2 caractères, 16 heures pour 3 caractères, 1 mois pour 4, 2 ans pour 5 et 87 années pour un mot de passe de 6 caractères.
On pourrait aller encore plus loin et ajouter les 26 lettres de l’alphabet en majuscule cette fois. On pourrait aussi ajouter les accents et les caractères spéciaux comme le dièse, les guillemets, le sigle arobase, l’étoile, l’espace, etc.
Ce qu’il faut retenir de ceci, c’est que plus le mot de passe est composé de caractères différents, plus le nombre de possibilités augmente, et plus il est efficace, car difficile à trouver.
Partie 3 – Signification
Maintenant, si vous êtes un hacker, et que vous savez que le mot de passe peut être d’une longueur variable, c’est-à-dire potentiellement long, et qu’il peut être composé de beaucoup de caractères différents, vous n’aurez probablement pas de bons résultats avec une attaque Bruteforce. Ou alors il va falloir être très patient.
D’autres techniques existent. L’une d’entre elle consiste non pas à essayer toutes les possibilités les unes après les autres, mais de se munir d’une liste de mots et d’essayer tous ces mots. On appelle cette méthode : l’attaque par Dictionnaire.
Cette liste de mots qu’on utiliserait ne serait, bien sûr, pas choisi au hasard. On pourrait imaginer, par exemple, télécharger une liste de tous les mots du dictionnaire de la langue de l’utilisateur. Si on prenait le dictionnaire français, on aurait environ 300 000 mots d’après les décomptes les plus optimistes, c’est-à-dire, pas tant que ça.
Dans les mêmes conditions qu’auparavant, en testant un mot par seconde, cela reviendrait à tester l’ensemble des mots en moins de 2 jours en moyenne.
Cela veut dire que si l’utilisateur utilise un mot commun, on le trouvera, encore une fois, relativement rapidement.
Pour ne pas être victime de ce genre d’attaque, ce n’est pas compliqué. Il faut choisir un mot de passe qui est le moins prédictible possible pour éviter que le pirate puisse le deviner. En informatique, on dirait qu’il faut utiliser un mot de passe à forte entropie, c’est-à-dire que les caractères du mot de passe sont choisis de façon aléatoire. Dit autrement, ça veut dire que la connaissance des premiers caractères du mot de passe ne nous permet pas de déduire les autres caractères.
Et pour illustrer ce concept, imaginez que vous utilisez le mot de passe « 0123456789 ». Si on utilise uniquement le critère de la taille, on pourrait conclure que le mot de passe est efficace, car relativement long. Mais ce n’est pas le cas, car si je vous demandais de trouver le mot de passe en vous disant simplement qu’il commence par 0123, vous testeriez en priorité, et à raison, 01234, 012345, etc jusqu’à trouver le bon mot de passe. Dans ce cas précis, malgré le fait que le mot de passe est long, le fait qu’on puisse le deviner trop facilement le rend complètement inefficace.
Ce que vous devez retenir de cela, c’est qu’en plus d’être long, et d’être composé de caractères différents, le mot de passe doit être le plus aléatoire possible.
Partie 4 – Unicité
Le premier dictionnaire qu’on a utilisé était donc l’ensemble des mots de la langue française, mais on pourrait imaginer utiliser d’autres types de listes.
On pourrait, par exemple, télécharger une liste des 100 mots de passe les plus utilisés. On y trouverait « azerty », « 123456789 », « starwars », « password », etc. Encore une fois, ça se ferait très rapidement, et on obtiendrait probablement de bons résultats.
On pourrait aussi récupérer sur Internet une base de données d’entreprises qui auraient été hackées dans le passé et dont les mots de passe auraient fuités. Et la raison pour laquelle on utiliserait ce type de listes est simple. Les internautes ont la très mauvaise habitude d’utiliser les mêmes mots de passe pour leurs différents comptes. Donc on obtiendrait, encore une fois, des résultats corrects.
Ce qu’on peut conclure de tout ça, c’est qu’un mot de passe robuste à toutes ces attaques aurait les caractéristiques suivantes :
- Il serait long ;
- Il serait composé de plein de caractères différents ;
- Il serait peu prédictible ;
- Et Il serait unique.
Ce mot de passe par exemple D{-mLkf"#%qSd)=B:Cl§!sDf3pEd@f8r
est un bon mot de passe, car il réunit toutes ces caractéristiques. Bien sûr, vous ne devriez pas l’utiliser car je viens de l’afficher à tout le monde. Créez vos propres mots de passe, pour chacun des sites que vous fréquentez.
Partie 5 - Gestionnaires de mots de passe
La raison pour laquelle les utilisateurs n’utilisent pas ce type de mots de passe est simple. Il est beaucoup trop compliqué à retenir.
Imaginez qu’on vous demande d’utiliser un mot de passe de ce style pour chacun des sites que vous fréquentez. Ce serait tout bonnement impossible.
Pour répondre à cette problématique, les gestionnaires de mots de passe ont été créés.
Un gestionnaire de mots de passe, c’est quoi ? C’est un programme qui stocke les mots de passe de tous vos comptes. Ces mots de passe peuvent donc être longs, uniques, et peu prévisibles car vous n’avez plus besoin de les mémoriser.
Bien sûr, l’accès à ce gestionnaire doit être sécurisé au mieux car il donnera accès à tous les autres mots de passe. Je vous conseille alors d’utiliser un mot de passe robuste, et de le mémoriser. On peut même envisager d’utiliser plusieurs facteurs d’authentification pour ne pas reposer uniquement sur un mot de passe, ce qui sera probablement le sujet d’une autre vidéo.
Il existe plein de gestionnaires de mots de passe, des gratuits comme des payants, chacun avec des avantages et des inconvénients. Le plus simple est probablement d’utiliser celui intégré dans votre navigateur favori pour vous permettre de surfer en toute sécurité.
Pour conclure, et si vous deviez garder qu’une seule chose de cette vidéo
: Utilisez un gestionnaire de mots de passe.
Restez vigilants, et à la prochaine.