À la suite de la récente violation de LastPass et de l’attaque de bourrage d’informations d’identification de Norton Password Manager, vous pourriez avoir des doutes sur le stockage des mots de passe dans le cloud. Les solutions de gestion des mots de passe qui stockent tous les mots de passe sur votre appareil local, comme le KeePass open-source gratuit, commencent à être vraiment attrayantes. Cependant, un chercheur révélé récemment(Ouvre dans une nouvelle fenêtre) un problème de longue date avec KeePass qui permettrait à un attaquant d’exfiltrer tous vos mots de passe stockés localement en utilisant rien de plus high-tech que le Bloc-notes. Le fondateur de KeePass conteste cette affirmation, bien qu’indirectement.
Que se passe-t-il avec KeePass ? Décomposons-le.
Comment fonctionne KeePass ?
KeePass est extrêmement personnalisable, plus que n’importe quel gestionnaire de mots de passe que nous avons vu. Les aficionados adorent créer et partager des scripts qui modifient les fonctionnalités du produit pour faire exactement ce qu’ils veulent. Et tout est basé sur un système de déclencheurs, conditions et actions(Ouvre dans une nouvelle fenêtre). Si un événement déclencheur se produit et que toutes les conditions nécessaires sont remplies, KeePass exécute l’action.
Beaucoup déclencheurs tournent autour d’événements simples tels que le démarrage du programme, l’ouverture d’une base de données de mots de passe, l’arrêt du programme ou l’enregistrement d’une base de données. Les utilisateurs avancés peuvent configurer un déclencheur basé sur le temps ou un déclencheur lancé par un bouton personnalisé. Oui, vous pouvez même personnaliser les boutons dans l’interface utilisateur KeePass.
Vous pouvez configurer un déclencheur pour qu’il ne se lance que sur le condition qu’une certaine variable d’environnement correspond à une valeur spécifiée, ou qu’un certain fichier est présent, entre autres choses. Plus révélateur, KeePass peut activer un déclencheur de manière conditionnelle, en fonction de la disponibilité d’un hôte distant spécifié.
La plupart des disponibles Actions concernent les opérations internes de KeePass. Un déclencheur peut amener KeePass à importer ou à exporter la base de données de mots de passe, à ouvrir une base de données spécifiée ou à synchroniser la base de données actuelle avec un fichier ou une URL de sauvegarde. Mais il est également possible qu’une action de déclenchement exécute une ligne de commande ou ouvre une URL. Je le répète : un déclencheur peut exécuter une ligne de commande ou ouvrir une URL. C’est le Saint Graal pour les hackers, la possibilité de exécuter du code arbitraire(Ouvre dans une nouvelle fenêtre).
Le site KeePass propose de nombreuses exemples de déclencheurs(Ouvre dans une nouvelle fenêtre) pour effectuer des tâches utiles. Celles-ci incluent la sauvegarde de la base de données au démarrage du programme, l’exportation vers un second format à chaque sauvegarde et la synchronisation de votre base de données avec le stockage en nuage.
Abus du système de déclenchement
En janvier 2023, le chercheur en sécurité Alex Hernandez a détaillé une attaque de preuve de concept, abusant du système de déclenchement KeePass pour exfiltrer une copie en texte brut de tous les mots de passe. Le NIST (National Institute of Standards & Technology) a pris le rapport suffisamment au sérieux pour ajouter l’attaque à sa base de données de vulnérabilités, sous l’identifiant CVE-2023-24055(Ouvre dans une nouvelle fenêtre)bien qu’il soit contesté par KeePass.
Hernandez a publié un exemple de code pour l’attaque sur Github – ceux qui ont suffisamment de compétences peuvent lire les détails ici(Ouvre dans une nouvelle fenêtre). En bref, il a modifié le fichier de configuration KeePass en texte brut pour créer une action déclenchée en enregistrant la base de données KeePass. Lorsqu’un événement de sauvegarde se produit, KeePass exporte également la base de données de mots de passe vers une version en texte brut sans demander le mot de passe principal. Un autre déclencheur télécharge la base de données exportée vers un serveur en attente. Et tout ce qui est nécessaire pour commettre ce vol est la possibilité de modifier le fichier de configuration KeePass, soit en s’asseyant sur le Bloc-notes sur un ordinateur déverrouillé, soit en utilisant un cheval de Troie d’accès à distance pour effectuer le travail à distance.
Supposons que le système est compromis
Le créateur et fondateur de KeePass, Dominik Reichl, a riposté à la vulnérabilité supposée, déclarant que tout attaquant disposant de privilèges suffisants pour modifier le fichier incriminé peut facilement faire bien pire. Il a balayé les demandes des utilisateurs d’interdire au moins la possibilité d’exporter sans exiger le mot de passe principal, et il a fait fi de la nécessité de tout changement dans KeePass lui-même, en disant “KeePass ne peut pas fonctionner comme par magie en toute sécurité dans un environnement non sécurisé”.
Le fait est que fonctionner en toute sécurité dans un environnement non sécurisé est exactement la façon dont la sécurité moderne devrait fonctionner. Les développeurs avertis supposent que le système est compromis et élaborent des techniques pour préserver la sécurité malgré tout. Cet état d’esprit, aussi appelé Zéro Confiance(Ouvre dans une nouvelle fenêtre)est au cœur de nombreux paradigmes de sécurité modernes, y compris le protocole élaboré qui permet aux gestionnaires de mots de passe basés sur le cloud d’authentifier les utilisateurs sans jamais connaître leurs mots de passe.
KeePass vs autres gestionnaires de mots de passe
Si vous vous éloignez de votre bureau et laissez votre gestionnaire de mots de passe connecté, toute personne qui parvient à s’asseoir à votre place peut exporter vos mots de passe et les copier sur une clé USB ou les envoyer à un serveur. C’est le scénario apocalyptique. Quel que soit le gestionnaire de mots de passe que vous utilisez, vous êtes dans un monde de problèmes. Juste un rappel; configurez votre gestionnaire de mots de passe pour qu’il se déconnecte automatiquement après une inactivité et verrouillez toujours votre ordinateur lorsque vous vous éloignez.
Notez que l’exploit KeePass ne nécessite en aucun cas l’accès à une instance ouverte du programme lui-même. KeePass n’a pas besoin d’être en cours d’exécution. Les actes sales se produisent lors du prochain lancement de KeePass.
Qu’en est-il des autres gestionnaires de mots de passe ? Que pourrait accomplir un intrus à votre bureau, en supposant que votre base de données de mots de passe est verrouillée ? Pourraient-ils changer la configuration? Affaiblir la sécurité ? Endommager ou supprimer la configuration ? Effacer vos mots de passe stockés ? J’ai demandé des commentaires à des experts de plusieurs sociétés de gestion de mots de passe populaires.
Keeper ne conserve aucun fichier de configuration textuel. Un attaquant qui parviendrait à effacer la configuration de Keeper constaterait simplement que Keeper se comporte comme s’il était à nouveau tout nouveau, nécessitant l’authentification multifacteur que Keeper impose à chaque nouvelle installation. Mon contact Keeper m’a expliqué que Keeper n’avait tout simplement aucune fonction d’exportation automatisée. Il a estimé que KeePass devrait supprimer cette fonctionnalité.
NordPass conserve les paramètres de configuration chiffrés à la fois sur le serveur et sur le client. Si un attaquant effaçait la configuration côté client, “la pire chose qui pourrait arriver serait un changement d’apparence de l’application”, selon le contact de mon entreprise. Et si la copie locale de la base de données de mots de passe devait être supprimée, NordPass la restaurerait simplement à partir du serveur.
L’équipe de Bitwarden a noté qu’elle évitait de commenter les vulnérabilités CVE signalées, car n’importe qui peut les soumettre. Ils ont déclaré que Bitwarden “a beaucoup de respect pour les gestionnaires de mots de passe open source”. Bitwarden est lui-même un projet open source(Ouvre dans une nouvelle fenêtre)avec un niveau gratuit qui contient de nombreuses fonctionnalités.
Recommandé par nos rédacteurs
Stockage local uniquement – jusqu’à ce qu’il ne le soit plus
Étudier KeePass m’a fait penser au stockage local uniquement, une fonctionnalité très appréciée de ce programme. Prêt à l’emploi, KeePass maintient simplement sa base de données de mots de passe sur votre seul et unique PC. Si vous souhaitez synchroniser les mots de passe avec une autre installation, copiez votre base de données sur une clé USB, synchronisez-la avec l’autre PC, puis recopiez-la. Comparé à la synchronisation automatique sans prise de tête des solutions de gestion de mots de passe basées sur le cloud, c’est plutôt fastidieux.
Heureusement (ou est-ce ?) KeePass prend en charge les plug-ins(Ouvre dans une nouvelle fenêtre), et bon nombre des plus de 100 plug-ins impliquent un moyen de faciliter le processus de synchronisation. Le problème est qu’à chaque fois que vous en utilisez un, vous élargissez la surface d’attaque. Il est clair que vous faites confiance à KeePass, sinon vous ne l’utiliseriez pas. Mais maintenant, vous devez vous demander si la personne qui a écrit le plug-in tiers gérera vos données en toute sécurité. Vous faites également confiance à Google, Microsoft ou à toute autre société qui fournit votre stockage cloud. Les services de stockage cloud de base incluent des fonctionnalités de sécurité, mais généralement pas au niveau fourni par le stockage de mot de passe dédié dans le cloud.
En bref, KeePass stocke vos mots de passe localement et vous pouvez même synchroniser manuellement vos bases de données avec une autre installation. Mais si vous optez pour une sorte de synchronisation pratique, vous ouvrez une plus grande surface d’attaque.
Notez que le stockage local n’a pas besoin d’empêcher la synchronisation sécurisée. Le regretté MyKi a stocké tous les mots de passe sur votre appareil mobile, en utilisant ses serveurs relais pour gérer la synchronisation. Vos données sont passées à travers Les serveurs de MyKi, mais n’y résidaient pas. Hélas, MyKi, centré sur le mobile gratuit, a fermé ses portes au printemps 2022 après son rachat par SauterCloud(Ouvre dans une nouvelle fenêtre).
Devriez-vous toujours utiliser KeePass ?
Rien ne s’est passé avec KeePass en janvier. Il n’y a pas eu de piratage ou de violation de données. Rien n’a changé. Un chercheur a simplement souligné une vulnérabilité qui existe depuis des années. Nous comprenons maintenant que les mêmes fonctionnalités de déclenchement et de plug-in qui font de KeePass le chouchou du bricoleur peuvent être vulnérables aux abus.
Vous pouvez continuer à utiliser KeePass, si vous le souhaitez, avec quelques précautions. Gardez un puissant utilitaire antivirus installé et mis à jour, pour vous assurer que personne ne peut utiliser un cheval de Troie d’accès à distance pour modifier votre fichier de configuration KeePass. Protégez votre compte Windows avec un mot de passe fort, des données biométriques ou les deux, et configurez-le pour qu’il se verrouille après une courte période d’inactivité. Lorsque vous vous levez de votre bureau, appuyez sur Windows + L pour verrouiller de manière proactive le bureau. Ça devrait le faire.
Bien sûr, vous avez toujours le problème de l’exposition si vous souhaitez une synchronisation automatisée. Comme indiqué, vous devez faire confiance à l’auteur du plug-in de synchronisation et vous reléguez votre mot de passe à la sécurité offerte par le fournisseur de stockage en nuage que vous avez choisi.
Pour ma part, je m’en tiens au stockage en nuage pour mes mots de passe. Lorsqu’ils sont mis en œuvre selon le paradigme Zero Trust, ces services doivent fournir une sécurité maximale même dans un environnement compromis. Je considère ce stockage axé sur la sécurité comme nettement plus sûr que le stockage local uniquement, dont la sécurité peut être affaiblie par l’exécution de code arbitraire et des plug-ins tiers.
Vous aimez ce que vous lisez ?
Inscrivez vous pour SecurityWatch newsletter pour nos meilleures histoires de confidentialité et de sécurité livrées directement dans votre boîte de réception.
Cette newsletter peut contenir des publicités, des offres ou des liens d’affiliation. L’inscription à une newsletter indique votre consentement à notre Conditions d’utilisation et politique de confidentialité. Vous pouvez vous désabonner des newsletters à tout moment.