Je me lance pour mon premier article sur le blog.....
Pour commencer, il faut savoir que je ne suis pas un expert de la sécurité. Je sais, j'en vois déjà qui commence à sourire puisque je dis à tout le monde et au bout d'un certain temps, on ne me croit plus! Non, je ne suis pas un expert de la sécurité : je ne suis pas un technicien de la sécurité! Ne me demandez pas comment fonctionne tel ou tel protocole, comment on fait pour hacker quoique ce soit, comment faire pour sniffer un réseau voire même à quoi ressemble une adresse IP (bon là, j'exagère un poil mais pas tant!), je n'en sais rien! Ma connaissance est exclusivement due à mon expérience autour des projets que j'ai pu mener. Tout ça pour dire que jamais je ne vous parlerai d'un sujet hyper technique.
Le sujet du jour est les mots de passe. On dit toujours qu'il faut changer un mot de passe régulièrement. On dit aussi qu'il faut qu'il soit robuste. Mais ça veut dire quoi? Et pourquoi? Quels sont les moyens pour découvrir un mot de passe?
découvrir un mot de passe
il y 3 façons de le chercher : la force brute, la méthode du dictionnaire et l'ingénierie sociale.
La force brute est la plus simple des recherches et c'est celle qui donne un résultat assuré si on a du temps (beaucoup de temps parfois). La technique consiste tout simplement à jouer toutes les combinaisons possibles du mot de passe jusqu'à obtenir la bonne combinaison de caractères.
La méthode du dictionnaire nécessite une base de mots de passe possibles. La méthode consiste alors de jouer tous les mots du dictionnaire jusqu'à obtenir la combinaison recherchée. Bien évidemment, si la combinaison recherchée ne fait pas partie du dictionnaire, il n'y a aucune chance de retrouver le mot de passe. Cependant, ces dictionnaires sont réalisés sur une base de mots de passe communs : statistiquement, il y a de très fortes chances de retrouver le mot de passe d'une majorité d'utilisateurs.
Enfin, l'ingénierie sociale consiste à mener une enquête sur l'utilisateur afin d'obtenir des informations liées à ses activités, sa famille et autres pour obtenir de nouvelles possibilités de mots de passe.
J'en vois déjà qui sont en train de faire des gros yeux et qui me disent que les sites web n'autorisent en général pas la possibilité de jouer plus de X mots de passe. Et par conséquent, la découverte du mot de passe est difficile. Il faut alors se rappeler que les mots de passe sont en général aussi stockés sur l'ordinateur qui l'utilise. Heureusement, le mot de passe n'est pas en clair mais il a une empreinte. Il est alors simplement nécessaire de jouer toutes les combinaisons de mot de passe jusqu'à retrouver l'empreinte exacte du mot de passe.
changer un mot de passe régulièrement
Plus vous changez de mot de passe, plus vous limitez le risque que votre mot de passe soit réutilisé en cas de découverte à un instant donné et plus il faudra recommencer la procédure de recherche. C'est le principe des authentifications dites fortes où on vous donne un mot de passe "aléatoire". Plus la fréquence de renouvellement du mot de passe est importante, plus le délai de calcul pour découvrir le mot de passe est faible (cas de l'authentification forte) et plus la possibilité de rejouer ce mot de passe est alors faible.
Attention cependant à ne pas tomber dans un travers fréquemment rencontré : parce qu'il faut changer de mot de passe régulièrement, on a tendance à rendre celui-ci beaucoup moins robuste pour s'en rappeler.
jouer sur la robustesse du mot de passe
La plupart des personnes crée leur mot de passe comme ils le peuvent en utilisant les 26 lettres de l'alphabet. Je ne reviendrai pas sur le mot de passe lui même qui est très souvent assez prédictible puisque pas très recherché prénoms des enfants, le nom du chien ou du chat, ou encore du type « azerty » ou "password" et qu'il est si possible court puisqu'on est toujours assez paresseux quand il faut s'authentifier.
Aujourd'hui, la longueur moyenne des mots de passe est de 8 caractères. Un tel mot de passe propose 200 milliards de combinaison. Un ordinateur moyen étant capable de réaliser environ 100 milliards d'opérations par seconde (avec des caractéristiques graphiques, l'ordinateur pourra atteindre plus de 2000 milliards d'opérations), l'ordinateur de monsieur tout le monde sera capable de découvrir ce mot de passe en 1 seconde environ en effectuant une recherche par force brute. En utilisant une puissance de calcul beaucoup plus importante, le temps sera très largement réduit.
Maintenant, que se passe-t-il si on utilise à la fois les lettres minuscules et majuscules? C'est simple, le nombre de combinaisons va augmenter de façon significative : de 200 milliards de combinaisons, on passe à 50000 milliards de combinaisons. Il faudra un délai beaucoup plus significatif pour venir à bout de votre mot de passe : un peu plus de 4 minutes
On montre bien dans cet exemple que plus le nombre de caractères utilisés est important, plus le mot de passe est robuste. C'est pour ça qu'il faut aller encore plus loin dans les caractères utilisés : lettres minuscules et majuscules, chiffres, caractères de ponctuation et autres signes visibles sur votre clavier. En utilisant toute la palette des caractères disponibles, on arrive à obtenir environ 90 caractères soit 4 millions de milliards de combinaisons différentes soit plus de 6 heures de calcul non stop!
6 heures, ça peut paraitre beaucoup mais finalement, ça reste rapide à l'échelle humaine et encore bien plus si on utilise une puissance de calcul beaucoup plus importante comme celle proposée par les fournisseurs de cloud computing ou encore celle disponible dans un botnet.
Le nombre de caractères étant limité, il faut jouer sur la taille du mot de passe. Ajouter un caractère à celui-ci va tout simplement multiplier par presque 100 le nombre de combinaisons et donc le temps pour le craquer soit plus de 22 jours. Avec un tel mot de passe, il va commencer à falloir qu'il y ait un vrai intérêt pour s'attaquer à la recherche de la bonne combinaison... Et à chaque nouveau caractère, ce sera la même multiplication.
Le tableau plus bas présente le nombre de combinaisons en fonction du nombre de caractères. En complément, j'ai rajouté également le temps nécessaire pour que l'un des plus gros botnets de l'histoire (Rustock qui comptait environ un million d'ordinateurs) aurait besoin pour jouer toutes les combinaisons du mot de passe (puissance de calcul encore jamais égalée par un supercalculateur ou autre réseau tel que Folding@home).
Pour rappel, et à titre de comparaison, la terre a environ 4,5 milliards d'années et l'univers 15 milliards soit moins que le temps de résolution à l'heure d'aujourd'hui d'un mot de passe de 18 caractères.
Quand on voit que les recommendations courantes sur les sites web sont d'avoir un mot de passe de minimum 8 ou 9 caractères, ça fait peur... et ça montre le niveau de conseil des différents sites web!!!
Au-delà de 14 caractères, aujourd'hui, le mot de passe peut être considéré comme quasi introuvable.
un bon mot de passe
Pour conclure, un bon mot de passe passe sur l'utilisation de tous les caractères disponibles sur le clavier, prévoir une longueur d'au moins 13 caractères et que celui-ci ne corresponde pas à un mot d'une quelconque langue ou un surnom... aujourd'hui! Et oui, aujourd'hui uniquement parce que la puissance de calcul augmente de façon exponentielle : la puissance de calcul au niveau mondial est multiplié par 10 tous les 4 ans environ. Ceci signifie que dans 4 ans, on peut prédire que le plus gros botnet aura lui aussi multiplié sa puissance de calcul à peu près du même rapport. Le mot de passe de 13 caractères qui était recommandé devra se voir attribuer un nouveau caractère pour conserver une réputation de mot de passe infaillible.
Vue la taille des mots de passe, il va commencer à falloir soit d'avoir une bonne mémoire pour se rappeler de la chaine de caractères qui va servir de mot de passe soit il va falloir être plus malin. On parle de mot de passe mais rien ne dit qu'il faut le créer à partir d'un seul mot : on peut faire ce fameux mot de passe à partir d'une phrase que vous appréciez, que vous n'aurez pas de difficulté à retenir. Par exemple, on pourrait partir de la dernière performance du petit dernier avec la phrase "Tom a raté son bac en 2012.". En reprenant, vos habitudes pour essayer de brouiller les pistes pour créer votre mot de passe, ça pourrait devenir "T0marat3$0nBac3n2012.". Vous avez 21 caractères, l'utilisation d'une large gamme de caractères et il n'y a aucune chance que le mot de passe soit dans un dictionnaire et vous êtes tranquille jusqu'à la prochaine phrase qui vous passera par la tête.
en espérant ne pas vous avoir endormi pour mon 1er article...
Seb