Seleziona lingua

Una Misura Canonica della Robustezza delle Password: Formalizzare la Sicurezza contro gli Attacchi a Forza Bruta

Un'analisi formale che propone una definizione canonica di robustezza delle password basata sull'efficienza delle strategie d'attacco, sfidando le metriche tradizionali di sicurezza.
strongpassword.org | PDF Size: 0.2 MB
Valutazione: 4.5/5
La tua valutazione
Hai già valutato questo documento
Copertina documento PDF - Una Misura Canonica della Robustezza delle Password: Formalizzare la Sicurezza contro gli Attacchi a Forza Bruta

1. Introduzione

L'articolo affronta una lacuna fondamentale nel dibattito sulla sicurezza delle password: la mancanza di una definizione rigorosa di "robustezza della password". Sostiene che gli approcci attuali sono spesso aneddotici e non tengono conto della strategia dell'attaccante. Gli autori propongono una misura canonica basata sull'efficienza dei potenziali attacchi a forza bruta, spostando il focus dalle caratteristiche della password alle caratteristiche dell'attacco.

2. Stato dell'Arte

L'articolo critica lo stato attuale della sicurezza delle password definendolo "tetro come la medicina medievale", citando l'osservazione di Bruce Schneier secondo cui molti consigli si basano su aneddoti piuttosto che su analisi. Sottolinea l'assenza di un metodo soddisfacente per misurare la robustezza di un insieme di password, come notato in letteratura recente [3]. I comuni misuratori di robustezza delle password vengono liquidati come strumenti che misurano la "mimesi" piuttosto che la vera resistenza ad attacchi intelligenti.

3. Intuizione Fondamentale & Flusso Logico

Intuizione Fondamentale: La robustezza di una password non è una proprietà intrinseca di una stringa di caratteri; è una proprietà relazionale definita interamente dalla strategia di indovinello dell'attaccante. L'obiettivo del difensore non è creare una "password forte" nel vuoto, ma crearne una che si comporti male contro l'insieme delle strategie di attacco fattibili che un avversario razionale potrebbe impiegare.

Flusso Logico: L'argomentazione procede con precisione formale:

  1. Definisce un attacco a forza bruta come una lista ordinata (dizionario) di password candidate.
  2. Dimostra che due attacchi qualsiasi differiscono solo per l'ordine di questa lista.
  3. Conclude che la robustezza di una password contro un attacco specifico è la sua posizione nel dizionario di quell'attacco.
  4. Poiché il difensore non può conoscere l'esatto ordine dell'attacco, deve considerare un insieme di attacchi plausibili.
  5. Pertanto, la misura di robustezza del difensore è il valore atteso della posizione della password attraverso questo insieme di attacchi.
Questo ribalta la prospettiva: la sicurezza è modellata come un gioco in cui il difensore stima lo spazio delle strategie dell'attaccante.

4. Punti di Forza & Limiti

Punti di Forza:

  • Rigore Concettuale: Fornisce la prima definizione formale, centrata sull'attacco, della robustezza delle password, andando oltre le regole empiriche.
  • Fondamento Teorico dei Giochi: Inquadra correttamente la selezione delle password come un'interazione strategica, allineandosi con l'analisi della sicurezza moderna come quella della ricerca sulla Teoria dei Giochi per la Sicurezza.
  • Espone Euristiche Fallaci: Smantella efficacemente le politiche focalizzate sulla conformità (es., "deve includere un numero e un simbolo") che generano pattern prevedibili.

Limiti & Difetti:

  • Intrattabilità Computazionale: La metrica fondamentale—calcolare il rango atteso attraverso tutti gli attacchi plausibili—è computazionalmente infattibile per spazi di password ampi. È un ideale teorico, non uno strumento pratico per misuratori di robustezza in tempo reale.
  • Tralascia Realtà Chiave: Il modello assume un attacco di "indovinello offline" con tentativi illimitati, ignorando la limitazione della frequenza, il blocco degli account e i sistemi di rilevamento online che alterano fondamentalmente la strategia dell'attaccante.
  • Nessuna Guida sull'Insieme di Attacchi: Il passaggio critico dell'articolo—definire l'"insieme degli attacchi fattibili"—è lasciato sottospecificato. Come fa un difensore a modellare praticamente questo insieme? Questo è il nocciolo del problema.

5. Indicazioni Pratiche

Per i professionisti della sicurezza, questo articolo impone un cambio di paradigma:

  1. Smettete di Misurare la Mimesi: Scartate i misuratori di password che controllano solo le classi di caratteri. Addestrano gli utenti a creare password che sono forti contro il misuratore, non contro un attaccante.
  2. Pensate in Distribuzioni, Non in Regole: Invece di imporre simboli, incoraggiate gli utenti a selezionare password da una distribuzione ad alta entropia che è improbabile si allinei con i dizionari di attacco comuni (es., usando diceware o gestori di password).
  3. Modellate il Vostro Avversario: Per i sistemi critici, conducete una modellazione delle minacce per definire le strategie di attacco plausibili (es., forza bruta, dizionario basato su violazioni passate, informazioni personali mirate). Adattate le politiche sulle password per interrompere quelle specifiche strategie.
  4. Accettate l'Incertezza: Ammettete che la misurazione perfetta della robustezza è impossibile. L'obiettivo è aumentare il costo e l'incertezza per l'attaccante, non raggiungere un punteggio perfetto.

6. Quadro Tecnico

6.1 Modello Formale di Attacco

L'articolo modella un attacco a forza bruta $A$ come una sequenza ordinata (dizionario) $D_A = (w_1, w_2, w_3, ...)$ di password candidate, dove $w_i$ è una parola da un alfabeto finito. L'attaccante prova le password in quest'ordine fino al successo. L'attacco è "offline", nel senso che l'interfaccia fornisce un feedback immediato di successo/fallimento senza limiti.

6.2 Formalizzazione Matematica

Sia $p$ una password specifica. Per un dato attacco $A$, la robustezza di $p$ è definita come il suo rango in $D_A$: $$S_A(p) = \text{rank}_A(p)$$ dove $\text{rank}_A(p) = i$ se $p = w_i \in D_A$.

Poiché il difensore non conosce l'esatto $A$, considera un insieme $\mathcal{A}$ di possibili attacchi. La robustezza canonica della password $C(p)$ è quindi il rango atteso: $$C(p) = \mathbb{E}_{A \sim \mathcal{A}}[\,S_A(p)\,] = \sum_{A \in \mathcal{A}} P(A) \cdot \text{rank}_A(p)$$ dove $P(A)$ è la probabilità (o verosimiglianza) assegnata all'attacco $A$ dall'insieme $\mathcal{A}$. Questa formulazione lega direttamente la robustezza alla convinzione del difensore riguardo alla strategia dell'attaccante.

7. Risultati Sperimentali & Analisi

Esperimento Concettuale & Implicazione: Sebbene l'articolo stesso non presenti dati empirici da esecuzioni software, dimostra logicamente la necessità del suo modello attraverso un esperimento mentale. Mostra che due password, "Password123!" e "xQ37!z9pLm", potrebbero ricevere punteggi simili da un misuratore ingenuo che controlla lunghezza e varietà di caratteri. Tuttavia, "Password123!" avrà un rango molto basso (alta robustezza) in un attacco di forza bruta ordinato, ma un rango estremamente alto (bassa robustezza) in un attacco a dizionario che dà priorità a parole base e pattern comuni. La misura canonica $C(p)$, facendo la media su entrambi i tipi di attacco, rivelerebbe la vera debolezza di "Password123!" rispetto alla stringa casuale.

Interpretazione del Grafico (Concettuale): Immaginate un grafico a barre che confronta tre metodi di valutazione delle password per un campione:

  • Metodo A (Misuratore Ingenuo): Mostra "Password123!" e "xQ37!z9pLm" come ugualmente forti.
  • Metodo B (Rango Attacco a Dizionario): Mostra "Password123!" come molto debole (numero di rango basso) e "xQ37!z9pLm" come forte (numero di rango alto).
  • Metodo C (Misura Canonica $C(p)$): Mostra una media ponderata. Il punteggio di "Password123!" precipita a causa della sua alta probabilità negli attacchi a dizionario, mentre la stringa casuale mantiene un punteggio alto. Questo grafico dimostrerebbe visivamente che $C(p)$ si correla meglio con la "crackabilità" nel mondo reale.

8. Quadro di Analisi: Caso di Studio

Scenario: La politica sulle password di un'azienda richiede: "Almeno 12 caratteri, inclusi maiuscole, minuscole, un numero e un simbolo".

Analisi Tradizionale: Una password come "Estate2024!$" supera la politica e ottiene una valutazione "Forte" da un tipico misuratore.

Analisi con Misura Canonica:

  1. Definire l'Insieme di Attacchi $\mathcal{A}$:
    • $A_1$: Attacco a dizionario usando parole comuni ("Estate"), stagioni, anni e suffissi simbolici comuni ("!$"). Probabilità: Alta (0.7).
    • $A_2$: Attacco mirato usando nome azienda, informazioni dipendenti. Probabilità: Bassa per attacco massivo (0.1).
    • $A_3$: Forza bruta completa sullo spazio a 12 caratteri. Probabilità: Estremamente Bassa (0.001).
    • $A_4$: Attacco usando password da violazioni precedenti di aziende simili. Probabilità: Media (0.199).
  2. Stimare i Ranghi:
    • $\text{rank}_{A1}("Estate2024!$")$: Molto basso (es., nei primi 10 milioni).
    • $\text{rank}_{A2}(p)$: Potrebbe essere basso se mirato.
    • $\text{rank}_{A3}(p)$: Molto alto (~$95^{12}$).
    • $\text{rank}_{A4}(p)$: Potenzialmente basso se il pattern è comune.
  3. Calcolare $C(p)$: Il rango atteso è dominato dall'attacco a dizionario ad alta probabilità $A_1$, risultando in un punteggio di robustezza canonica basso, esponendo il fallimento della politica.
Conclusione: La politica crea una distribuzione prevedibile. Il quadro canonico mostra che difendersi richiede rompere questa prevedibilità, forse imponendo password generate casualmente o utilizzando una lista di blocco delle password deboli note, che modifica direttamente le probabilità in $\mathcal{A}$.

9. Applicazioni Future & Direzioni

  • Politiche sulle Password Adattive: I sistemi potrebbero utilizzare il quadro canonico per creare politiche dinamiche. Invece di regole statiche, un servizio di backend potrebbe stimare $\mathcal{A}$ in base alle attuali informazioni sulle minacce (es., nuovi dizionari trapelati) e rifiutare password con un punteggio $C(p)$ basso contro quel modello aggiornato.
  • Integrazione con Gestori di Password: I gestori di password sono ideali per implementare ciò. Possono mantenere un modello locale di $\mathcal{A}$ (basato su dati di violazioni globali e regole euristiche) e usarlo per generare password che massimizzano $C(p)$. Questo trasforma il modello teorico in un potenziamento della sicurezza pratico e trasparente per l'utente.
  • Dimostrazioni Formali di Sicurezza: Il modello fornisce una base per dimostrare formalmente le proprietà di sicurezza degli algoritmi di generazione delle password nella letteratura accademica, simile a come vengono analizzati gli algoritmi di crittografia.
  • Modelli di Minaccia Ibridi: Il lavoro futuro deve integrare la misura canonica con vincoli del mondo reale come la limitazione della frequenza. L'insieme di attacchi $\mathcal{A}$ includerebbe quindi non solo ordinamenti di password, ma anche strategie per distribuire i tentativi nel tempo e tra account.
  • Machine Learning per $\mathcal{A}$: Il principale problema aperto—definire l'insieme di attacchi—potrebbe essere affrontato con il ML. I sistemi potrebbero addestrare modelli su tentativi di cracking effettivi e password trapelate per apprendere e aggiornare continuamente la distribuzione di probabilità $P(A)$ sulle strategie, creando un bersaglio mobile per gli attaccanti.

10. Riferimenti

  1. Panferov, E. (2016). A Canonical Password Strength Measure. arXiv:1505.05090v4 [cs.CR].
  2. Schneier, B. (2007). Schneier on Security. Wiley.
  3. Bonneau, J. (2012). The Science of Guessing: Analyzing an Anonymized Corpus of 70 Million Passwords. IEEE Symposium on Security and Privacy.
  4. Shannon, C. E. (1948). A Mathematical Theory of Communication. The Bell System Technical Journal.
  5. Florêncio, D., & Herley, C. (2007). A Large-Scale Study of Web Password Habits. Proceedings of the 16th International Conference on World Wide Web.
  6. Ur, B., et al. (2015). Do Users' Perceptions of Password Security Match Reality? Proceedings of the 2015 CHI Conference on Human Factors in Computing Systems.
  7. NIST Special Publication 800-63B (2017). Digital Identity Guidelines: Authentication and Lifecycle Management.
  8. Wang, D., et al. (2016). The Tangled Web of Password Reuse. NDSS Symposium 2016.