Mise à jour de décembre 2021: trois ans après la publication de cet article, Dashlane a enfin mis à jour son Password Changer pour qu’il fonctionne localement. Cet article n’est donc plus d’actualité, mais il a sans doute joué un rôle dans ce changement. Ci-dessous l’article original à des fins d’archivage.
Initialement, cet article devait être un comparatif de gestionnaires de mots de passe. Cependant, en faisant mes recherches, je suis tombé sur quelques inepties concernant Dashlane qui m’ont poussé à écrire et publier celui-ci.
Concrètement, il y a deux fonctionnalités de Dashlane qui me posent un sérieux problème, tant dans la manière dont elles sont conçues que dans la manière dont elles sont présentées. La première fonctionnalité ne respecte pas les principes du security by design, auxquels toute application ou organisation traitant des données sensibles devrait adhérer d’office. Plus précisément, Dashlane ne respecte pas le principe de minimisation de leur surface d’attaque ; en effet, leur conception ne permet pas de garantir qu’ils n’auront jamais accès aux mots de passe de leurs utilisateurs sans posséder leurs Master Passwords, chose que tout gestionnaire de mots de passe doit être en mesure de garantir.
La conception de Dashlane ne permet pas de garantir qu'ils n'auront jamais accès aux mots de passe de leurs utilisateurs. Tweeter
Le Password Changer de Dashlane¶
La principale fonctionnalité qui pose problème est leur Password Changer. Bien que cette fonctionnalité impressionne, elle présente un sérieux problème de sécurité. En effet, plutôt que de tout faire localement sur la machine de l’utilisateur, comme le fait un autre gestionnaire de mots de passe possédant cette même fonctionnalité, Dashlane le fait via ses serveurs. Leur FAQ mentionne ceci (sans gras dans l’original) :
Lorsque vous tentez de modifier un mot de passe avec Password Changer, il est possible que le site vous avertisse d’une “tentative de connexion suspecte”. En effet, Password Changer se connecte à votre compte depuis nos serveurs et donc depuis un endroit qui est inhabituel, et il est possible que le site identifie cette connexion comme suspecte.
Vous ne rêvez pas : en utilisant le Password Changer de Dashlane, tant votre ancien que votre nouveau mot de passe transitent par leurs serveurs, où ils se retrouvent nécessairement en clair à un moment donné, car sans ça ils ne pourraient pas remplir les formulaires du site web dont ils changent le mot de passe. C’est d’ailleurs ce qu’ils expliquent dans leur page d’explication du Password Changer :
Lorsque vous utilisez Password Changer, vos mots de passe sont toujours générés localement par l’application Dashlane, puis chiffrés et envoyés en toute sécurité vers nos serveurs.
Remarque : le fonctionnement de Password Changer requiert que vos anciens et nouveaux mots de passe soient brièvement déchiffrés sur nos serveurs. Ce processus s’appuie sur une infrastructure de serveurs dédiée et sécurisée. Une fois cette action terminée, vos informations sont immédiatement supprimées.
C’est l’exact opposé du principe de security by design. Le meilleur moyen pour un service de garder des données secrètes est d’assurer qu’il n’y ait jamais accès de quelque manière que ce soit.
Le meilleur moyen pour un service de garder des données secrètes est d'assurer qu'il n'y ait jamais accès de quelque manière que ce soit. Tweeter
J’ai donc contacté Dashlane à ce sujet pour voir comment ils comptaient justifier ça, et le support de premier niveau m’a répondu que c’était sécurisé « car les mots de passe ne passent que 45 secondes à 5 minutes dans la mémoire vive du serveur », le tout noyé dans un gros écran de fumée sur le fait qu’ils sont envoyés chiffrés vers leurs serveurs (encore heureux) et que les mots de passe stockés dans Dashlane ne sont connus que par l’utilisateur et jamais par Dashlane. La quantité de jargon et le langage employé auraient vraiment pu en tromper plus d’un (l’échange complet se trouve à la fin de l’article).
Le pire dans l’histoire, c’est à quel point ils jouent avec les mots. Ils disent que les mots de passe envoyés « sont uniquement utilisés pour mettre à jour vos mots de passe [sur le site] et qu’ils ne sont pas stockés sur [leurs] serveurs », ce qui est tout simplement faux étant donné qu’ils sont stockés en mémoire pour une durée allant de 45 secondes à 5 minutes. Concrètement, cela signifie que tout hacker ou employé malveillant qui aurait accès à la partie du code ou aux serveurs s’occupant des changements de mot de passe pourrait mettre en place un mécanisme qui sauvegarde quelque part les mots de passe reçus.
Mais ça ne s’arrête pas là : ils ont sûrement des systèmes de logging en place, qui gardent donc une trace de toutes les requêtes faites vers leurs serveurs à des fins d’administration, de debugging, etc. Il suffit qu’un jour un employé soit distrait pour que tous les mots de passe se retrouvent dans ces logs, comme c’est arrivé chez Twitter récemment. C’est pour ça que quand il s’agit d’un gestionnaire de mots de passe, le principe de security by design est si important : concevoir les choses pour que quoi qu’il arrive, la conception en elle-même fasse qu’une faille soit pratiquement impossible.
En parlant de principes, le pire dans cette histoire est que la conception du Password Changer va à l’encontre de leurs propres principes de sécurité:
Do not trust anything or anyone: We believe that good security architecture should never trust any server, code, or user it interacts with, including Dashlane’s servers. Even if we do everything we can to ensure our servers’ safety, we always work with the assumption that our servers could become the next target of a cyber criminal at any time; our architectural choices must ensure that such an event, however unlikely it may be, does not break our security model.
Ils disent qu’une bonne architecture de sécurité ne devrait faire confiance à aucun serveur, code ou utilisateur avec lequel elle interagit, y compris les serveurs de Dashlane ; pourtant, c’est précisément ce qu’ils font ici.
La conception du Password Changer va à l'encontre de leurs propres principes de sécurité. Tweeter
Ma suggestion est de supprimer purement et simplement cette fonctionnalité en attendant d’avoir une version qui fonctionne entièrement localement. Ceci dit, je me demande carrément s’il est pertinent de garder une telle fonctionnalité, car elle ne sert vraiment qu’à provoquer un « wow-effect ». En effet, elle n’est pas si utile que ça en sachant qu’il n’y a que deux raisons de changer un mot de passe :
- S’il y a une suspicion que le mot de passe a été découvert par quelqu’un ou quelque chose qui n’aurait pas dû ;
- Si le mot de passe n’est pas sécurisé (autrement dit, s’il a été généré par autre chose qu’un gestionnaire de mots de passe).
Si vous utilisez déjà un gestionnaire de mots de passe, le second point ne sera jamais un problème. Concernant le premier, ça me semble tout de même suffisamment rare que pour pouvoir se passer d’un outil qui change ses mots de passe automatiquement. Le seul cas où un tel outil pourrait vraiment être utile est quand vous utilisez un gestionnaire de mots de passe pour la première fois et que vous modifiez donc tous vos mots de passe. Ceci dit, vous devez de toutes façons déjà ajouter vos comptes un par un, donc autant modifier le mot de passe directement lors de l’ajout de votre compte. En plus, le Password Changer ne supporte de toutes façons qu’un nombre de sites limité de sites et la vaste majorité des gros acteurs manquent à l’appel : Google, Apple, Microsoft, Facebook, Amazon, GitHub, Spotify, Dropbox, LinkedIn, Steam, CloudFlare, Uber et PayPal ne sont par exemple pas supportés. Les seuls que j’ai vu en parcourant la liste sont Netflix, IMDb, Indeed, LDLC, ProtonMail, Reddit, Vimeo, Yelp et certains sites de grands journaux. Tous les autres sont de petits sites ou des sites complètement inconnus. Bref, pas de quoi casser trois pattes à un canard. Ceci étant dit, je doute que le fait que Google et autres ne soient pas supportés soit de la faute de Dashlane ; c’est probablement leur sécurité qui empêche le changement automatisé d’une manière ou d’une autre, mais ça rend le Password Changer d’autant plus inutile et démontre son caractère purement commercial.
Les difficultés de Dashlane à reconnaître le problème n’aident pas leur cas ; j’ai quand même dû insister pas mal auprès de leur support avant d’être redirigé vers le support de second niveau qui a enfin fini par reconnaître le problème, en disant qu’ils avaient essayé de le faire en local, mais que c’était trop lent et qu’ils avaient donc décidé de le faire via leurs serveurs. L’erreur ici a été de se satisfaire d’une solution intermédiaire, alors qu’il aurait fallu attendre de parvenir à créer quelque chose qui fonctionne entièrement localement. Je trouve que ça a un fort air de management qui a forcé la main à une équipe technique insatisfaite de leur solution, sous prétexte « qu’on ne va pas jeter du code qui fonctionne » et que de toutes façons « les hacks et les employés malveillants ça n’arrive qu’aux autres ».
Le Password Sharing de Dashlane¶
Mise à jour de juillet 2019: un an après la publication de cet article, je suis heureux de constater que les soucis dans la documentation du Password Sharing ont été réglés. Je laisse néanmoins le contenu original de cette section ci-dessous à des fins d’archivage.
Dashlane propose également une fonctionnalité qui permet de partager des mots de passe. Ce partage possède deux modes : le premier permettrait uniquement d’utiliser le mot de passe (droits limités), tandis que le deuxième permet de l’utiliser, le voir, le modifier, le partager à son tour ou révoquer l’accès à ce mot de passe aux autres utilisateurs avec qui il a été partagé, y compris celui qui l’a partagé initialement (droits illimités). Mis à part ce dernier point particulièrement étrange, le problème est que leur FAQ tente de faire croire que le mode limité rend impossible le fait de visualiser le mot de passe, or c’est faux.
Les autres utilisateurs peuvent-ils voir le mot de passe que j’ai partagé avec eux ?
Oui, mais cela dépend du niveau de permission accordé lors du partage de données. Il existe deux niveaux de permission pour le partage d’un élément :
- Droits limités : le destinataire peut uniquement utiliser cet élément.
- Droits illimités : le destinataire peut utiliser, afficher, modifier et partager cet élément. Il peut également modifier les droits de partage et les révoquer aux autres utilisateurs y ayant accès, y compris le vôtre.
Assurez-vous de bien accorder les droits illimités aux destinataires si vous voulez qu’ils puissent afficher et modifier le contenu des éléments partagés.
En effet, il est impossible de garantir qu’une personne ne puisse pas voir un mot de passe qu’elle peut utiliser, car la personne peut l’obtenir très facilement de deux manières, via l’inspecteur de son navigateur :
- En modifiant le champ mot de passe en champ de type texte avant de le remplir avec Dashlane ;
- En inspectant les requêtes envoyées via l’onglet réseau.
La première vulnérabilité peut être corrigée en empêchant Dashlane de remplir un mot de passe dans un champ qui n’est pas de type password
, mais la deuxième ne peut tout simplement pas être corrigée. C’est pourquoi je suggère à Dashlane de simplement permettre aux personnes de voir les mots de passe partagés avec des droits limités, afin d’éviter toute ambiguïté et illusion de sécurité. Au grand minimum, il faut qu’ils corrigent leur FAQ pour clarifier les choses.
Notons que ce problème leur a déjà été signalé il y a plus d’un an et qu’aucune correction n’a été faite depuis. J’ai communiqué ceci au support de second niveau, qui m’a dit qu’il transmettrait mon feedback à l’équipe afin qu’ils soient au courant des risques que j’ai mentionnés et qu’ils voient ce qui peut être fait. Après, impossible de savoir si c’était une réponse honnête ou s’ils tentent juste de limiter les dégâts…
Conclusion¶
Les problèmes énoncés ci-dessus démontrent clairement que Dashlane préfère un « wow-effect » au fait d’assurer à 120 % la sécurité des données de ses utilisateurs. Le fait qu’ils aillent à l’encontre de leurs propres principes de sécurité est également profondément troublant. J’espère vraiment que Dashlane changera totalement son approche à l’avenir, car sans les problèmes précités, Dashlane aurait été un choix viable.
Ceci étant dit, même s’ils règlent ces soucis un jour, j’aurais toujours du mal à leur faire confiance en sachant que les intérêts du management n’ont pas l’air d’être alignés avec ceux de leurs utilisateurs. C’est soit directement du mauvais management, soit de l’incompétence au niveau technique, mais dans les deux cas, la faute incombe au management car une mauvaise équipe technique n’arrive pas là par magie. Dans tous les cas, c’est surtout vraiment préoccupant, car le résultat est un gestionnaire de mots de passe dont la conception de base présente des failles, avec des pages d’aide douteuses et du support de premier niveau incompétent, qui tentent tous les deux de noyer le poisson.
Ci-dessous, vous retrouverez mes échanges de mails commentés avec Dashlane (en anglais), que je vous invite vraiment à lire. Si vous utilisez Dashlane et que vous souhaitez changer de gestionnaire de mots de passe, ou que vous n’en utilisez pas encore un, je vous invite à lire mon comparatif de gestionnaires de mots de passe.
Échanges de mails avec Dashlane¶
Hi,
I have recently started comparing password managers to see which one is currently the best on the market. While looking into Dashlane, I stumbled upon your Password Changer feature. Intrigued by it, I dug a little deeper, which is when I found this in your FAQ: “Password Changer uses our servers to actually connect to the sites in order to update your passwords there.”
This means that both the old and the new password are in clear text on your servers at one point or another, since you need to be able to fill them in the forms on the website you’re changing the password for. Would you mind explaining how I should trust the Dashlane team if they think that this is secure? This seems to be the exact opposite of security by design and just begs to be hacked or accessed by a malicious employee.
Best regards,
Pierre-Louis
La première réponse arrive 10 heures plus tard :
Hi Pierre,
Thank you for contacting us and I hope you are doing well!
This is Alex from Dashlane’s Support team and I will be assisting you with your inquiries.Please allow me to explain how Dashlane’s Password Changer works.
The passwords being generated by the Password Changer are always generated locally by the Dashlane application, and they are always transmitted securely or encrypted when updating your passwords on Web sites. All information transmitted to Web pages (including security questions and Two-Factor Authentication codes if required by a site) is done securely, just as if you were logging into individual websites yourself and changing passwords manually.
Note that your passwords – exclusively when using Password Changer – are securely encrypted and transmitted to our servers. They are only used to update your new password there, and they are not stored anywhere on our servers. Only Password Changer works like this. All your account data is encrypted using your master password and made unreadable to anyone, even by us.
Additionally, any sensitive information on our servers (e.g. logins and passwords when signing to sites) is only used temporarily in Random Access Memory. Random Access Memory is a volatile type of memory used as a working space and constantly overwritten with other data – their state is also lost or reset when power is removed from the system. All information is removed from Random Access Memory right after our servers send the result back to the application, which is 45 seconds in average to change a password, or after five minutes if our servers cannot reach your application anymore and confirm that the password was changed during the process. This information is never stored on our servers.
Only you know your passwords. They are only saved in your Dashlane account, which is protected using your master password and secure AES-256 encryption. No one has access to your data in your Dashlane account except you - not even us at Dashlane!
You can also refer to this article which gives advanced explanations on How Password Changer works.
If you would like me to clarify anything else, please let me know. I’m happy to help in any way I can.
Have a great day!
Kind regards,Alex
Dashlane Customer Support
Le langage dans cet email tente vraiment de noyer le poisson en mettant des buzzwords à tout va et en parlant de parties de l’application sans aucun rapport avec le Password Changer qui, elles, sont effectivement sécurisées. J’ai trouvé ça fortement interpellant, donc quand j’ai reçu un email me demandant de noter l’assistance reçue, je n’ai pas manqué de leur faire savoir mon mécontentement. Quelques minutes à peine après avoir communiqué mon feedback, je reçois ceci :
Hi Pierre,
It’s me again, Alex from Dashlane Support Team! I just want to check on you. How’s it going? Do you need any further assistance?
I was able to receive your response using our satisfaction rating tool, and it seems like you are still needed our assistance.
I’m sorry to hear that you don’t find my explanation clear and helpful. Please allow me to explain again how Dashlane’s Password Changer works.
This is how it works: When you request to use the Password Changer, Dashlane is logging in directly to these sites then generate a strong and unique randomly generated password for you and change the password the site on your behalf locally.
All passwords being sent over to our servers are all encrypted using your master password and secure AES-256 encryption - a Military Grade Encryption. No one has access to your data in your Dashlane account except you - not even us at Dashlane!
Additionally, any sensitive information sent over to our servers (e.g. logins and passwords when signing to sites) are encrypted and stored temporarily.
To my understanding with your feedback is, you do see a problem with this process. Do you mind providing with us with additional details?
Thank you very much in advance for your response! I look forward to further assisting you.
Please feel free to get back to me for any question or clarification.
Kind regards,
Alex
Dashlane Customer Support
Tout comme dans leur FAQ, il utilise un langage douteux qui pourrait faire penser que les mots de passe sont changés localement, alors que ce n’est pas le cas, comme il le mentionne lui-même après. En plus de ça, il continue à rabâcher des buzzwords comme « Military Grade Encryption » et me demande ensuite d’expliquer pourquoi je vois un problème avec ce processus, chose déjà expliquée dans mon premier mail. Agacé, je réponds donc ceci :
Hi Alex,
Well yes, I am dissatisfied with your response and this one unfortunately fed my dissatisfaction even further. You are, yet again, throwing all kinds of buzzwords around and speaking of unrelated things. I’m well aware that Dashlane’s password databases are encrypted using AES-256 encryption and that this makes user passwords stored in Dashlane inaccessible to Dashlane, but that’s not the point.
The point is that when using the Password Changer, user passwords are at some point accessible to Dashlane and anyone who has access to the servers that handle the password change in itself, be it employees or a potential hacker. The password is only encrypted en-route to the server, whereas when it is temporarily stored in RAM while it’s being changed, it is necessarily unencrypted, otherwise you wouldn’t be able to fill it into the forms on the website. This is a huge security risk, because it makes the probability of someone accessing a user’s password because of Dashlane non-zero, while it should be… well… zero. This is the opposite of security by design, which is what a password manager should always adhere to.
Best regards,
Pierre-Louis
Réponse un quart d’heure plus tard :
Hi Pierre,
Thanks for writing back and for your feedback.
To better assist you with your inquiry, I will be escalating your concern to a higher level of support.
Kindly wait for the email that you will receive from them.
I appreciate your patience about this inquiry, rest assured that we will do our best to meet your expectations.
Still, have a great weekend! Best regards,
Alex
Dashlane Customer Support
La prochaine réponse s’est un peu fait attendre, mais trois jours plus tard, j’ai enfin eu droit à une réponse plus sensée et modérée :
Hello,
Thank you for your patience. I am Edgar from the Dashlane technical support team and I am here to help you.
I can confirm that the passwords that are changed using Password Changer are indeed updated using our servers and not locally by the application.
The reason why we designed this is to enable multiple passwords to be changed in seconds, which would be less reliable if your computer had to do it, considering many of our users also use mobile devices or may have a bad Internet connection.
Our team is aware that it would be much better to do everything locally, and we plan to work on improving Password Changer in the future to offer a reliable and quick way to change all your passwords locally in seconds.
Unfortunately, the tests we ran for this were not satisfactory enough in terms of performance and reliability and this is why we chose this intermediary solution, which is using one of our servers and working on offering the best security.
Because of this, I can confirm that the Dashlane servers have temporarily access to your current password and the newly password to sign in to the site and change the password there using Password Changer.
We designed this feature with security in mind, and detailed in our documentation on Password Changer, this information is securely transmitted and use a separate server infrastructure, as well as dedicated instances and distinct security groups.
Any sensitive information on our servers is only used temporarily and removed right after our servers sent the result back to the application, which is 45 seconds in average to change a password. Your passwords are never stored on our servers.
I understand your concerns and I have passed your feedback along to the rest of the team.
If you have any other questions related to this feature or would like me to clarify anything else, please let me know.
Kind regards,
Edgar
Dashlane Customer Support
Ça m’a vraiment fait du bien de voir qu’ils reconnaissaient enfin le problème et de savoir qu’ils tentent de changer les choses pour faire ça localement. Cependant, j’ai toujours un problème avec le fait qu’ils aient délivré quelque chose qui n’assure pas la sécurité de leurs utilisateurs à 120 %. Je leur ai donc suggéré de désactiver le Password Changer en attendant qu’ils trouvent une solution pour le faire localement et j’en ai profité pour également leur parler du problème avec leur partage de mots de passe. Voici ma réponse :
Hi Edgar,
Thank you so much for this email, which finally acknowledges the issue. The thing I still have an issue with is that your management still chose to go with a feature that isn’t 120% secure. You should just have gone without a password changer while you took the time to find a way to make it work locally. I definitely understand that you tried to design this in such a way that it would be hard for any leaks to happen, but you’re still making a 0% probability a non-zero probability, which is an issue for a company handling sensitive data. This is bound to go wrong at some point or another. I would suggest disabling Password Changer while you find a solution that works locally. At the very least, the documentation on Password Changer should be updated so that the part for “normal” users acknowledges the fact that the passwords are changed through your servers, because the language there is a quite misleading and to me it almost feels like it’s on purpose. Most people won’t read the part for advanced users, so they won’t necessarily know it’s done via your servers and have a false sense of security.
I also believe part of your password sharing feature needs changing. The FAQ tries to make people believe that if they grant limited rights, the person the password is shared with cannot view it under any circumstances, but that’s completely false and misleading. All the person needs to do is go to the website the password was shared for, open their inspector, log in and check out the password in the network tab. They can also just change the password field into a text field and view it directly in there. Given this, my first suggestion is to change the FAQ to make this clear to your users while you work on my second suggestion, which is allowing people to view passwords even if they were shared with limited rights, in order to avoid any ambiguity. I also think your full-rights sharing needs tweaking, because it just seems weird to me that a person with whom a password was shared would be able to revoke the access of the person who shared it with them, no matter their rights. The only case where this would be normal is a password transfer, so perhaps you could implement something that allows people to transfer passwords to another user directly and remove that part from the password sharer.
Best regards,
Pierre-Louis
Ils m’ont répondu le lendemain :
Hello Pierre-Louis,
Thank you for your reply.
I have read and understand you point of view. I will pass on your feedback on to the team for them to be aware of the risks you mention with the Password Changer and Sharing features and see what can be done.
Please do not hesitate to get back to me if you have other questions.
Kind regards,
Edgar
Dashlane Customer Support
Réponse honnête ou tentative de limiter les dégâts ? Seul l’avenir nous le dira…