Connexion
Abonnez-vous

Sur Android, des gestionnaires de mots de passe laissaient fuiter des identifiants

« Oups »

Sur Android, des gestionnaires de mots de passe laissaient fuiter des identifiants

Certains gestionnaires de mots de passe sur Android laissent filtrer des informations quand ils remplissent automatiquement les champs d’authentification dans une application. Cette découverte a été présentée la semaine dernière la conférence Black Hat. Des correctifs ont déjà été apportés.

Le 13 décembre 2023 à 17h10

Les gestionnaires de mots de passe jouent un rôle crucial dans la sécurité aujourd’hui. Ils permettent non seulement de stocker les identifiants pour les régurgiter quand nécessaire, mais surtout de créer des mots de passe uniques et aléatoires. On peut dès lors avoir un mot de passe différent pour chaque service, en plus de pouvoir créer de longues chaines de caractères (majuscules, minuscules, chiffres et caractères spéciaux).

Bien qu’ils apportent un surplus de protection, la sécurité proposée dépend de la manière dont les informations sont traitées, comme on l’a vu avec LastPass.

Des chercheurs, menés par Ankit Gangwal de l’Indian Institutes of Information Technology, ont montré à la dernière conférence Black Hat qu’il était assez simple, sous Android, de récupérer les identifiants échangés entre un gestionnaire et une application, quand le premier ne fait pas attention aux conditions de l’échange.

C’est (pas) la faute de WebView

Sur Android comme sur iOS, on peut déclarer une application comme gestionnaire de mots de passe par défaut. Lorsque l’on souhaite se connecter sur une application ou un site web, ce gestionnaire peut venir alors fournir les identifiants dans les champs correspondants.

De nombreuses applications proposent une webview pour gérer ces champs. Il s’agit d’une vue déportée du navigateur, qui vient s’intégrer naturellement dans l’application. Cela évite des allers-retours entre l’application et le navigateur, avec un important gain de temps.

Selon les chercheurs qui ont présenté leurs travaux la semaine dernière, c’est justement autour de cette webview que se situe le problème. Malheureusement, quand l’échange d’informations n’a pas été bien préparé, cette webview peut laisser filtrer les informations d’authentification à l’application censée les recevoir, alors qu’elles sont censées ne jamais être révélées.

Il devient donc possible d’imaginer des vecteurs d’attaque pour récupérer ces informations, notamment via une application malveillante qui surveillerait ces échanges. C’est ce qu’ont fait les chercheurs.

Le problème survient également avec les mécanismes SSO d’Apple, Facebook, Google, Microsoft et autres. À partir du moment où une webview est demandée par une application, le gestionnaire peut lui confier ses précieuses informations. Si le mécanisme n’est pas suffisamment robuste, les données d’authentification peuvent fuiter.

1Password, LastPass, Keeper…

Devant les tentatives des chercheurs, plusieurs gestionnaires ont été épinglés pour avoir révélé à la fois l’identifiant et le mot de passe : LastPass (5.11.0.9519), Enpass (6.8.2.666), Keepas2Android (1.09c-r0) et Keeper (16.4.3.1048). 1Password (7.9.4) a révélé le mot de passe seul, tandis que Google Smart Lock (13.30.8.26) et Dashlane (6.2221.3) n’ont rien révélé.

Curieusement, BitWarden ne semble pas avoir été testé. Avec un peu de JavaScript, tous les gestionnaires ont en revanche révélé les deux informations. Les tests ont eu lieu sur les versions 10, 11 et 12 d’Android.

Ces travaux ont été menés l’année dernière. Tous les éditeurs concernés ont été avertis, et tous ont depuis corrigé le tir, comme l'a indiqué Forbes notamment.

Comme l’a confirmé Google à BleepingComputer, le problème ne réside pas dans le composant WebView, mais dans la manière dont les applications l’utilisent. Chez LastPass et Keeper, on insiste sur la faible dangerosité de la faille, car les chercheurs avaient utilisé un malware pour intercepter les informations, ce qu’une application classique provenant du Play Store ne peut a priori pas faire. Du côté de 1Password, on ne cherche pas à se défendre : les travaux ont permis d’identifier une faiblesse, qui a depuis été colmatée.

Interrogée par TechCrunch, l’équipe de chercheurs a confirmé que d’autres travaux étaient en cours pour vérifier si le problème était reproductible sur iOS.

Commentaires (21)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
Ah zut, le seul qui m'intéresse n'a pas été testé dommage :transpi: (Bitwarden)
votre avatar
"Chez LasptPass et Keeper, on insiste sur la faible dangerosité de la faille"
En même temps chez LastPass, ils doivent être habitués à minimiser avec le temps :D
Curieux en effet de ne pas tester Bitwarden.
votre avatar
Il semble qu'Enpass ait corrigé la faille en version 6.8.3, publiée le 29 septembre 2022 https://link.enpass.io/release-notes/android/ . Est-ce voulu qu'ils aient testé une version périmée depuis plus d'un an de l'application ? Ou est-ce juste qu'ils ne révèlent la faille qu'une fois qu'elle a été corrigée partout ?
votre avatar
Quand ce genre de vulnérabilité est présentée en conférence, c'est que ça fait des mois que les éditeurs ont été prévenus. Il est même arrivé que des présentations soient repoussées d'un an pour permettre à l'éditeur de corriger une faille.
votre avatar
Curieusement, Firefox non plus n'a pas été testé.
votre avatar
Firefox transmet-il les informations à d'autres applis ? Si non (ce que je pense), c'est en-dehors du champ de l'étude ce n'est pas le même problème.
Par contre, je suis étonné que le Samsung Pass n'ait pas été testé non plus.
votre avatar
Firefox peut être utilisé comme gestionnaire de mot de passe utilisable dans les autres applications. Donc j'imagine que oui, ça rentre dans le cadre de l'étude.
votre avatar
C'est vrai. Reste à savoir si les applis non testées utilisaient quand même ce fameux composant et si la raison pour laquelle elles n'ont pas été testées.
votre avatar
J'ai remplacé Keepass2Android par KeePassDX, c'est tellement mieux niveau ergonomie. Mais pas dans la liste, dommage !
votre avatar
Je l'utilise depuis longtemps et j'apprécie beaucoup son comportement justement.

A première vue, son intégration "Magic Keyboard" ne me semble pas concernée par cette faille, mais je n'en suis pas non plus certain.
votre avatar
Pour ma part je dois rester sur Keepass2Android car KeepassDX ne permet pas de mettre à jour la base sur Dropbox.
votre avatar
pas moyen de faire de webdav sur Dropbox ?
ou sinon synchro via l'app dropbox ?
votre avatar
Ça marche comme ça ;-)
votre avatar
Tant mieux en fait.

arstechnica.com Ars Technica
votre avatar
La base de mots de passes keepass est évidemment chiffrée.
votre avatar
Oui je sais bien, j'utilise Keepass depuis une décennie.

C'était principalement une boutade au vu de l'activation par défaut de services potentiellement problématiques en matière de confidentialité des données qui m'avait donné l'envie de partager ceci.
votre avatar
Je l'utilise également depuis quelques années et pour m'en utilisation de gestionnaire de mot de passe, il fait parfaitement l'affaire. Avec une synchro de la base qu'il y a sur mon PC via Syncthing, c'est royal. :)
votre avatar
j'ai Keepass2Android (version 1.09e-r7) j'imagine que ça n'a aucun rapport avec Keepas2Android (16.4.3.1048) !
votre avatar
Il s'agit d'une erreur que je viens de signaler. Il y a une inversion entre les versions de keepass2android et keeper (confirmation facile via le document présenté en conférence et présent en lien dans l'article)
Je rejoins le commentaire précédent sur l'âge de l'étude. Keepass2android est actuellement en version 1.09e-r7 depuis avril 2023 selon le play store. Ça reste intéressant d'apprendre le problème mais ça va nécessiter de retester toutes les versions actuelles pour savoir si elles sont impactées.
votre avatar
De ce que je comprends ça a justement été corrigé depuis 1an, si tu utilise la dernière c'est a priori ok :
Ces travaux ont été menés l’année dernière. Tous les éditeurs concernés ont été avertis, et tous ont depuis corrigé le tir, comme l’a indiqué Forbes notamment
votre avatar
En fait je n'ai pas vu en quoi c'est une faille (oui j'arrive après la guerre).

le gestionnaire d'identifiants fournit l'identifiant, et le mot de passe... mais c'est leur rôle justement.
"cette webview peut laisser filtrer les informations d’authentification à l’application censée les recevoir"

Je suis confus, j'ai du rater une subtilité.

Sur Android, des gestionnaires de mots de passe laissaient fuiter des identifiants

  • C’est (pas) la faute de WebView

  • 1Password, LastPass, Keeper…

Fermer