2025-11-14T09:58:11.521609

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

Le Password e FIDO2 Devono Rimanere Segrete: Un Canale di Autenticazione Sicuro Pratico per i Browser Web

Informazioni Fondamentali

  • ID Articolo: 2509.02289
  • Titolo: Le Password e FIDO2 Devono Rimanere Segrete: Un Canale di Autenticazione Sicuro Pratico per i Browser Web
  • Autori: 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)
  • Classificazione: cs.CR (Crittografia e Sicurezza)
  • Conferenza di Pubblicazione: CCS '25 (ACM SIGSAC Conference on Computer and Communications Security)
  • Link Articolo: https://arxiv.org/abs/2509.02289

Riassunto

I gestori di password forniscono vantaggi di sicurezza significativi agli utenti, ma script client malevoli e estensioni del browser possono rubare le password dopo che il gestore le ha compilate automaticamente nelle pagine web. Questo articolo estende il lavoro precedente di Stock e Johns, dimostrando come rafforzare la compilazione automatica delle password per prevenire questi attacchi locali. Gli autori hanno implementato il loro design nel browser Firefox e condotto esperimenti che dimostrano che la difesa protegge con successo le password dagli attacchi XSS e dalle estensioni malevole. La ricerca mostra inoltre che l'implementazione è compatibile con il 97% dei primi 1000 siti web di Alexa. Inoltre, gli autori generalizzano il design, creando un secondo meccanismo di difesa per prevenire gli attacchi locali recentemente scoperti contro il protocollo FIDO2.

Contesto della Ricerca e Motivazione

Problema Centrale

I gestori di password presentano una vulnerabilità di sicurezza evidente: le password sono vulnerabili al furto durante il periodo tra la compilazione automatica nel browser e la trasmissione al sito web. Ciò include il furto dalle seguenti minacce:

  1. Tracker Web: Potrebbero raccogliere involontariamente informazioni sulle password
  2. Attacchi di Iniezione (come XSS): Script malevoli possono leggere direttamente le password dal DOM
  3. Estensioni del Browser Malevole: Le estensioni con permessi appropriati possono accedere ai contenuti delle pagine web e alle richieste di rete
  4. Librerie JavaScript Compromesse: Iniezione di codice malevolo derivante da attacchi alla catena di approvvigionamento

Importanza del Problema

  • Questi attacchi sono relativamente diffusi; la ricerca mostra che almeno il 2-3% dei siti web popolari contiene tracker web che perdono password
  • Gli attacchi XSS continuano ad essere elencati da OWASP tra i 10 principali rischi di sicurezza delle applicazioni web
  • Il problema delle estensioni del browser malevole è in crescita, con migliaia di estensioni nel Chrome Web Store che dispongono di permessi sufficienti per condurre tali attacchi

Limitazioni degli Approcci Esistenti

Stock e Johns hanno proposto un protocollo di protezione delle password basato sulla sostituzione di nonce un decennio fa, ma il protocollo non era compatibile con i design moderni dei browser. Anche il browser Firefox, dove il protocollo funzionava all'epoca, ha rapidamente rimosso la funzionalità correlata, impedendo l'adozione del protocollo e lo sviluppo della ricerca successiva.

Contributi Principali

  1. Implementazione di un'API pratica di sostituzione delle password basata su nonce: Modifica dei browser moderni per supportare un'implementazione funzionante del protocollo di Stock e Johns
  2. Estensione del Modello di Minaccia: Identificazione e affrontamento della minaccia delle estensioni del browser malevole non considerate dal protocollo originale
  3. Canale Sicuro FIDO2: Generalizzazione del design al protocollo FIDO2 per proteggere gli attacchi locali recentemente scoperti
  4. Verifica della Distribuzione Pratica: Implementazione e valutazione in Firefox, dimostrando la compatibilità con il 97% dei siti web principali

Dettagli del Metodo

Definizione del Compito

Progettare un canale browser sicuro che consenta ai gestori di password di trasmettere in modo sicuro le password ai siti web, impedendo agli script DOM o alle estensioni del browser di accedere al contenuto della password effettiva.

Progettazione dell'Architettura di Protezione delle Password

Progettazione dell'API Principale

Estensione dell'API WebRequest esistente, aggiungendo una nuova fase onRequestCredentials:

onRequestCredentials → onBeforeRequest → onBeforeSendHeaders → onSendHeaders → ...

Flusso di Lavoro

  1. Iniezione di Nonce: Il gestore di password compila la pagina web con un nonce di password casuale, non la password effettiva
  2. Registrazione del Callback: Registrazione contemporanea di un gestore di callback onRequestCredentials
  3. Controlli di Sicurezza: Al momento dell'invio della pagina, esecuzione delle seguenti verifiche di sicurezza:
    • Verifica che la pagina web non sia visualizzata in un iFrame
    • Verifica che il canale di invio utilizzi una connessione HTTPS sicura
    • Conferma che l'origin corrisponda alla voce del gestore di password
    • Verifica che il nonce non sia nei parametri GET
    • Controllo della validità dei nomi dei campi
  4. Sostituzione Sicura: Se la verifica ha esito positivo, il browser sostituisce il nonce con la password effettiva nell'oggetto FormSubmission

Progettazione per la Protezione dalle Estensioni Malevole

Per affrontare la minaccia delle estensioni malevole, sono state apportate due modifiche chiave:

  1. Spostamento di onRequestCredentials dopo tutte le fasi che possono accedere a requestBody
  2. Visualizzazione del requestBody prima della sostituzione alle estensioni, nascondendo la password effettiva

Progettazione del Canale Sicuro FIDO2

Modello di Minaccia

Il protocollo FIDO2 affronta due classi di attacchi locali:

  1. Modifica dei Valori del DOM: Riscrittura delle chiamate API webAuthn tramite JavaScript malevolo
  2. Intercettazione di Richieste e Risposte: Intercettazione di richieste e risposte HTTP tramite estensioni

Meccanismo di Protezione

  1. Elaborazione delle Richieste: Il server posiziona il payload FIDO2 effettivo nell'intestazione webauthn_request, la risposta della pagina contiene valori falsi
  2. Intercettazione dell'Intestazione: Il browser rimuove le intestazioni sensibili prima che le estensioni possano accedervi
  3. Sostituzione dell'API: Sostituzione dei valori falsi con valori effettivi all'interno dell'API webAuthn
  4. Protezione della Risposta: I valori di ritorno dell'API vengono sostituiti con valori falsi, con i valori effettivi archiviati in modo sicuro
  5. Trasmissione Finale: Quando si invia una richiesta all'endpoint specificato, i valori falsi vengono sostituiti con la risposta FIDO2 effettiva

Configurazione Sperimentale

Ambiente di Test

  • Browser: Mozilla Firefox 107.0 (protezione password) e 104.0a1 (protezione FIDO2)
  • Gestore di Password: Bitwarden modificato
  • Siti Web di Test: 573 siti web tra i primi 1000 di Alexa che contengono pagine di accesso

Metriche di Valutazione

  1. Compatibilità: Percentuale di siti web che funzionano normalmente
  2. Sicurezza: Efficacia della protezione contro gli attacchi DOM e delle estensioni
  3. Overhead di Prestazioni: Aumento del tempo di elaborazione delle richieste

Metodi di Confronto

  • Browser Firefox non modificato come baseline
  • Utilizzo di un server proxy per registrare tutte le richieste di rete in uscita per il confronto

Risultati Sperimentali

Risultati Principali

Compatibilità della Protezione delle Password

  • Compatibilità del 97%: 554/573 siti web completamente compatibili
  • Compatibilità parziale del 2%: 11/573 siti web che calcolano l'hash della password nel DOM causano errori
  • Incompatibilità dell'1%: 8/573 siti web che modificano il formato della password prima dell'invio

Verifica della Sicurezza

  • Protezione riuscita di tutti gli attacchi DOM testati (XSS, iniezione di JavaScript malevolo)
  • Blocco efficace delle estensioni malevole dal furto di password tramite l'API webRequest
  • Identificazione e protezione dalle minacce di attacchi riflessi

Overhead di Prestazioni

  • Tempo medio della richiesta quando è necessaria la sostituzione: 4,5222 secondi
  • Tempo dell'operazione di sostituzione: 0,443 secondi (10,6% del tempo totale)
  • Quando la sostituzione non è necessaria: nessun impatto misurabile sulle prestazioni

Risultati della Protezione FIDO2

  • Compatibilità del 100% dei siti web (richiede modifiche al codice lato server di 2-3 righe)
  • Protezione riuscita di tutti gli attacchi DOM e delle estensioni testati
  • Implementazione della responsabilità della sessione completa

Lavori Correlati

Ricerca sulla Sicurezza dei Gestori di Password

La ricerca esistente si concentra principalmente sulla sicurezza complessiva dei gestori di password, inclusa:

  • Analisi della sicurezza della generazione, archiviazione e compilazione delle password
  • Identificazione delle vulnerabilità nel processo di compilazione automatica
  • Problemi di sicurezza dei gestori di password sui dispositivi mobili

Meccanismi di Sicurezza del Browser

La ricerca correlata sulla sicurezza del browser include:

  • Politica della stessa origine e politica di sicurezza dei contenuti
  • Modello di permessi delle estensioni del browser
  • Sicurezza dei protocolli WebAuthn e FIDO2

Posizionamento del Contributo di questo Articolo

Questo articolo fornisce per la prima volta un'implementazione funzionante del protocollo di Stock e Johns, colmando un vuoto di ricerca di dieci anni in questo campo, ed estende la protezione al protocollo FIDO2.

Conclusioni e Discussione

Conclusioni Principali

  1. Dimostrazione della Praticità: Implementazione riuscita di un canale di trasmissione sicuro delle password nei browser moderni
  2. Compatibilità Diffusa: Compatibilità con la stragrande maggioranza dei siti web principali, elevata fattibilità della distribuzione pratica
  3. Miglioramento della Sicurezza: Protezione efficace da molteplici minacce di attacchi locali
  4. Scalabilità: Il design può essere generalizzato ad altre protezioni di interazione browser-server

Limitazioni

  1. Incompatibilità del 3% dei Siti Web: Principalmente dovuta all'elaborazione delle password lato client
  2. Overhead di Prestazioni: L'operazione di sostituzione ha un certo costo temporale
  3. Requisito di Modifica del Browser: Richiede l'adozione delle modifiche dell'API da parte dei produttori di browser
  4. Modifica del Server FIDO2: Sebbene minima, richiede comunque la cooperazione lato server

Direzioni Future

  1. Miglioramento della Compatibilità: Identificazione e gestione automatica del JavaScript correlato tramite analisi del programma
  2. Estensione all'Input Manuale: Protezione delle password inserite manualmente dagli utenti
  3. Rilevamento degli Attacchi: Utilizzo del meccanismo di nonce per rilevare e segnalare gli attacchi
  4. Protezione di Altre API: Estensione del design agli appunti, al file system e ad altre API del browser

Valutazione Approfondita

Punti di Forza

  1. Valore Pratico Elevato: Risoluzione di un problema di sicurezza reale che colpisce decine di milioni di utenti di gestori di password
  2. Implementazione Tecnica Completa: Fornitura di un'implementazione Firefox completa e linee guida dettagliate per il porting
  3. Valutazione Completa: Valutazione sintetica della sicurezza, compatibilità e prestazioni
  4. Estensione Teorica: Generalizzazione riuscita del concetto al protocollo FIDO2
  5. Feedback dell'Industria: Ricezione di feedback positivo dai produttori di browser e dai team dei gestori di password

Carenze

  1. Sfide di Distribuzione: Richiede la cooperazione dei produttori di browser, con incertezza sulla diffusione
  2. Problemi di Compatibilità: Persistenza di problemi di compatibilità nel 3% dei siti web
  3. Limitazioni del Modello di Minaccia: Non protegge dagli attacchi a livello di sistema operativo o dagli attacchi man-in-the-middle TLS
  4. Rischio di Confusione dell'Utente: Gli utenti potrebbero essere confusi dalla visualizzazione della password nonce casuale

Impatto

  1. Contributo Accademico: Riattivazione di una direzione di ricerca stagnante da dieci anni
  2. Valore Pratico: Fornitura di miglioramenti di sicurezza immediati per decine di milioni di utenti
  3. Potenziale di Standardizzazione: Possibilità di promozione dell'adozione diffusa tramite standardizzazione W3C
  4. Ispirazione per la Ricerca: Fornitura di un paradigma di progettazione per la protezione della sicurezza di altre API del browser

Scenari Applicabili

  1. Ambiente Aziendale: Distribuzione aziendale con requisiti di sicurezza elevati
  2. Account di Alto Valore: Autenticazione di servizi importanti come banche e governi
  3. Utenti Consapevoli della Sicurezza: Gruppi di utenti con requisiti più elevati per la privacy e la sicurezza
  4. Prototipo di Ricerca: Fornitura di una piattaforma di base per ulteriori ricerche sulla sicurezza del browser

Bibliografia

Questo articolo cita 47 riferimenti correlati, principalmente includenti:

  • Articolo del protocollo di sostituzione di nonce originale di Stock e Johns
  • Ricerca correlata sull'analisi della sicurezza dei gestori di password
  • Ricerca empirica sulle minacce di sicurezza delle estensioni del browser
  • Letteratura sull'analisi della sicurezza del protocollo FIDO2
  • Ricerca sullo stato attuale dei tracker web e degli attacchi XSS

Valutazione Complessiva: Questo è un articolo di sicurezza dei sistemi con importante valore pratico che ha trasformato con successo il design teorico in un sistema prototipo funzionante, verificandone l'efficacia attraverso esperimenti completi. L'articolo non solo risolve un importante problema di sicurezza nel mondo reale, ma apre anche nuove direzioni per la ricerca futura. Nonostante le sfide persistenti nella distribuzione e nella compatibilità, il suo contributo tecnico e il suo valore pratico lo rendono un progresso importante nel campo della sicurezza dei browser.