Quanto è sicuro cambiare o aggiungere un singolo carattere nella passphrase?

3

Scommetto che molte persone sono obbligate a cambiare periodicamente le loro password per alcune applicazioni o anche in ufficio. Scommetterei anche che una grande percentuale di queste persone "cambia" la propria password cambiando solo un singolo carattere nella password (o semplicemente aggiungendo un carattere).

supersecret11 >> supersecret12
sepersecret11 >> sepersecret111

La mia domanda è, in pratica, quanto "meno" è sicuro di questo che cambiare l'intera cosa? Riconosco matematicamente che la differenza può essere confrontata e significativamente meno sicura rispetto alla modifica dell'intera cosa. La mia domanda però è, se qualcuno ottiene l'accesso a una password per un account, e quella password non riesce, ci sono prove di tentativi di crackare ulteriormente questi passphrase o è più probabile che il tipico hacker passerà al prossimo account nella sua lista ?

Inoltre, di nuovo in pratica, non in modo strettamente matematico, se dovessimo cambiare una password da supersecret11 a s.upersecret11 , questo non ha effettivamente lo stesso effetto della modifica dell'intera passphrase? (di nuovo, questo viene chiesto da un punto di vista generale, ignorando gli attacchi mirati all'utente, concentrandosi su "elenchi di account compromessi" a cui gli hacker possono accedere)

    
posta MrDuk 05.05.2016 - 22:54
fonte

5 risposte

5

is there evidence of attempts to further crack these passphrases or is it more likely that your typical hacker will move on to the next account in his list?

Questo dipende. Se l'utente malintenzionato può indovinare che lo schema di modifica della password è semplicemente quello di sostituire un singolo personaggio (forse perché ha avuto accesso alle ultime due password o sa come pensi), probabilmente tenterà prima di cambiare solo i singoli caratteri.

E se il tuo account sembra più prezioso di altri account, l'utente malintenzionato proverà a craccare la tua password. Dipende solo da quale sia il miglior ritorno di investimento.

E per quanto riguarda il "tipico hacker": l'hacker tipico si adatterà. Ci sono molte perdite di password là fuori e queste sono usate per scoprire quale tipo di password sono usate principalmente e che tipo di variazioni sono fatte. Queste informazioni saranno poi utilizzate per rendere i tentativi di cracking più intelligenti e veloci. Se nuove perdite mostrano un cambiamento di comportamento, gli algoritmi per il cracking saranno adattati di nuovo.

... if we were to change a password from supersecret11 to s.upersecret11, doesn't this effectively accomplish the same thing as changing the entire passphrase?

Qualunque sia lo schema che usi per ricavare la tua prossima password dalla precedente, sarà sempre più debole della semplice scelta di una nuova password casuale. Ciò è particolarmente vero se l'utente malintenzionato conosce in qualche modo lo schema che si sta utilizzando (forse deriva dalla conoscenza delle ultime password) perché in tal modo può facilmente creare e controllare le poche varianti della nuova password.

    
risposta data 05.05.2016 - 23:11
fonte
4

C'è l'aspetto matematico che cambierà in base al numero di caratteri usati e al numero da cui puoi scegliere. Questo può essere calcolato per qualsiasi password specifica per qualsiasi sistema specifico per ottenere una parte della risposta.

Ancora più importante. Per le persone che guardano regolarmente i dump delle password (penetration tester e molti altri professionisti della sicurezza), vediamo i pattern e sappiamo quale sarà il prossimo pattern probabile. Ad esempio quando vedo quanto segue:

utente: [email protected] password: LoveMyJob6

Quasi sempre assumerò che il 6 alla fine rappresenti il suo incremento di un numero perché ha dovuto cambiare una password diverse volte. Allo stesso modo, puoi immaginare quello che immagino sia probabile che le sue prossime due password siano:

LoveMyJob7

LoveMyJob8

LoveMyJob9

ecc ...

Come tester di penetrazione e presumibilmente come attaccante, sì, lo prenderò assolutamente in considerazione e proveremo prima questi. Questo è solo uno schema, ma ci sono molti modelli simili. Se passi un po 'di tempo a guardare i dump delle password che sono stati resi pubblici su siti come pastebin.com, inizierai a vederli tu stesso. Sarai anche inorridito da quante cattive password siano effettivamente.

Tornando alla tua domanda, se sto cercando di accedere a una società e ho diversi account, cercherò anche di accedere ad almeno un account il più velocemente possibile, quindi sì, sto andando a eseguo tutti gli account (organizzazione di destinazione) che prima ho utilizzato la password esatta che trovo prima (perché è facile e veloce caricare una lista come quella in uno strumento come Hydra. Dopo di allora guarderò le variazioni dell'attuale password, quindi le prime 1000 password, quindi cercare parole simili che l'utente ha sui siti personali o dal sito Web dell'azienda o dell'azienda.Altre cose come se la vecchia password è una parola in un'altra lingua come il tedesco. Dizionario tedesco o le 500 parole tedesche più utilizzate come password.

In definitiva la scelta umana non è casuale, quindi la prospettiva degli attaccanti che attaccano il modello umano è molto più veloce dell'attacco con la forza bruta. Quindi sì, gli attaccanti e i tester di penetrazione faranno quel percorso il più lontano possibile.

Riferimenti alla tua domanda specifica su "supersecret11 to s.upersecret11" per me questa è una piccola modifica di una passphrase e non l'equivalente di cambiare l'intera passphrase. Intendiamoci, sì, avrei provato supersecret12 o qualcos'altro prima, ma se vedessi un altro account in cui lo stesso utente aveva perso anche un'altra password come l.esssecret11, immediatamente tornerò indietro e provo le varianti che sembrano simili.

È difficile misurarlo, ma poiché gran parte della passphrase è rimasta invariata, non la considererei uguale a quella di modifica dell'intera passphrase.

    
risposta data 05.05.2016 - 23:27
fonte
2

Analisi del rischio

Tutte le norme sulle password sono obbligatorie per cambiare le password regolarmente. Questo per ridurre un rischio, il rischio che una password venga compromessa e che il proprietario di questa password o il sistema che lo utilizza possa autenticarsi lui non avrebbe scoperto questo compromesso abbastanza presto. Quindi questo segreto avrebbe perso la sua proprietà chiave. Questa è la probabilità di compromissione di una password aumentando con:

  • utilizzare (sotto una telecamera di sorveglianza non notata o un iPhone vicino),
  • errori utente (digitando una password nell'interfaccia sbagliata),
  • suggerimenti che lo rendono meno segreto (ogni derivato di una informazione conosciuta),
  • server compromessi (che non sarebbero in grado di rilevarlo e dillo ai suoi clienti),
  • server dirty (utilizzo di un server che salva le password in chiaro) testo e non si sente necessario informare i propri clienti)

e tutti questi incidenti segreti sono una funzione del tempo. Ad un certo punto nel tempo, dovresti considerare che la probabilità che il la forma di testo chiara della tua password è nota in realtà == 1.

Per coprire questo rischio devi cambiarlo e, naturalmente, in modo da sopprimere la vulnerabilità: la conoscenza dei tuoi nemici . Poi devi cambiarlo il più completamente possibile , e direi in a in modo il più imprevedibile possibile da qualsiasi tipo di nemico che riesci a immaginare.

In questo processo, la tua memoria potrebbe anche diventare un nemico nascosto. Immaginiamo che la tua password sia una funzione del tempo come questa:

  • anno n: ße©®e†_001
  • anno n + 1: ße©®e†_002

dopo solo un anno di utilizzo di tale pratica password, lo farai fare errori di memoria tra versioni presenti e precedenti. E aumenterai gli errori di password e infine apparirà in molti file di registro che non è possibile accedere e cancellare. Finirai definitivamente per erodere la segretezza delle tue password.

Per ridurre questo rischio, ancora una volta, devi cambiarlo il più completamente possibile . E credimi, anche il tuo ricordo sarà un alleato molto migliore un cambiamento totale rispetto a uno parziale.

    
risposta data 06.05.2016 - 10:05
fonte
1

My question is, practically speaking, how much "less" secure is this than changing the entire thing? . . (again, this is asked from a general standpoint, ignoring user-targeted attacks, focusing on "lists of compromised accounts" that hackers may gain access to)

Penso che questo sia un caso in cui non va bene generalizzare. La sicurezza è un campo molto dipendente dalla situazione. Ci piace generalizzare per dare consigli a grandi quantità di persone, ma questo è un caso in cui dipende molto dalle specifiche.

È nell'interesse di un utente malintenzionato fare "la cosa più facile" per ottenere l'accesso a ciò che desidera. Se l'attaccante ha altri 1000 account uguali ai tuoi, passerà a trovarne uno migliore, mentre se ne ha solo 3, è più probabile che tu venga attaccato. Dipende anche dalle risorse che l'attaccante ha a sua disposizione. Se l'attaccante ha più risorse attaccanti rispetto alle risorse da attaccare, potresti essere bersagliato anche se l'attaccante ha 1000.

Essendo il punto, non c'è davvero alcuna generalizzazione che sia terribilmente significativa. Dipende da ciò che stai cercando di proteggere e da chi ti insegue.

    
risposta data 05.05.2016 - 23:32
fonte
0

Le altre risposte forniscono buone informazioni tecniche sul motivo per cui questo non è particolarmente sicuro. Ma ci porta a una conclusione che è interessante di per sé:

I sistemi che richiedono modifiche periodiche della password non sono sostanzialmente più sicuri della linea di base, a meno che non sia disposto a archiviare le vecchie password senza dubbio (discutibile nel migliore dei casi) o a rinunciare a effetto valanga per il tuo algoritmo di hashing (oggettivamente cattivo).

Memorizzare le vecchie password non trattate è, probabilmente, non pericoloso se le vecchie password non sono correlate con le nuove password. Ma il problema è che l'utente non è un robot . Di fronte a un errore che dice "la tua nuova password è troppo simile alla tua vecchia password", l'utente non si arrenderà e comporrà una password casuale nuova di zecca. Faranno di tutto per sconfiggere il tuo sistema, cambiando un personaggio qua o là finché non troveranno qualcosa di accettabile. A questo punto, la vecchia password è una responsabilità significativa poiché è ancora ampiamente simile alla nuova password.

(È possibile memorizzare l'hash delle vecchie password e quindi mutare la nuova password per provare a "trovare" le vecchie password o richiedere all'utente di immettere nuovamente la loro vecchia password prima di cambiarle, ma che si limita a sollevare questa idea da "responsabilità" a "inutile" perché l'utente continuerà a sconfiggere il tuo sistema in un modo o nell'altro.

Questo è un punto di intersezione tra fattori umani e sicurezza. Sì, ruotando la password correttamente , creando ogni volta uno completamente nuovo, è più sicuro che lasciarlo fisso. No, non è realisticamente possibile fare in modo che gli utenti facciano questo.

Invece, dovresti concentrarti sul rendere le password degli utenti sicure abbastanza da non dover essere ruotate. Parte di questo è l'applicazione di attenuazioni tecniche standard come l'hashing della password (lento) strong e la limitazione della velocità. Ma ci sono anche elementi umani. Molti utenti non capiscono cosa rende una buona password. I buoni misuratori di forza della password come zxcvbn (al contrario di quelli schifosi che troverai in tutto il Web) possono aiutarti in questo, lungo con l'educazione e il coinvolgimento degli utenti.

    
risposta data 06.05.2016 - 05:57
fonte

Leggi altre domande sui tag