Seleziona lingua

Valutazione della Sicurezza nella Generazione, Archiviazione e Riempimento Automatico delle Password nei Gestori di Password Basati su Browser

Un'analisi di sicurezza completa di 13 gestori di password popolari, che valuta la casualità nella generazione, la sicurezza dell'archiviazione e le vulnerabilità del riempimento automatico.
computationalcoin.com | PDF Size: 1.0 MB
Valutazione: 4.5/5
La tua valutazione
Hai già valutato questo documento
Copertina documento PDF - Valutazione della Sicurezza nella Generazione, Archiviazione e Riempimento Automatico delle Password nei Gestori di Password Basati su Browser

1. Introduzione

L'autenticazione basata su password rimane il metodo dominante per l'autenticazione web nonostante le sue sfide di sicurezza ben documentate. Gli utenti affrontano un carico cognitivo nel creare e ricordare password forti e uniche, portando al riutilizzo delle password e alla creazione di credenziali deboli. I gestori di password promettono di alleviare questo onere generando, memorizzando e riempiendo automaticamente le password. Tuttavia, la loro sicurezza è stata messa in discussione in ricerche precedenti. Questo articolo presenta una valutazione di sicurezza aggiornata e completa di tredici popolari gestori di password basati su browser, a cinque anni dall'ultima segnalazione di vulnerabilità significative. Lo studio copre l'intero ciclo di vita del gestore di password: generazione, archiviazione e riempimento automatico.

2. Metodologia e Ambito

La valutazione ha coinvolto tredici gestori di password, inclusi cinque estensioni per browser (ad esempio, LastPass, 1Password), sei gestori integrati nel browser (ad esempio, Chrome, Firefox) e due client desktop per il confronto. La metodologia ha incluso:

  • Generazione e analisi di un corpus di 147 milioni di password per valutarne la casualità e la robustezza.
  • Replicazione ed estensione di valutazioni precedenti sulla sicurezza dell'archiviazione delle password.
  • Test dei meccanismi di riempimento automatico per vulnerabilità come clickjacking e XSS.
  • Valutazione delle impostazioni di sicurezza predefinite e delle pratiche di crittografia.

3. Analisi della Generazione delle Password

Questa è la prima analisi completa degli algoritmi di generazione delle password nei gestori di password.

3.1. Distribuzione dei Caratteri e Casualità

L'analisi del corpus di 147 milioni di password ha rivelato diverse istanze di distribuzioni non casuali dei caratteri nelle password generate. Alcuni gestori hanno mostrato distorsioni nella selezione dei caratteri, deviando da una distribuzione casuale uniforme. Per un generatore veramente casuale, la probabilità di selezionare qualsiasi carattere da un insieme di dimensione $N$ dovrebbe essere $P(car) = \frac{1}{N}$. Le deviazioni da questo indicano difetti algoritmici.

3.2. Vulnerabilità agli Attacchi di Indovinamento

La scoperta più critica è stata che un sottoinsieme delle password generate era vulnerabile ad attacchi brute-force:

  • Indovinamento Online: Le password più corte di 10 caratteri si sono rivelate deboli contro attacchi online con limitazione di tentativi.
  • Indovinamento Offline: Le password più corte di 18 caratteri erano suscettibili a tentativi di cracking offline a seguito di una violazione del database, dove un attaccante può effettuare tentativi illimitati.

Ciò contraddice la promessa fondamentale dei gestori di password di creare password forti.

4. Sicurezza dell'Archiviazione delle Password

Sebbene siano stati notati miglioramenti rispetto alle valutazioni di cinque anni prima, persistono problemi significativi.

4.1. Crittografia e Gestione dei Metadati

Diversi gestori di password sono stati trovati memorizzare metadati in forma non crittografata. Ciò include URL dei siti web, nomi utente e timestamp. Mentre la password stessa potrebbe essere crittografata, questi metadati forniscono una mappa preziosa per gli attaccanti, rivelando gli account online e le abitudini di un utente, che possono essere utilizzati per attacchi di phishing mirati o di ingegneria sociale.

4.2. Impostazioni Predefinite Insicure

Alcuni gestori avevano impostazioni predefinite insicure, come l'abilitazione del riempimento automatico su tutti i siti per impostazione predefinita o l'uso di protocolli di crittografia più deboli. Ciò sposta l'onere della sicurezza sugli utenti per scoprire e modificare queste impostazioni, cosa che la maggior parte non fa.

5. Vulnerabilità del Meccanismo di Riempimento Automatico

La funzione di riempimento automatico, progettata per comodità, introduce una superficie di attacco significativa.

5.1. Clickjacking e UI Redressing

Diversi gestori di password erano vulnerabili ad attacchi di clickjacking. Un attaccante potrebbe creare una pagina web dannosa con livelli invisibili che ingannano l'utente facendogli clic sulla finestra di dialogo di riempimento automatico del gestore di password, rivelando così le credenziali al sito dell'attaccante invece che al sito legittimo previsto.

5.2. Rischi di Cross-Site Scripting (XSS)

I meccanismi di riempimento automatico che iniettano credenziali nei moduli delle pagine web senza rigorosi controlli sull'origine possono essere sfruttati tramite vulnerabilità XSS su siti altrimenti attendibili. Se un sito benigno ha una falla XSS, uno script iniettato potrebbe attivare il gestore di password per riempire le credenziali in un campo modulo nascosto controllato dall'attaccante.

6. Risultati e Analisi Comparativa

Dimensione del Corpus

147M

Password Analizzate

Gestori Testati

13

Browser e Desktop

Difetto Critico

<18 caratteri

Vulnerabile al Cracking Offline

Risultato Chiave: Il panorama è migliorato rispetto agli studi precedenti (ad esempio, Li et al., 2014; Silver et al., 2013), ma difetti di sicurezza fondamentali persistono in più fornitori. Nessun singolo gestore di password è risultato impeccabile in tutte e tre le fasi valutate (generazione, archiviazione, riempimento automatico). I gestori integrati nel browser e le estensioni dedicate hanno mostrato entrambi modelli distinti di vulnerabilità.

7. Raccomandazioni e Direzioni Future

L'articolo conclude con raccomandazioni pratiche:

  • Per gli Utenti: Evitare gestori di password con difetti noti nella generazione o impostazioni predefinite insicure per il riempimento automatico. Preferire gestori che consentono un controllo granulare sul comportamento di riempimento automatico.
  • Per gli Sviluppatori: Implementare generatori di numeri casuali crittograficamente sicuri (CSPRNG) per la generazione delle password. Crittografare tutti i metadati. Implementare controlli rigorosi sull'origine e meccanismi di consenso dell'utente per il riempimento automatico (ad esempio, richiedendo un clic su un elemento non soggetto a UI redressing).
  • Per i Ricercatori: Esplorare l'integrazione di metodi formali per verificare la logica del riempimento automatico e l'applicazione del machine learning per rilevare richieste di riempimento automatico anomale indicative di un attacco.

8. Analisi Originale e Commento degli Esperti

Intuizione Fondamentale: Lo studio di Oesch e Ruoti fornisce una verifica della realtà sobria: gli strumenti di sicurezza di cui ci fidiamo per consolidare le nostre chiavi digitali sono stati costruiti su fondamenta allarmantemente traballanti. A cinque anni dall'esposizione di gravi difetti, il progresso dell'industria è al massimo incrementale, senza riuscire ad affrontare problemi sistemici in tutti e tre i pilastri fondamentali: generazione, archiviazione e riempimento automatico. Questo non è solo un report di bug; è un'indagine sull'auto-compiacimento in un settore critico della sicurezza.

Flusso Logico: La forza dell'articolo risiede nel suo approccio olistico al ciclo di vita. Identifica correttamente che una catena è forte quanto il suo anello più debole. Trovare non-casualità nella generazione ($P(car) \neq \frac{1}{N}$) mina fondamentalmente l'intera premessa prima ancora di considerare l'archiviazione o il riempimento automatico. La replica dei test passati su archiviazione/riempimento automatico mostra poi un modello: mentre le vulnerabilità superficiali possono essere corrette, i difetti architetturali (come i metadati non crittografati o il riempimento automatico promiscuo) persistono. Questa progressione logica dalla creazione difettosa alla gestione insicura fino al dispiegamento rischioso dipinge un quadro completo e dannoso.

Punti di Forza e Difetti: Il punto di forza principale dello studio è il suo approccio massiccio e basato sui dati alla generazione delle password, il primo nella letteratura. Il corpus di 147 milioni di password fornisce prove statistiche inconfutabili di debolezza algoritmica, andando oltre le preoccupazioni teoriche. Tuttavia, l'analisi ha un punto cieco: tratta in gran parte i gestori di password come client isolati. La realtà moderna è la sincronizzazione cloud e le app mobili. Come notato negli atti dello IEEE Symposium on Security and Privacy sui modelli di sicurezza cloud, la superficie di minaccia si estende ai protocolli di sincronizzazione, alle API lato server e all'integrazione con il sistema operativo mobile, che questo studio non valuta. Inoltre, sebbene menzioni "impostazioni predefinite insicure", non quantifica il tasso di adozione da parte degli utenti delle impostazioni sicure, un fattore critico nel rischio reale, come dimostrano costantemente gli studi di usabilità della conferenza USENIX SOUPS che mostrano come la maggior parte degli utenti non cambi mai le impostazioni predefinite.

Approfondimenti Pratici: Per i team di sicurezza aziendali, questa ricerca impone un passaggio da raccomandazioni generiche di "usare un gestore di password" a linee guida specifiche per fornitore e configurazione. I gestori con generatori deboli devono essere messi in lista nera. Le liste di controllo per gli acquisti devono ora includere la verifica dell'uso di CSPRNG e della crittografia dei metadati. Per gli sviluppatori, la strada da seguire è chiara: adottare un principio di "zero trust" per il riempimento automatico, richiedendo un consenso esplicito e contestuale dell'utente per ogni azione di riempimento, simile ai modelli di permesso sostenuti dal World Wide Web Consortium (W3C) per le potenti API web. Il futuro non sta nel cercare di rendere perfettamente sicuro un riempimento automatico eccessivamente permissivo, ma nel progettarne uno minimamente permissivo e controllato dall'utente. Il fallimento dell'industria nell'autocorreggersi in cinque anni suggerisce che potrebbe essere necessario un intervento normativo o di organismi di standardizzazione (ad esempio, da parte di NIST o FIDO Alliance) per imporre requisiti di sicurezza di base per questi guardiani della nostra identità digitale.

9. Dettagli Tecnici e Risultati Sperimentali

Analisi della Generazione delle Password: L'entropia $H$ di una password generata di lunghezza $L$ da un insieme di caratteri $C$ è idealmente $H = L \cdot \log_2(|C|)$ bit. Lo studio ha trovato istanze in cui l'entropia effettiva era inferiore a causa della selezione distorta dei caratteri. Ad esempio, se un generatore intende utilizzare un insieme di 94 caratteri ma certi caratteri appaiono con probabilità $p \ll \frac{1}{94}$, l'entropia effettiva è ridotta: $H_{effettiva} = -\sum_{i=1}^{94} p_i \log_2(p_i)$ per carattere, dove $\sum p_i = 1$.

Descrizione del Grafico Sperimentale: Un grafico chiave nello studio traccerebbe la frazione cumulativa di password crackate rispetto al numero di tentativi di indovinamento (scala logaritmica) per password generate di lunghezze diverse (ad esempio, 8, 12, 16 caratteri). La curva per le password sotto i 10 caratteri mostrerebbe una rapida ascesa, indicando un rapido compromesso sotto simulazioni di attacco online (ad esempio, 1000 tentativi). La curva per le password sotto i 18 caratteri mostrerebbe una frazione significativa crackata dopo $10^{10}$ a $10^{12}$ tentativi offline, collocandole entro le capacità di attaccanti determinati con hardware moderno, come benchmarkato da strumenti come Hashcat e rainbow tables.

10. Quadro di Analisi e Caso di Studio

Quadro per la Valutazione della Sicurezza dei Gestori di Password:

  1. Integrità della Generazione: Testare statisticamente l'output per la casualità (ad esempio, test NIST STS, Dieharder) e calcolare l'entropia effettiva. Verificare che le lunghezze minime predefinite siano allineate con le linee guida NIST attuali (>= 12 caratteri).
  2. Sicurezza dell'Archiviazione: Ispezionare l'archiviazione locale (ad esempio, IndexedDB del browser, file SQLite) e il traffico di rete per dati crittografati vs. in chiaro. Verificare la libreria di crittografia e la funzione di derivazione della chiave (ad esempio, utilizza PBKDF2 con iterazioni sufficienti, o Argon2?).
  3. Postura di Sicurezza del Riempimento Automatico: Mappare il meccanismo di attivazione del riempimento automatico. Testare per UI redressing creando iframe sovrapposti. Testare la logica di corrispondenza dell'origine distribuendo siti con nomi di dominio simili (ad esempio, `example.com` vs. `example.com.evil.net`). Controllare se il riempimento automatico richiede un gesto dell'utente su un elemento della pagina non prevedibile.

Caso di Studio - Vulnerabilità Clickjacking: Consideriamo il Gestore X, che mostra un pulsante di riempimento automatico sopra un modulo di login. Un attaccante crea una pagina dannosa con un iframe invisibile che carica `bank.com`. L'iframe è posizionato in modo che il pulsante di riempimento automatico del Gestore X appaia sopra un pulsante nascosto "invia-all-attaccante" sulla pagina dannosa. L'utente clicca per il riempimento automatico, ma invece clicca il pulsante dell'attaccante, inviando le credenziali di `bank.com` al server dell'attaccante. Questo dimostra un fallimento nel binding degli eventi di clic e nella validazione dell'origine del gestore.

11. Applicazioni Future e Prospettive di Ricerca

I risultati aprono diverse strade per lavori futuri:

  • Generazione e Archiviazione Supportate da Hardware: Integrazione con Trusted Platform Modules (TPM) o Secure Enclave (ad esempio, Secure Element di Apple) per generare semi casuali e memorizzare chiavi di crittografia, spostando i segreti fuori dai regni puramente software.
  • Riempimento Automatico Basato sul Contesto e sul Rischio: Sfruttare il machine learning per analizzare il contesto della pagina (struttura DOM, dettagli del certificato, reputazione del sito) per valutare il rischio del riempimento automatico. Un contesto ad alto rischio potrebbe richiedere un'autenticazione aggiuntiva (biometrica) o bloccare completamente il riempimento automatico.
  • API di Sicurezza Standardizzate: Sviluppo di un'API standardizzata per browser, con permessi, per i gestori di password (ad esempio, un successore dell'API `chrome.loginState`) che fornisca un accesso sicuro e in sandbox alle credenziali con chiare richieste di consenso dell'utente, riducendo la superficie di attacco dall'iniezione arbitraria nel DOM.
  • Preparazione alla Crittografia Post-Quantum: Ricerca sulla migrazione della crittografia dei gestori di password ad algoritmi resistenti agli attacchi dei computer quantistici, poiché il vault crittografato è un bene a lunga vita altamente attraente per avversari che raccolgono ora e decrittano dopo.
  • Modelli Decentralizzati e di Auto-Custodia: Esplorare l'uso di protocolli di identità decentralizzata (ad esempio, basati sulle W3C Verifiable Credentials) per ridurre la dipendenza da un vault centrale, distribuendo il rischio e dando agli utenti un maggiore controllo.

12. Riferimenti

  1. Oesch, S., & Ruoti, S. (2020). That Was Then, This Is Now: A Security Evaluation of Password Generation, Storage, and Autofill in Browser-Based Password Managers. USENIX Security Symposium.
  2. Li, Z., He, W., Akhawe, D., & Song, D. (2014). The Emperor's New Password Manager: Security Analysis of Web-based Password Managers. IEEE Symposium on Security and Privacy (SP).
  3. Silver, D., Jana, S., Boneh, D., Chen, E., & Jackson, C. (2013). Password Managers: Attacks and Defenses. USENIX Security Symposium.
  4. National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
  5. Stock, B., & Johns, M. (2013). Protecting the Intranet Against "JavaScript Malware" and Related Attacks. International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA).
  6. Herley, C. (2009). So Long, And No Thanks for the Externalities: The Rational Rejection of Security Advice by Users. Proceedings of the New Security Paradigms Workshop (NSPW).
  7. World Wide Web Consortium (W3C). (2021). Permissions Policy. https://www.w3.org/TR/permissions-policy-1/
  8. FIDO Alliance. (2022). FIDO2: WebAuthn & CTAP. https://fidoalliance.org/fido2/