Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
Gautam, Yadav, Smith et al.
Password managers provide significant security benefits to users. However, malicious client-side scripts and browser extensions can steal passwords after the manager has autofilled them into the web page. In this paper, we extend prior work by Stock and Johns, showing how password autofill can be hardened to prevent these local attacks. We implement our design in the Firefox browser and conduct experiments demonstrating that our defense successfully protects passwords from XSS attacks and malicious extensions. We also show that our implementation is compatible with 97% of the Alexa top 1000 websites. Next, we generalize our design, creating a second defense that prevents recently discovered local attacks against the FIDO2 protocols. We implement this second defense into Firefox, demonstrating that it protects the FIDO2 protocol against XSS attacks and malicious extensions. This defense is compatible with all websites, though it does require a small change (2-3 lines) to web servers implementing FIDO2.
academic
Les mots de passe et FIDO2 sont destinés à rester secrets : Un canal d'authentification sécurisé pratique pour les navigateurs Web
Titre : Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
Auteurs : Anuj Gautam (University of Tennessee), Tarun Yadav (Brigham Young University), Garrett Smith (Brigham Young University), Kent Seamons (Brigham Young University), Scott Ruoti (University of Tennessee)
Classification : cs.CR (Cryptographie et sécurité)
Conférence de publication : CCS '25 (Conférence ACM SIGSAC sur la sécurité informatique et des communications)
Les gestionnaires de mots de passe offrent des avantages de sécurité significatifs aux utilisateurs, mais les scripts clients malveillants et les extensions de navigateur peuvent voler les mots de passe après que le gestionnaire les ait remplis automatiquement sur les pages Web. Cet article étend les travaux antérieurs de Stock et Johns, démontrant comment renforcer le remplissage automatique des mots de passe pour prévenir ces attaques locales. Les auteurs ont implémenté leur conception dans le navigateur Firefox et ont mené des expériences prouvant que cette défense protège efficacement les mots de passe contre les attaques XSS et les extensions malveillantes. L'étude montre également que cette implémentation est compatible avec 97 % des 1000 premiers sites Web d'Alexa. De plus, les auteurs ont généralisé la conception, créant un deuxième mécanisme de défense pour prévenir les attaques locales récemment découvertes contre le protocole FIDO2.
Les gestionnaires de mots de passe présentent une faille de sécurité évidente : les mots de passe sont vulnérables au vol pendant la période entre leur remplissage automatique dans le navigateur et leur transmission au site Web. Cela inclut le vol provenant des menaces suivantes :
Suivi Web : Peut collecter involontairement les informations de mot de passe
Attaques par injection (comme XSS) : Les scripts malveillants peuvent lire directement les mots de passe du DOM
Extensions de navigateur malveillantes : Les extensions disposant des permissions appropriées peuvent accéder au contenu des pages Web et aux requêtes réseau
Bibliothèques JavaScript compromises : Injection de code malveillant résultant d'attaques de la chaîne d'approvisionnement
Ces attaques sont relativement courantes ; la recherche montre qu'au moins 2-3 % des sites Web populaires contiennent des suivi Web qui fuient les mots de passe
Les attaques XSS continuent d'être classées par l'OWASP parmi les 10 principaux risques de sécurité des applications Web
Le problème des extensions de navigateur malveillantes s'aggrave, avec des milliers d'extensions disposant de permissions suffisantes pour mener ces attaques présentes dans le Chrome Web Store
Stock et Johns ont proposé un protocole de protection des mots de passe basé sur la substitution de nonce il y a dix ans, mais ce protocole était incompatible avec la conception des navigateurs modernes. Même le navigateur Firefox, où il fonctionnait à l'époque, a rapidement supprimé les fonctionnalités pertinentes, ce qui a empêché l'adoption du protocole et le développement de recherches ultérieures.
Implémentation d'une API pratique de substitution de mots de passe basée sur les nonces : Modification des navigateurs modernes pour soutenir une implémentation fonctionnelle du protocole de Stock et Johns
Extension du modèle de menace : Identification et résolution de la menace des extensions de navigateur malveillantes non considérée par le protocole original
Canal sécurisé FIDO2 : Généralisation de la conception au protocole FIDO2, protégeant contre les attaques locales récemment découvertes
Vérification du déploiement pratique : Implémentation et évaluation dans Firefox, démontrant la compatibilité avec 97 % des sites Web populaires
Concevoir un canal de navigateur sécurisé permettant au gestionnaire de mots de passe de transmettre en toute sécurité les mots de passe au site Web, sans permettre aux scripts DOM ou aux extensions de navigateur d'accéder au contenu réel des mots de passe.
Traitement des requêtes : Le serveur place la charge utile FIDO2 réelle dans l'en-tête webauthn_request, la réponse de la page contenant des valeurs factices
Interception des en-têtes : Le navigateur supprime les en-têtes sensibles avant qu'ils ne soient accessibles aux extensions
Remplacement d'API : Les valeurs factices sont remplacées par les valeurs réelles à l'intérieur de l'API webAuthn
Protection des réponses : Les valeurs de retour de l'API sont remplacées par des valeurs factices, les valeurs réelles étant stockées en toute sécurité
Transmission finale : Lors de l'envoi de la requête au point de terminaison spécifié, les valeurs factices sont remplacées par la réponse FIDO2 réelle
Cet article fournit pour la première fois une implémentation fonctionnelle du protocole de Stock et Johns, comblant un vide de dix ans dans ce domaine de recherche, et l'étend à la protection du protocole FIDO2.
Cet article cite 47 références connexes, comprenant principalement :
L'article original du protocole de substitution de nonce de Stock et Johns
Recherche connexe sur l'analyse de sécurité des gestionnaires de mots de passe
Recherche empirique sur les menaces de sécurité des extensions de navigateur
Littérature d'analyse de sécurité du protocole FIDO2
Recherche sur l'état actuel du suivi Web et des attaques XSS
Évaluation globale : Ceci est un article de sécurité des systèmes ayant une valeur pratique importante, convertissant avec succès la conception théorique en un système prototype fonctionnel et validant son efficacité par des expériences complètes. L'article non seulement résout un problème de sécurité important dans le monde réel, mais ouvre également de nouvelles directions pour la recherche future. Bien qu'il fasse toujours face à des défis en matière de déploiement et de compatibilité, sa contribution technique et sa valeur pratique en font une avancée importante dans le domaine de la sécurité des navigateurs.