Après LinkedIn, c'est au tour de Last.fm d'annoncer que tout ou partie de sa base de mots de passe a été piratée : mieux vaut changer vos mots de passe, c'est donc l'occasion de rappeler quelques conseils utiles.
Le problème avec ces vols
Ces piratages ne sont pas destinés à voler des mots de passe directement : ceux-ci sont aujourd'hui la plupart du temps hashés, c'est-à-dire passés par une moulinette pour devenir illisibles. Mais ces mots de passe hashés peuvent être très utiles. La cible favorite des pirates est un service dont la sécurité est faible et à partir duquel on va pouvoir facilement voler les mots de passe. Encore mieux : certains de ces services peu protégés se contentent en plus de hasher les mots de passe sans prendre d'autres dispositions particulières, comme le salage — c'était le cas de LinkedIn.
Si l'on passe un même mot de passe par une même moulinette, on obtient toujours le même résultat. C'est ainsi que lorsque vous vous connectez à un site, le site passe le mot de passe que vous avez entré à la moulinette, compare le résultat à celui qui est stocké dans sa base, et vous laisse entrer si c'est le bon — dans l'opération, il n'a jamais vu votre mot de passe en clair, mais toujours le mot de passe hashé. La force de ce système est aussi sa faiblesse : des ordinateurs peuvent générer des mots de passe, les hasher, et stocker le mot de passe en clair et sa version hashée. On obtient ainsi des rainbow tables, des tables de comparaison.
Lorsqu'un pirate vole des mots de passe à un service, il tente d'abord de comparer les hashs à ces tables : s'il trouve un mot de passe simple dont on connaît la correspondance, il va alors prendre votre adresse e-mail, ce mot de passe, et essayer la combinaison d'abord sur votre webmail, pour tenter de récupérer d'autres mots de passe que l'on vous aurait envoyé. Il faut ainsi toujours détruire les mails contenant des mots de passe en clair. Il va ensuite essayer la combinaison sur de nombreux sites, jusqu'à réussir à entrer dans votre Paypal, votre iTunes ou votre Amazon avec votre carte bleue, etc. Ainsi, lorsque la sécurité d'un site est compromise, c'est l'ensemble des services que vous utilisez qui peuvent être compromis si vous utilisez un mot de passe unique. C'est pourquoi si vous pouvez vous contenter d'un mot de passe unique pour des services peu critiques, vous devez absolument avoir un mot de passe unique pour chaque service associé à vos données de paiement et vos réseaux sociaux.
Le pirate va ensuite essayer de déchiffrer les hashes : le résultat peut être payant par l'alimentation de nouvelles rainbow tables et l'accès à de nouveaux services, mais prend un temps fou — même si ce temps se réduit de plus en plus maintenant que l'on peut par exemple travailler sur 33,1 milliards de mots de passe à la seconde avec le GPGPU. Un bon mot de passe ralentit d'autant cette opération, comme il ralentit les attaques par force brute sur des services encore moins protégés, une fois que votre adresse e-mail est dans la nature.
Un bon mot de passe est un mot de passe… long !
Un bon mot de passe n'est pas forcément un mot de passe très compliqué, que vous risquez d'oublier — et ce n'est surtout pas votre date de naissance, le nom de votre chien ou de la petite dernière, ou un mot de passe utilisé pour tous vos comptes. C'est d'abord et avant tout un mot de passe long.
On recommandait il y a quelques années de choisir des mots de passe d'environ six à huit caractères, en évitant les mots de passe « bêtes » comme 123456, password et azerty, les mots du dictionnaire ou encore les mots faciles à deviner par ingénierie sociale. C'est une bonne habitude de manière générale, qui évitera que votre mot de passe ne tombe trop vite.
Puisque les programmes de déchiffrement travaillent par permutations et essais, il vaut mieux aussi allonger le mot de passe : alors qu'il faut quelques jours pour craquer un mot de passe de huit caractères (217 millions de possibilités), il faut quelques mois à quelques années pour en craquer un de dix caractères (147 milliards de possibilités), sans même parler de ceux de douze caractères (99 246 milliards de possibilités). On vous demande aussi, en général, d'y glisser une majuscule et un chiffre : il ne faut plus essayer des combinaisons avec 26 possibilités, mais 62. Ajoutez un symbole, et l'espace de recherche passe maintenant à 95 possibilités par emplacement. Un mot de passe de douze caractères avec un symbole, un chiffre et une majuscule ne pourra être craqué, au mieux, qu'en quelques millions de siècles (4,68 x 1029 possibilités). De quoi voir venir.
Le mieux est de choisir un mot de passe assez facile à mémoriser mais suffisamment long et complexe pour être difficile à attaquer par force brute. Par exemple, le mot de passe Blabla######7 est plus facile à mémoriser et plus sûr que le mot de passe t+Kq9wTb : ce dernier peut-être retrouvé en quelques jours, alors que le premier peut en théorie tenir plusieurs dizaines de milliers de siècles. Tout simplement parce qu'il contient une majuscule, un chiffre et des symboles, mais est beaucoup plus long.
À chacun sa technique pour obtenir un mot de passe long, complexe, mais facile à retenir : la méthode la plus simple est celle de la phrase de passe, une phrase que l'on est le seul à connaître dont on utilise la première lettre de chaque mot comme mot de passe, en ayant changé quelques lettres par un chiffre, une majuscule et un symbole. Vous pouvez aussi former tous vos mots de passe de la même manière : la même phrase de passe commençant toujours par une majuscule à laquelle on ajoute un symbole et deux chiffres, qui changent toujours de service en service par exemple.
Gérer vos mots de passe
Vous pouvez aussi vous reposer sur un gestionnaire de mot de passe, ce qui est aujourd'hui une excellente idée : ils vous permettent d'utiliser un mot de passe unique, complexe et long par service, ce qui vous protège plutôt bien des attaques en ligne. Tous ces mots de passe sont stockés dans un fichier chiffré et protégé par un mot de passe maître, que vous êtes le seul à connaître, ce qui protège l'ensemble de vos données en cas d'accès physique à votre machine. Bien sûr, ce mot de passe devra lui aussi être facile à retenir tout en étant difficile à retrouver par attaque par force brute.
Les solutions sont nombreuses et diverses, en voici quelques unes :
De quoi au final non pas être protégé, car les attaques sont maintenant fréquentes et bien organisées, mais d'avoir suffisamment de temps pour réagir en cas de problème.
Le problème avec ces vols
Ces piratages ne sont pas destinés à voler des mots de passe directement : ceux-ci sont aujourd'hui la plupart du temps hashés, c'est-à-dire passés par une moulinette pour devenir illisibles. Mais ces mots de passe hashés peuvent être très utiles. La cible favorite des pirates est un service dont la sécurité est faible et à partir duquel on va pouvoir facilement voler les mots de passe. Encore mieux : certains de ces services peu protégés se contentent en plus de hasher les mots de passe sans prendre d'autres dispositions particulières, comme le salage — c'était le cas de LinkedIn.
Si l'on passe un même mot de passe par une même moulinette, on obtient toujours le même résultat. C'est ainsi que lorsque vous vous connectez à un site, le site passe le mot de passe que vous avez entré à la moulinette, compare le résultat à celui qui est stocké dans sa base, et vous laisse entrer si c'est le bon — dans l'opération, il n'a jamais vu votre mot de passe en clair, mais toujours le mot de passe hashé. La force de ce système est aussi sa faiblesse : des ordinateurs peuvent générer des mots de passe, les hasher, et stocker le mot de passe en clair et sa version hashée. On obtient ainsi des rainbow tables, des tables de comparaison.
Lorsqu'un pirate vole des mots de passe à un service, il tente d'abord de comparer les hashs à ces tables : s'il trouve un mot de passe simple dont on connaît la correspondance, il va alors prendre votre adresse e-mail, ce mot de passe, et essayer la combinaison d'abord sur votre webmail, pour tenter de récupérer d'autres mots de passe que l'on vous aurait envoyé. Il faut ainsi toujours détruire les mails contenant des mots de passe en clair. Il va ensuite essayer la combinaison sur de nombreux sites, jusqu'à réussir à entrer dans votre Paypal, votre iTunes ou votre Amazon avec votre carte bleue, etc. Ainsi, lorsque la sécurité d'un site est compromise, c'est l'ensemble des services que vous utilisez qui peuvent être compromis si vous utilisez un mot de passe unique. C'est pourquoi si vous pouvez vous contenter d'un mot de passe unique pour des services peu critiques, vous devez absolument avoir un mot de passe unique pour chaque service associé à vos données de paiement et vos réseaux sociaux.
Le pirate va ensuite essayer de déchiffrer les hashes : le résultat peut être payant par l'alimentation de nouvelles rainbow tables et l'accès à de nouveaux services, mais prend un temps fou — même si ce temps se réduit de plus en plus maintenant que l'on peut par exemple travailler sur 33,1 milliards de mots de passe à la seconde avec le GPGPU. Un bon mot de passe ralentit d'autant cette opération, comme il ralentit les attaques par force brute sur des services encore moins protégés, une fois que votre adresse e-mail est dans la nature.
Un bon mot de passe est un mot de passe… long !
Un bon mot de passe n'est pas forcément un mot de passe très compliqué, que vous risquez d'oublier — et ce n'est surtout pas votre date de naissance, le nom de votre chien ou de la petite dernière, ou un mot de passe utilisé pour tous vos comptes. C'est d'abord et avant tout un mot de passe long.
Du bon sens sur les mots de passe (XKCD)
On recommandait il y a quelques années de choisir des mots de passe d'environ six à huit caractères, en évitant les mots de passe « bêtes » comme 123456, password et azerty, les mots du dictionnaire ou encore les mots faciles à deviner par ingénierie sociale. C'est une bonne habitude de manière générale, qui évitera que votre mot de passe ne tombe trop vite.
Puisque les programmes de déchiffrement travaillent par permutations et essais, il vaut mieux aussi allonger le mot de passe : alors qu'il faut quelques jours pour craquer un mot de passe de huit caractères (217 millions de possibilités), il faut quelques mois à quelques années pour en craquer un de dix caractères (147 milliards de possibilités), sans même parler de ceux de douze caractères (99 246 milliards de possibilités). On vous demande aussi, en général, d'y glisser une majuscule et un chiffre : il ne faut plus essayer des combinaisons avec 26 possibilités, mais 62. Ajoutez un symbole, et l'espace de recherche passe maintenant à 95 possibilités par emplacement. Un mot de passe de douze caractères avec un symbole, un chiffre et une majuscule ne pourra être craqué, au mieux, qu'en quelques millions de siècles (4,68 x 1029 possibilités). De quoi voir venir.
Le mieux est de choisir un mot de passe assez facile à mémoriser mais suffisamment long et complexe pour être difficile à attaquer par force brute. Par exemple, le mot de passe Blabla######7 est plus facile à mémoriser et plus sûr que le mot de passe t+Kq9wTb : ce dernier peut-être retrouvé en quelques jours, alors que le premier peut en théorie tenir plusieurs dizaines de milliers de siècles. Tout simplement parce qu'il contient une majuscule, un chiffre et des symboles, mais est beaucoup plus long.
À chacun sa technique pour obtenir un mot de passe long, complexe, mais facile à retenir : la méthode la plus simple est celle de la phrase de passe, une phrase que l'on est le seul à connaître dont on utilise la première lettre de chaque mot comme mot de passe, en ayant changé quelques lettres par un chiffre, une majuscule et un symbole. Vous pouvez aussi former tous vos mots de passe de la même manière : la même phrase de passe commençant toujours par une majuscule à laquelle on ajoute un symbole et deux chiffres, qui changent toujours de service en service par exemple.
Gérer vos mots de passe
Vous pouvez aussi vous reposer sur un gestionnaire de mot de passe, ce qui est aujourd'hui une excellente idée : ils vous permettent d'utiliser un mot de passe unique, complexe et long par service, ce qui vous protège plutôt bien des attaques en ligne. Tous ces mots de passe sont stockés dans un fichier chiffré et protégé par un mot de passe maître, que vous êtes le seul à connaître, ce qui protège l'ensemble de vos données en cas d'accès physique à votre machine. Bien sûr, ce mot de passe devra lui aussi être facile à retenir tout en étant difficile à retrouver par attaque par force brute.
Les solutions sont nombreuses et diverses, en voici quelques unes :
- 1Password, qui à l'avantage d'être disponible sur Mac, PC, iPhone et iPad et d'autres plateformes mobiles ;
- Dashlane, un système concurrent mettant l'accès sur la simplicité d'utilisation ;
- KeePass, qui est non seulement gratuit, mais aussi open-source et multi-plateforme.
De quoi au final non pas être protégé, car les attaques sont maintenant fréquentes et bien organisées, mais d'avoir suffisamment de temps pour réagir en cas de problème.