Nous venons de recevoir un avertissement de la part de Twitter, qui reconnait avoir commis une grave erreur en matière de sécurité : l’entreprise a stocké des copies non chiffrées de mots de passe.
Oui, oui, vous avez bien lu : des mots de passe en clair, enregistrés sur le disque !!
Quelle annonce faite justement le jour du World Password Day !
Tous les fidèles lecteurs de notre blog de sécurité savent pertinemment que les mots de passe en clair sont à éviter de manière définitive et non négociable.
Il est bon d’avoir des mots de passe en mémoire temporairement à des fins de vérification lors de la connexion, mais c’est tout, vous ne devez pas chercher à en faire davantage avec ces mots de passe bruts.
Vous ne devez pas effectuer le stockage des mots de passe au sein d’un fichier temporaire que vous avez l’intention de supprimer plus tard. En effet, votre programme peut tout simplement planter avant d’avoir pu le nettoyer correctement, ou le disque sur lequel vous avez écrit les données peut être démonté avant la fin.
Vous ne devez pas non plus conserver des mots de passe dans la mémoire virtuelle que le système d’exploitation pourrait transférer dans le fichier d’échange (swap) du système, pour éviter que les mots de passe ne soient renvoyés sur le disque en cas de surcharge massive du système.
Sous Windows, vous pouvez utiliser la fonction système
VirtualLock()
pour maintenir les blocs mémoire “verrouillés” dans la RAM physique, les empêchant ainsi d’être renvoyés vers le fichier d’échange (swap).
Vous devez absolument, absolument, ne jamais permette un stockage des mots de passe non chiffrés dans un quelconque endroit supposé être permanent…
…et cela implique bien évidemment de s’assurer de NE PAS ÉCRIRE DES MOTS DE PASSE DANS LES LOGFILES PAR ERREUR.
Malheureusement, c’est ce que Twitter a fait, d’où son mea culpa aujourd’hui.
La bonne nouvelle est que les bases de données de mots de passe activement utilisées par Twitter pour la surveillance des connexions ont été mises en œuvre en toute sécurité.
Twitter utilise bcrypt
, un algorithme qui effectue une opération de type : salt-hash-stretch pour transformer les mots de passe en checksums cryptographiques que vous pouvez utiliser ultérieurement pour vérifier qu’un mot de passe stocké temporairement en mémoire a été correctement saisi.
En effet, une procédure de hachage de mot de passe comme celle proposée par bcrypt
vous permet de travailler à partir d’un mot de passe fourni, afin de le comparer au mot de passe haché et stocké, mais ne vous autorise pas à revenir en arrière pour récupérer le mot de passe d’origine.
Même si les cybercriminels parviennent à pénétrer votre système et voler le fichier de mots de passe, ils ne pourront tout simplement pas lire les mots de passe présents dans la base de données piratée.
Au lieu de cela, ils devront tester tous les mots de passe possibles (ou essayer un “dictionnaire” de mots de passe potentiels) avec le hash de chaque utilisateur et attendre patiemment de voir quels mots de passe ils auront réussi à deviner correctement.
La mauvaise nouvelle ici, bien sûr, est que la sécurité fournie par l’utilisation de bcrypt
pour la vérification du mot de passe a été réduite à néant par le stockage des mots de passe en clair dans les logs système.
Si les cybercriminels étaient partis à la cherche des logs plutôt que de la base de données des mots de passe, ils étaient alors en mesure d’extraire les mots de passe directement, sans avoir besoin de cracker quoi que ce soit, où d’utiliser des “attaques par dictionnaire”.
Quoi faire ?
Twitter prétend qu’il a maintenant “corrigé le bug” et que son enquête “ne montre aucune tentative de violation ou d’abus de la part d’un tiers”.
Twitter vous conseille donc simplement d’”envisager un changement de votre mot de passe”.
Nous allons aller plus loin en vous incitant très fortement à changer votre mot de passe. En effet, Twitter ne dit pas depuis combien de temps les mots de passe étaient stockés, ni combien d’entre eux ont été concernés par cette erreur. Ainsi, nous ne pouvons pas évaluer dans quelle mesure et à quelle échelle exactement les mots de passe enregistrés ont pu être répliqués à ce jour.
Nous vous suggérons également de commencer à utiliser le système d’authentification à deux facteurs de Twitter, également connu sous le nom de vérification de connexion, si vous ne l’avez pas déjà fait.
Cela signifie que vous devez fournir un code à usage unique, qui vous sera envoyé sur, ou qui sera calculé par, votre téléphone mobile lors de votre connexion, rendant ainsi votre seul mot de passe insuffisant.
Devez-vous cesser d’utiliser Twitter en raison de cette négligence ?
Cela dépend de vous, bien sûr, mais nous pensons qu’un changement rapide de votre mot de passe est suffisant !
Billet inspiré de Twitter admits to password storage blunder – change your password now!, sur Sophos nakedsecurity.