E 'possibile rendere inefficaci gli attacchi di forza bruta dando risposte false positive ai tentativi di accesso falliti?

90

Non ho alcuna esperienza o conoscenza scientifica in sicurezza, volevo solo chiedere se è possibile perché sono interessato a questo.

Che cosa succede se crittografo i dati e ogni password la decrittografa, ma solo quella giusta non crea inutili confusioni di dati? Lo stesso potrebbe essere fatto con un login: i dati di accesso falsi portano a conti falsi e fittizi e solo i dati di accesso giusti ti portano agli account giusti.

Questo non sarebbe un metodo migliore per la crittografia, perché non si poteva semplicemente provare le password, ma si doveva esaminare il risultato per vedere se era quello giusto?

    
posta Tweakimp 12.07.2016 - 23:25
fonte

9 risposte

112

La risposta dipende sempre dal tuo modello di minaccia. La sicurezza è sempre intessuta in un equilibrio tra sicurezza e usabilità. Il tuo approccio disturba gli hacker che cercano di penetrare nell'account, ma anche gli inconvenienti di un utente che si limita a digitare la propria password. Se il falso account è credibile abbastanza da ingannare un attaccante, può anche essere credibile abbastanza da ingannare un utente valido. Potrebbe essere molto brutto.

Questo può essere auspicabile in ambienti ad alto rischio. Se dovessi archiviare segreti nucleari all'aperto su Internet, avere tutte le password dimenticate ti condurranno a un account che ha accesso a documenti falsi che in realtà non rivelano segreti nazionali potrebbero essere abbastanza potenti. Tuttavia, per la maggior parte dei casi non è necessario.

Devi anche considerare le alternative. Un approccio molto popolare è bloccare l'account dopo N tentativi, che in pratica interrompono tutti i tentativi di forza bruta e ha comportamenti di usabilità che la maggior parte degli utenti è disposto ad accettare.

    
risposta data 12.07.2016 - 23:32
fonte
47

Ingannare un attaccante con falsi positivi non è una cattiva idea e non è nuovo. Di seguito potrebbe interessarti.

Camouflage crittografico

Le tecnologie CA hanno brevettato una tecnologia nota come Camouflage crittografico .

A sensitive point in public key cryptography is how to protect the private key. We outline a method of protecting private keys using cryptographic camouflage. Specifically, we do not encrypt the private key with a password that is too long for exhaustive attack. Instead, we encrypt it so that only one password will decrypt it correctly, but many passwords will decrypt it to produce a key that looks valid enough to fool an attacker. For certain applications, this method protects a private key against dictionary attack, as a smart card does, but entirely in software.

Questo non è esattamente quello di cui stai parlando (stanno proteggendo una chiave, non l'accesso) ma il concetto è lo stesso. Fai sventare un attacco di forza bruta rendendo difficile o impossibile determinare se hai effettivamente violato il codice.

Trappola per topi

Nel 1984, Michael Crichton (autore di Andromeda Strain e molti altri) ha scritto un racconto incentrato su un hacker che pensava di rubare i file top secret. Aveva indovinato la password giusta, ma a sua insaputa, il computer in realtà lo stava autenticando non guardando la sua password, ma alla velocità e alle modalità con cui usava la tastiera e il mouse - una sorta di meccanismo di autenticazione biometrica. Ha fallito l'autenticazione. Ma il computer non gli ha detto che ha fallito ... invece gli ha consegnato una copia falsa dei documenti segreti, che poi ha scaricato e tentato di vendere sul mercato nero.

Ancora una volta, questo non è esattamente lo stesso di quello che stai chiedendo, ma dimostra (in finzione, comunque) l'uso di falsi positivi per contrastare un attacco.

    
risposta data 13.07.2016 - 01:06
fonte
16

Per darti una risposta diretta, , è possibile ridurre l'efficacia degli attacchi a forza bruta e può essere fatto nel modo suggerito, ma non dovrebbe. È possibile ottenere risultati molto simili solo implementando ritardi temporali tra ogni tentativo fallito e l'ipotesi successiva. Inoltre, (solo per vostra conoscenza) tecnologie molto sofisticate e simili sono già state progettate e implementate per questa cosa esatta. Prodotti come Canary , Honey Pots e Honey Docs offrono tutti cose simili come ambienti, dispositivi, server, account falsi, ecc.

    
risposta data 13.07.2016 - 01:00
fonte
9

L'effetto è minuscolo

Supponiamo che il tuo sistema trasformi la pratica forza bruta dalla decodifica dei primi quattro byte (realisticamente, il primo blocco molto più grande, ma qualunque cosa) da dover decrittografare per intero, ad es. quattro gigabyte di dati crittografati, rendendo i tentativi bruteforce circa miliardi di volte o 2 ^ 30 volte più lenti.

Questa potrebbe sembrare una grande differenza per te, ma in realtà quell'effetto è minuscolo rispetto ad altre alternative. Una scala di semplicemente "miliardi di volte più lenta" semplicemente non è così tanto nel mondo della crittografia. Perché preoccuparsi di una maggiore complessità che potrebbe non riuscire a raggiungere il rallentamento previsto o introdurre nuovi bug, se semplicemente aggiungendo altri 30 bit alla lunghezza della chiave di crittografia fa la stessa cosa e aumentando la dimensione della chiave da ad es. 128 bit (se non è già abbastanza) a 256 bit fornisce un effetto incomparabilmente molto più grande di quello?

    
risposta data 13.07.2016 - 21:43
fonte
7

La maggior parte è già stata detta, voglio solo offrire un'altra prospettiva.

Immagina di provare a proteggere una casa con questa tecnica. Lascerai che l'intruso dia accesso ad una stanza della cantina se cerca di aprire la porta per un po 'di tempo.

La domanda è, vorresti un intruso anche lì? L'intruso sicuramente si renderà conto che non ha ottenuto ciò che voleva dopo un po 'di tempo e cerca di allontanarsi da lì. E tu dovresti mantenere la sicurezza extra per la cantina che hai preparato.

Quindi in un certo senso, aumenti solo la quantità di lavoro per te stesso per ingannare (inesperti) attaccanti per un po 'di tempo.

    
risposta data 13.07.2016 - 13:23
fonte
7

Sembra che tu stia parlando di una forma di "crittografia denegata" o "negabilità plausibile" nel contesto della crittografia; cioè, un segreto alternativo che decifra in un testo in chiaro plausibile ma non autentico. Vedi link per i dettagli.

Ma in senso stretto, se qualcuno ha la capacità di rinforzare il tuo testo cifrato, scopriranno potenzialmente tutti i plausibili testi in chiaro, e quindi, in base a qualsiasi conoscenza che hanno già sul contesto, saranno in grado di decidere quale dei testi in chiaro è l'originale autentico. La prima parte può essere eseguita da pseudo-AI, ma la seconda parte ha ancora bisogno di un umano.

    
risposta data 13.07.2016 - 22:17
fonte
2

Il problema con le chiavi è che esistono come dati e non come codice in esecuzione. Anche con l'esempio CA e Crichton, ciò che accade è una procedura fuori banda che fornisce risposte ragionevoli per ogni tentativo di decrittografia. Matematicamente questo è impossibile a livello di un testo cifrato e di tentativi di forza bruta.

    
risposta data 13.07.2016 - 02:21
fonte
1

Per l'accesso remoto, come altri hanno già detto, è possibile utilizzare blocchi e ritardi semplici.

Per le password, quello che hai è un hash a senso unico. Per convalidare la password, è necessario rifarla e confrontare i due hash. Avere più di una semplice password produce una corrispondenza valida contro un singolo hash è considerato indesiderabile: significa che l'hash è debole e ha "collisioni".

Quindi è molto probabile che tu sia interessato alle unità crittografate.

Quello che descrivi - false, "esterne" unità piene di dati falsi che proteggono l'unità "interna" crittografata - è possibile, ed è stato fatto in TrueCrypt (che purtroppo è morto).

Quello che segue è la mia comprensione ingenua, e alcuni o tutti potrebbero essere sbagliati. Non ho mai usato questa funzione, ma l'ho considerata interessante.

TrueCrypt ti ha permesso di specificare una seconda password, che sbloccherebbe un "livello" dell'unità crittografata (potrebbe essere stato limitato a un contenitore esterno, ho dimenticato). Questo ha avuto problemi evidenti; le unità esterne non erano a conoscenza di quelle interne, che erano memorizzate nello "spazio vuoto" delle unità esterne crittografate. Quindi i cambiamenti in quelli esterni potrebbero distruggere le unità interne. Inoltre, i datestamp sulle unità interne non venivano aggiornati automaticamente quando si accede all'unità crittografata. Quindi qualcuno che ha accesso alla tua macchina potrebbe dire quando hai modificato per ultimo il file dell'unità crittografata e potresti confrontare questi datetime con i tempi dell'ultima modifica sull'unità crittografata e dire immediatamente che lo stavi usando più recentemente, quindi ci deve essere un disco interno.

Ma l'idea era, hai l'unità esterna che ha una password facile da indovinare, come password123, metti alcune cose vagamente segrete, e questo potrebbe far pensare ai tuoi avversari che erano entrati nella tua unità crittografata.

Nulla di meno - tutto ciò che ha appena restituito spazzatura (rumore casuale equivalente a un'unità non formattata) sarebbe stato banale da aggirare controllando la presenza di una "stringa magica" sull'unità decodificata che sarebbe richiesta su qualsiasi disco reale ma improbabile in un disco di spazzatura.

Stessa cosa con i documenti criptati: la maggior parte dei tipi di file ha stringhe magiche, quindi se sai che tipo di file è contenuto, allora qualsiasi scrambling che è fatto può essere forzato bruto a trovare tutti i modi in cui produrre la stringa magica.

Ciò non significa che sia una cattiva idea, però - se la stringa magica è, per esempio, "jfif", allora solo una su circa 16 milioni di password produrrà quella stringa magica. Ma se la lunghezza della chiave è, per esempio, 2 ^ 1024, allora l'hanno ridotta a 2 ^ 1000 - che, sicuramente, è sicuramente 16 milioni di volte più veloce da decifrare, ma prenderà comunque letteralmente per sempre crack.

Gli errori di battitura casuali della password non inducevano qualcuno a pensare che avessero decodificato il file, ma semplicemente cercare la stringa magica non sarebbe stato sufficiente.

    
risposta data 13.07.2016 - 21:20
fonte
1

Qualcosa di simile è stato fatto in alcune versioni del software di compressione RAR (nei primi tempi, non sono sicuro che sia ancora così). Un archivio crittografato sarebbe decifrato da qualsiasi password inserita, ma una password errata produrrebbe un risultato senza senso. È stato fatto per prevenire la forzatura bruta delle password che al momento era fattibile per gli archivi ZIP che restituivano immediatamente un errore di "password errata".

    
risposta data 15.07.2016 - 08:05
fonte

Leggi altre domande sui tag