it-swarm-eu.dev

La visualizzazione dei tentativi di password rimanenti conta un rischio per la sicurezza?

Alcuni siti Web visualizzano un numero di tentativi di password rimanenti quando inserisco password errate più di due volte. Ad esempio, mostrando che ci sono 3 tentativi rimanenti fino a quando non si blocca il mio account. È pericoloso dal punto di vista della sicurezza?

74
Ahmet Arslan

Il blocco degli account è una cattiva idea in primo luogo. Potrebbe sembrare che stai rendendo la tua organizzazione più sicura, tenendo fuori le "persone cattive" che sono "indovinare" le password usando attacchi di forza bruta, ma cosa hai veramente risolto? Anche con questa politica e una base utenti perfetta che non commette mai errori di sicurezza, un utente malintenzionato può eseguire un attacco denial-of-service sulla propria organizzazione utilizzando ripetutamente la password "aaa" per bloccare gli account degli utenti critici. Considera cosa succede se il tuo aggressore ottiene una copia dell'elenco dei nomi utente per l'intero reparto IT: improvvisamente, l'IT stesso - l'organizzazione che altrimenti sarebbe in grado di sbloccare altri utenti - viene di per sé completamente chiuso.

Considerare sempre quale sia il modello di minaccia prima di implementare una politica. Un "cattivo" determinato a danneggiare la tua organizzazione troverà vettori di attacco alternativi. La tua politica di blocco non farà nemmeno impazzire un attore dello stato-nazione (come la Russia o la Cina o la NSA); un determinato hacker troverà altri modi per aggirarlo (come il social engineering); e danneggerà solo gli utenti legittimi del tuo servizio, non importa quanto in alto o in basso imposti il ​​contatore dei blocchi.

Morale della storia: Non bloccare gli account. Invece, fai cosa Apple fa con l'iPhone: ogni tentativo di accesso raddoppia il ritardo di accesso, in modo che dopo una dozzina di guasti circa, devi aspettare un'ora tra ogni tentativo successivo. È abbastanza lungo da impedire ai "cattivi" di eseguire attacchi di forza bruta, ma ancora abbastanza breve da consentire a un utente legittimo di passare quell'ora a capire quali sono i suoi password e digitandola correttamente dopo pranzo - o contattando l'IT e chiedendo scusa per chiedere aiuto (allo stesso modo, le politiche di "allagamento" possono spesso essere implementate a livello di indirizzo IP nel firewall, non solo a livello di account utente nel tuo software, se sei preoccupato per un aggressore dedicato che tenta di forzare molti account diversi.)

E se non si bloccano gli account, non è necessario avere un contatore - o visualizzare esso.

[ leggi anche: questa eccellente risposta su una domanda simile]

148
Sean Werkema

Dipende dal meccanismo di blocco. Se gli accessi non validi vengono ripristinati dopo un po 'di tempo E un account bloccato non viene sbloccato, mostrare un segnalino può aiutare un attaccante a non bloccare un account. Ma un abile attaccante avrà determinato la politica di blocco in anticipo e ne terrà conto quando indovina la password. Quindi l'impatto è limitato.

Inoltre, fare affidamento su questo per proteggere il meccanismo di accesso non ha senso. Dovresti avere una politica di password decente e una politica di blocco da abbinare. Se la politica della password è forte, un utente malintenzionato dovrà indovinare un numero elevato di volte prima di farlo bene. Se blocchi un account dopo 20 tentativi, hai poche possibilità di essere compromesso.

Devi chiederti: qual è il vantaggio di mostrare queste informazioni a un utente reale? Spesso, questo problema con il blocco si verifica perché il numero di tentativi è impostato troppo basso. 3 o 5 sono scelte comuni. NIST (attualmente non disponibile a causa della chiusura del governo, quindi nessun riferimento diretto ancora) suggerisce meno di 100 tentativi .

Il NIST ha un punto: pensa a una password che nessun attaccante indovinerà in 3 tentativi, ma che indovinerà in 100 tentativi. Tutti gli aggressori usano dizionari e approcci diversi. Se una password non è sicura per resistere a 100 ipotesi, può essere violata anche con un minor numero di tentativi, anche se è meno probabile. Pertanto una buona politica di password è un must.

Aggiungerò i riferimenti NIST quando il sito torna indietro. Troy hunt ha alcuni buoni post sul blog che riassumono la password e i meccanismi di accesso. È anche un fan delle linee guida del NIST.

32
Silver

In linea di principio, no, non dovrebbe essere un rischio per la sicurezza. Se lo fosse, allora ti affideresti alla sicurezza attraverso l'oscurità (informazioni nascoste).

Nascondere un conteggio sarebbe, nella migliore delle ipotesi, un piccolo inconveniente per un avversario.

Al contrario, nascondere un conteggio può essere un inconveniente significativo per gli utenti legittimi. Non è raro che a volte inserisca la password sbagliata e poi la inserisca più volte supponendo che abbia fatto un refuso. Se so che sarò bloccato con un altro tentativo errato, cercherò la mia password e copierò/incollerò o la scriverò con cura. Se, tuttavia, mi blocco involontariamente dal mio account, ora devo affrontare molti problemi aggiuntivi per sbloccarlo.

5
jamesdlin

Per dare un'altra prospettiva su questo: non importa per un attaccante esperto.

In che modo vengono oggi compromessi gli account online in genere 1? Esistono due varianti di una tecnica comunemente utilizzate.

I database con hash delle password (o password in testo semplice) vengono rubati e vengono craccati offline dagli aggressori. Dopo aver risolto correttamente un hash, al primo tentativo viene offerta la password corretta al meccanismo di accesso, quindi questo controllo è inefficace.

Questo può essere il database del servizio in questione o il database di un altro servizio. Purtroppo le persone tendono a riutilizzare le loro password con diversi servizi, quindi le probabilità sono alte, che una volta che una password è abbinata a un indirizzo e-mail, può essere utilizzata su un altro sito. Un utente malintenzionato può avere due o tre password tra cui scegliere, ma probabilmente non 20. Ancora una volta, questo controllo è inefficace.

Quindi quale livello di sicurezza stabilisce questo controllo? Il livello necessario per proteggere da inesperti script kiddie, ex partner maliziosi e genitori ficcanaso che vogliono dare un'occhiata al tuo account personale e provare cinque password a caso. Niente di più, ma niente di meno.


1 Poi ci sono ovviamente altre tecniche più "avanzate" come keylogging, (spear) -phishing, MitM ecc. Che non sono mitigate da questo controllo.

2
Tom K.

Sono possibili solo due scenari, ma piuttosto mostrare che il rischio della politica del tempo di blocco dell'account è maggiore rispetto al tempo di blocco.

Per esempio.

  • una volta puoi configurare l'idra o qualche altro strumento per forzare brutalmente il login e attendere dopo 3 tentativi. se non si dispone di un tempo di blocco sufficiente, è possibile che un account venga compromesso.

  • se hai 30 minuti circa di tempo di blocco, è possibile configurare lo strumento per la forza bruta e attendere tre tentativi per impiegare anni a decifrare la password.

per concludere ciò il loro rischio non comporta la visualizzazione del tentativo di blocco dell'account.

1
Security Beast

In generale, mi rivolgo verso meno informazioni fornite a un aggressore, meglio è. Come menzionato da @ security-beast, uno strumento può essere configurato per attendere il tempo appropriato. Dare loro le informazioni per quella configurazione non è necessariamente l'ideale.

Tuttavia, devi bilanciare questo con le esigenze dei tuoi utenti. Ritieni che gli amministratori di sistema trascorrano una quantità eccessiva di tempo a sbloccare gli account perché i tuoi utenti continuano a bloccarli? In tal caso, la tua analisi potrebbe indicare che puoi trarre maggiori benefici dalla visualizzazione del numero di tentativi per i tuoi utenti in modo che sappiano quando devono attendere prima di bloccare i loro account. In altri casi sarà vero il contrario, ma in entrambi i casi la risposta dovrebbe essere il risultato di un'analisi obiettiva dei compromessi per quel particolare sistema.

Spero che sia di aiuto.

1
jfran3

Ad un certo punto ero in una società in cui alcuni ragazzi avevano appena testato la loro sicurezza. Una di queste cose che quei ragazzi hanno scoperto è che non c'era il blocco dell'account quando c'erano troppe password errate. Tuttavia, per la gioia del CISO, non sono stati in grado di provare che potevano effettivamente entrare forzando la password. Il motivo era che il blocco dell'account era silenzioso ed è durato per circa 15 minuti.

Chiediti cosa guadagni visualizzando un messaggio del genere e cosa perdi in termini di sicurezza. È perfettamente valido non dare alcuna notifica di blocco di un account a causa di troppi tentativi di accesso errati. Se dai un messaggio del genere, aiuterai un attaccante a capire quando sta sprecando il suo tempo a forzare brutalmente. In caso contrario, è meno probabile che lo capiscano, ma potrebbe portare a più chiamate/e-mail al tuo helpdesk che potrebbero essere costose. Una FAQ o pagina di aiuto potrebbe ridurlo.

Anche implementare il conto alla rovescia, probabilmente, significherà più codice e più codice significa più bug. Questo non è qualcosa che vuoi in un meccanismo di sicurezza. Aggiungendo a ciò che lo si implementa in modo errato, si potrebbe consentire agli aggressori di enumerare nomi utente che sono doppiamente problematici se si tratta di indirizzi e-mail. Al diavolo, se lo implementi usando un cookie senza segno, potrebbe effettivamente dare all'attaccante la possibilità di impedire che si verifichi un blocco.

In generale, la sicurezza sarà migliorata se i messaggi di errore forniscono il minor numero di informazioni possibile.

0
Brandhout

Il rischio per la sicurezza è soggettivo e dipenderà da ciò che si sta tentando di proteggere l'obiettivo del controllo di sicurezza e da qualsiasi altro controllo di sicurezza in atto che mitiga o compensi il rischio.

In base a ciò, diverse società/aziende avranno un'accettazione diversa a parità di rischio.

Se in modo generico fornire quanti tentativi hai ancora potrebbe non comportare un rischio (ad esempio: PIN nella tua smart card per effettuare chiamate) In altre situazioni potrebbe essere un rischio (ad esempio: tentando di forzare l'accesso al cellulare) dove puoi fermarti prima dell'ultimo tentativo e aspettare un po 'di tempo in modo che l'utente ripristini il contatore con un accesso valido ...

Dovresti verificare l'obiettivo del controllo di sicurezza, cosa stai cercando di proteggere e quali controlli di sicurezza hai in atto per compensare o almeno monitorare situazioni anomale.

Sulla base di tutto ciò, puoi decidere se si tratta di un rischio accettabile o meno per le tue specifiche.

0
Hugo