La forza della password di parole casuali e brainflayer

32

Ho letto da più fonti che potrebbe essere meglio avere una password composta da più parole casuali poiché è più facile da ricordare rispetto a una sequenza casuale di caratteri. Ad esempio questo articolo di Thomas Baekdal . Vedo abbastanza spesso questo fumetto xkcd .

Ora ho letto questo articolo su un nuovo strumento chiamato brainflayer, attualmente destinato ai portafogli Bitcoin, che può indovinare 130000 password al secondo. Ciò rende inutili i wallwallet di Bitcoin. Mi chiedo se uno strumento simile potrebbe essere usato contro tutte le password e le password come "questo è divertente" sono davvero al sicuro come sostiene Thomas Baekdal?

    
posta user2563661 19.08.2015 - 14:37
fonte

5 risposte

53

Ho scritto brainflayer e ho fornito un talk al riguardo su DEFCON. Né l'articolo di Thomas Baekdal né il fumetto di XKCD si applicano bene ai moderni attacchi offline. Ho letto l'articolo di Thomas e le sue FAQ a riguardo, e potrebbe essere stato marginalmente ragionevole quando l'ha scritto, non lo è più. Un punto chiave è che gli attacchi di cracking della password hanno ottenuto molto meglio da allora.

Q: If I cannot write "this is fun" because of the spaces, can I not just write "thisisfun"?

A: Absolutely not! The reason why "this is fun" is 10 times more secure, is simply because it is much longer (11 characters). By removing the spaces, you reduce the length and the complexity substantially. The spaces are effectively special characters, which in itself makes the password much more secure.

Use "this-is-fun" instead.

I cracker delle password non tentano molto gli attacchi a forza bruta lunga - si tratta solo di incrinare il ROI. Un cracker intelligente proverà combinazioni di parole con vari delimitatori, quindi utilizzando spazi, trattini, caratteri di sottolineatura o nulla finirà per fornire la stessa sicurezza. I metodi di cracking di oggi utilizzano elenchi di parole - che possono includere frasi - e grandi corpus di password precedentemente compromesse insieme alla popolarità. Questo è combinato con permutazione basata su regole e modelli statistici. Ars Technica ha pubblicato un ottimo articolo in dettaglio tecniche moderne a metà 2013 e gli attacchi migliorano.

Sono anche dell'opinione (forse controversa) che sia inutile parlare di ipotesi al secondo per gli attacchi offline . Un modo molto migliore di pensarci è ipotesi per dollaro . Se vuoi essere pedante, potresti aggiungere un costo al secondo per dollaro che è una tantum, ma i costi operativi tenderanno a dominare. Il limite superiore del Brainflayer sui costi operativi è di 560 milioni di ipotesi per dollaro, basato sui benchmark delle istanze spot EC2 - con zero costi una tantum. È possibile aumentare questi costi di molti ordini di grandezza con una funzione hash "più difficile" come bcrypt , scrypt , PBKDF2 o, una volta che è finalizzato, Argon2 .

    
risposta data 19.08.2015 - 17:08
fonte
15

L'attacco specifico di cui parli ha avuto, secondo il defcon talk , alcune caratteristiche specifiche che indicano che lo stesso attacco non si applica davvero a tutte le password.

Innanzitutto, e soprattutto, i wallwallet inseriscono efficacemente l'hash della password in un luogo pubblico. Di solito la prima difesa contro il cracking degli hash delle password è cercare di proteggere l'hash stesso.

In secondo luogo, il brainwallet non ha utilizzato alcuno degli algoritmi di memorizzazione delle password comuni (ad esempio PBKDF2 o bcrypt) per proteggere gli hash. Nei casi in cui l'attaccante abbia accesso all'hash, è importante cercare di rallentare il più possibile il loro attacco. Gli algoritmi di memorizzazione delle password lo fanno rendendolo "Computazionalmente difficile" perché l'hash della password venga creato dalla password, rallentando l'attacco. Ci sono molti altri dettagli su questi qui

    
risposta data 19.08.2015 - 15:08
fonte
8

Domanda interessante. @RoryMcCune ha affrontato con piacere la domanda sul brainflyer, quindi vorrei rispondere alla tua domanda più aperta:

are passwords such as "this is fun" really as safe as Thomas Baekdal claims?

No, no non lo è.

I miei primi pensieri sono 1) che Thomas Baekdal non spiega come sta calcolando le sue stime di tempo, il che rende scettico il mio scienziato interiore, e 2) che il suo articolo non tenga conto di La legge di Moore - l'idea che la nostra potenza di calcolo sta aumentando ad un ritmo allarmante. L'articolo è stato scritto nel 2007 e da allora sia la nostra potenza di calcolo ponderata per $, sia la capacità di utilizzare in modo efficace processori paralleli (in particolare GPGPU) hanno fatto passi da gigante.

Sono contrariato con la sua affermazione: "100 anni - questo è davvero il limite per la maggior parte delle persone. A chi importa che la password venga hackerata dopo che sono morti?". Questo è un errore; questo numero si basa sulla velocità dei computer di oggi e presuppone che la tecnologia non aumenterà durante quei 100 anni.

A mio parere, le password sono una tecnologia in via di estinzione poiché non si adattano alla velocità della CPU (ovvero, la nostra capacità di craccarle aumenta in modo esponenziale, ma la nostra capacità di ricordare quelle più lunghe non lo è). Sfortunatamente, nessuna singola tecnologia è ancora riuscita a sostituirli. Mi vengono in mente due buoni tentativi per risolvere il problema del ridimensionamento:

  1. Autenticazione basata su chiave privata. Ciò si ridimensiona poiché possiamo continuare ad aumentare le dimensioni della chiave all'aumentare della velocità della CPU.

  2. Schemi dimostrativi di lavoro. Questa idea è di richiedere che il processo di login coinvolga qualcosa che richiede una grande quantità di calcolo. Le funzioni di estensione / hashing della password come PBKDF2 o bcrypt sono esempi, nonché autenticazione sfida-risposta schemi che includono la richiesta al client di eseguire un calcolo molto lungo che il server può facilmente verificare (come il factoring: "qui c'è un numero molto grande n , rimandami indietro p , q tale che p*q = n "). Man mano che i processori diventano più veloci, aumenti semplicemente la quantità di lavoro che stai richiedendo.

Entrambe hanno buone proprietà teoriche, ma sono scomode per gli utenti finali, il che impedisce loro di ottenere un'adozione diffusa.

    
risposta data 19.08.2015 - 15:46
fonte
3

Gli attacchi offline sono leggermente diversi dagli attacchi online.

In un attacco online, la limitazione della velocità e il sovraccarico della trasmissione di rete implicano che tentativi di password estremamente rapidi non sono pratici.

In un attacco offline, quando hai una password con hash, puoi ottenere tassi di attacco molto più veloci in genere. E puoi scalarlo (usando il cloud computing) in un modo ampio (che è difficile da fare online, senza bot-armies).

Tuttavia, una velocità di 130.000 tentativi al secondo, o 560 milioni di tentativi per ogni dollaro, non è così difficile da sconfiggere. Thomas ha ipotizzato 100 tentativi al secondo: colpire 100.000 / secondo rende solo le password 1000 volte meno sicure. La 5 password di parola non comune ha avuto un tempo di crack di mezzo trilione di anni: dopo una velocità di 1000x, questo diventa mezzo miliardo di anni.

Il metodo XKCD semplifica l'analisi del costo della tua password. Supponiamo che il tuo aggressore possa provare 1 miliardo di password per dollaro speso ("30 bit" di entropia della password per dollaro) (due volte più efficiente di brainflayer).

Quindi scegliere 4 parole casuali dalle più comuni 1000 parole inglesi (una password XKCD 4 * 1k) ha 40 bit di entropia, quindi ci vogliono 40-30 = 10 bit di dollari, o circa 1000 dollari, per rompere la tua password "offline".

Fino a 4 parole casuali dalle più comuni parole inglesi in 4k (una password XKCD 4 * 4k), e impiegano 48-30 = 18 bit di dollari, o 250.000 dollari per craccare la tua password.

6 parole casuali delle parole inglesi 8k più comuni (6 * 8k) sono 78 bit. Costa 48 bit di dollari per sconfiggerlo oggi, o 250.000.000.000.000 $, o 2-4x il PIL annuale del mondo intero.

Ora, se supponiamo che la legge di Moore continui a valere per quanto riguarda il cracking delle password (ogni 2 anni, il costo del cracking di una password si dimezza), e vogliamo sapere "per quanto tempo la nostra password sarà sicura per 1 milione di dollari? , possiamo fare questo:

30 (bit / dollaro correnti) + 20 (1 milione di dollari) = 50.

Prendi il numero di bit entropia della password e sottrai 50.

La legge di Moore afferma che il calcolo diventa mezzo costoso ogni 2 anni. Quindi raddoppia il numero di bit rimanenti, e questo è il numero di anni in cui la tua password deve essere protetta contro un attacco da 1 milione di dollari.

4 * 1k è 40 bit, che è inferiore a 50, quindi non è sicuro oggi contro un attacco offline.

5 * 4k è 60 bit, quindi è sicuro per ~ 20 anni contro un attacco offline.

6 * 8k è 78 bit, quindi è sicuro per ~ 56 anni contro un attacco offline.

Tutto questo presuppone che tu lasci un sistema di buona qualità e sicuro a scegliere la password per te (se provi a scegliere una password in questo modo, quasi sicuramente avrai meno entrate).

    
risposta data 21.08.2015 - 20:27
fonte
1

SHA-256 and ECDSA are considered very strong currently, but they might be broken in the far future. If that happens, Bitcoin can shift to a stronger algorithm.

( Blocca algoritmo di hashing )

Quindi gli algoritmi di hashing utilizzati non sono un problema. Aggiungendo a questo, le capacità di calcolo ( Block hashing algorithm ) richieste per il cracking non sono così facili; anche se questo è già discutibile ( Mining ASIC ). La forza di Bitcoin non è la tua domanda, ma prendila come commento per l'altra risposta che hai, e in realtà Conoscenza della passphrase == Controllo di denaro ( Cracking Cryptocurrency Brainwallets )

Tornando alla tua domanda correttamente detto, teoricamente parlando, l'insieme dei comportamenti umani è più enorme dell'universo stesso. Tuttavia, in pratica tendiamo a condividere le stesse pratiche degli altri ( Mente, società e comportamenti ). A titolo di prova, anche con 4 cifre PIN , molte combinazioni sono usate raramente mentre altre sono così diffuse:

HomenzionatoquestosondaggiodelcodicePINdi4cifreperfareunparalleloconunapasswordounafrasecomepassword(passphrase):nonèunaquestionediqualesialoschemadipasswordmiglioreperutilizzare,( Edward Snowden spiega perché è necessario utilizzare passphrase, non password ) ma piuttosto quante persone sono pronte a seguire i consigli nella pratica. Quindi quello che chiedi è davvero plausibile (la tabella sopra è una buona prova). Questi ultimi giorni, ricercatori qui in Francia sono riusciti a sviluppare un software basato su un insieme di algoritmi per identificare gli utenti che seguono il modo in cui digitano su una tastiera (un esempio di come modellare anche attività complicate come la digitazione su una tastiera, quindi la modellazione-passphracking-cracking non potrebbe essere altrettanto complicata).

Penso che questa sia una razza di mouse e gatto .

    
risposta data 19.08.2015 - 15:48
fonte

Leggi altre domande sui tag