Comprensione degli algoritmi di forzatura bruta [duplicato]

15

Ho letto le tecniche di brute-force e i possibili metodi di prevenzione, ma c'è un problema a cui non sono stato in grado di trovare una risposta chiara.

Per come la vedo io, un attacco "brute-forcing" semplice per una password con 4 numeri inizia con 0000, quindi con 0001, 0002, ecc. ecc.

In teoria, quindi, puoi supporre che se 0000 impiega 1 secondo (solo per mantenere le cose semplici), e 0001 impiega 2 secondi; allora 9999 impiegherebbero 9999 secondi?

In base a ciò, sembrerebbe che - per esempio-- se si imposta il codice PIN su 9999, ci vorrebbe 9 volte più tempo per craccare di 1111?

Naturalmente, questo è un esempio troppo semplificato, ma se si parlasse di password alfanumeriche con simboli, la password più sicura sarebbe teoricamente una combinazione dei numeri più alti, delle lettere più alte e dei valori ASCII più alti per i simboli?

Spero che la domanda sia comprensibile e che qualcuno possa far luce su questo problema per me.

    
posta akseli 15.06.2016 - 03:51
fonte

1 risposta

33

Qualsiasi algoritmo di forza bruta pratica terrà conto del metodo con cui è stata generata una password.

  • Se una password è stata generata casualmente. Dovresti assumere che l'algoritmo a forza bruta sia veramente casuale. Non sai cosa sia, non puoi pretendere che una password sia più veloce da trovare rispetto all'altra, puoi solo dire che in media verrebbero scoperte password controllando la metà del pool disponibile.

  • In caso di una password nota per essere generata utilizzando un generatore di numeri casuali con una vulnerabilità (alcuni numeri più probabili, alcuni impossibili), un utente malintenzionato modificherà l'algoritmo forza bruta di conseguenza.

  • Se è noto che le password sono selezionate dall'uomo (un tipo di debolezza nell'algoritmo di generazione), un utente malintenzionato utilizzerà i metodi applicabili a tale debolezza, tra cui: parole comuni, sostituzioni, ripetizioni, inclinazioni, inversione dell'ordine, metodi noti, suggerimenti, trucchi, padding, ecc.

    È una gara tra mente umana e mente umana. Il controllo sequenziale è statisticamente meno efficace e trarre conclusioni su una determinata forza della password basata sul presupposto che un avversario utilizzerà il metodo meno efficace è un errore.

    Per attaccare una vulnerabilità della password generata dall'uomo, si potrebbe usare la sociologia (alcuni metodi di password sembrano più interessanti dell'altro nella rispettiva popolazione). Un altro utente malintenzionato potrebbe utilizzare le statistiche (prendere milioni di password trapelate, analizzare, applicare). Ancora un altro potrebbe prendere in considerazione la meccanica (le chiavi e le combinazioni di tasti più facili da scrivere su un determinato dispositivo sarebbero testate per prime).

In un esempio di un numero a 4 cifre, inizierei a indovinare con 1999 , scendere a 1900 prima di testare 2000 - 2016 . Sicuramente controllerei 9978 molto prima di 6853 (davvero scomodo da digitare sulla tastiera di un PC) e 5683 (ben noto "amore") molto prima dei due. Qualcuno informato potrebbe usare un metodo più efficace (sì, questo è un esempio ー quello usato nella domanda ー per favore usalo per trarre una conclusione generale, non per contestare l'esempio).

    
risposta data 15.06.2016 - 05:20
fonte

Leggi altre domande sui tag