Qual è la differenza tra la limitazione dell'accesso e il blocco dell'account temporaneo?

16

Attualmente sto lavorando alla riprogettazione di una pagina di accesso. Inizialmente ho suggerito di limitare il login in base al quale le pause (incrementale - in numero di secondi) vengono introdotte tra ogni tentativo di accesso fallito. L'idea è che questo ci permetterà di evitare il blocco dell'account e di dare agli utenti il tempo di pensare a resettare la loro password e anche a contrastare qualsiasi attacco di forza bruta .

Il team di sviluppo ha suggerito che la limitazione dell'accesso non aiuterà a prevenire attacchi di forza bruta, ma si verificherà un blocco temporaneo. Il blocco temporaneo funziona allo stesso modo, tranne che le pause introdotte sono (incrementale - in numero di minuti e ore) quindi sono un po 'confuso ... di seguito è riportato un esempio di come IBM QuickFile consente l'accesso a essere configurato:

Quindihounaseriedidomande:

  1. Èunbloccotemporaneosolounaltrotermineperlalimitazionedell'accesso?

  2. Qualèladifferenzatralimitazionedell'accessoebloccotemporaneo?Sonougualimausanodiversiparametridiconfigurazione.peresempio3-6-12secondivs5-10-20minuti?

  3. Qualisonoleimplicazionisullaprogettazionedelleinterazionichedevoprendereinconsiderazionequandosiadottaunmeccanismodibloccotemporaneo?Possofarsapereall'utentequandosaràingradodiriprovare?Forseusandoqualcheformadiindicatorevisivo?

  4. Qualisonoitempidifotogrammapiùadattiperlepausetratentatividiaccessofallitichenonvanificanol'utentefinale? Questo post su stakoverflow sembra suggerire secondi anziché minuti

  5. Che impatto ha su Denial of Service ?

Aggiornamento: chiarimenti

Un po 'di più per chiarire! quando un Login fallisce, il pulsante "try again" viene disabilitato per una durata di 3 secondi, dopo di che è abilitato. L'utente tenta di accedere nuovamente e fallisce, il pulsante "try again" diventa inattivo per 6 secondi.

Il processo viene ripetuto per 5 tentativi consecutivi e i messaggi di errore indirizzano gli utenti a reimpostare la propria password.Al quinto tentativo gli utenti vengono presentati con una schermata di reimpostazione della password.

D'altra parte gli utenti potrebbero tentare di accedere e avere un numero specificato di tentativi dopo di che l'account è "bloccato" per un periodo di tempo, diciamo 5 minuti che aumenta a 10 minuti dopo un altro gruppo di tentativi.

Grazie

    
posta Okavango 03.12.2014 - 15:39
fonte

5 risposte

22

A) Sì, ce l'hai. Lo stesso in quanto entrambi risultano da un tentativo di accesso fallito, sebbene differiscano in cose come la registrazione, l'implementazione UX risultante e quando ne viene utilizzata una.

Se un utente è temporaneamente bloccato, questo è degno di posta elettronica. Dovresti inviare una e-mail o un messaggio di testo a loro informando che sono stati fatti abbastanza tentativi falliti per garantire un blocco temporaneo. Questa è un'opportunità per consentire all'utente di intervenire nel caso in cui non stia tentando di accedere.

In alternativa, potresti utilizzare solo un timer di blocco in pochi minuti, ma richiedere un'azione da parte dell'utente per sbloccare l'account sarebbe più ideale.

Throttling è più per il pacing. "tieni i tuoi cavalli, prendi un respiro" e può essere fatto senza nemmeno informare l'utente. Un semplice elemento di selezione dell'interfaccia utente può essere utilizzato per impedire all'utente di inviare in modo accidentale formazioni doppie e impedire tentativi rapidi nell'arco di secondi anziché minuti o ore.

Questo può anche essere usato come un'opportunità per rilevare i tentativi bruteforce se l'attaccante non sta passando attraverso l'interfaccia utente. Se vengono effettuati 3 tentativi al secondo ma l'interfaccia utente consente solo 1 tentativo ogni 3 secondi, qualcosa non va.

    
risposta data 03.12.2014 - 16:05
fonte
10

"Throttling" e "lockout temporaneo" sono esattamente la stessa cosa.

È probabile, tuttavia, che il tuo team di sviluppo abbia frainteso i concetti e presupponevi che intendessi "strozzamento" come la maggior parte delle altre risposte (ad eccezione di @ R15 , anche se è meno una risposta e più importanti considerazioni).

Il punto importante che mancano è semplicemente questo:

The entire Raison d'être of temporary lockout IS login throttling.

Il blocco dell'account non è una punizione per l'utente, né concede automaticamente l'account Magik Powers of Immunity da tutti gli attacchi mentre è bloccato.

Il motivo per cui il blocco temporaneo funziona, è che sta effettivamente impostando una quantità minima di tempo per eseguire il numero X di tentativi di accesso.
In altre parole, un numero massimo di tentativi di accesso entro il periodo di tempo Y.

Facciamo un esempio:

Senza protezione da forza bruta, supponiamo che un utente malintenzionato possa tentare 1000 password al secondo. Secondo questo classico XKCD , la maggior parte delle password "complesse" avrebbe fino a 28 bit di entropia. A 1000 ipotesi / secondo, ci vorrebbero circa 3 giorni alla forza bruta.

Ora, supponiamo di avere una protezione da forza bruta in atto (limitazione / blocco account): After X passwords, lock the account for Y amount of time . O formulato come limitazione: Allow only X passwords every Y amount of time.
Chiaramente questi sono gli stessi ... indipendentemente dal fatto che Y sia 30 secondi o 30 minuti. E funzionerebbero entrambi.

Ma facciamo una riproduzione ....

  • Per semplificare, imposteremo il precedente X = 10 (password consentite errate), Y = 10 minuti (tempo di blocco). A quel ritmo (in realtà è 1 ipotesi al minuto, in media, solo per semplificare le cose) - ci vorranno poco più di 500 anni per indovinare (in media).
  • Ok, abbassiamo i parametri ... X = 5 ipotesi, Y = 30 secondi. La stessa password richiederebbe poco più di 50 anni (dal momento che, in media, la velocità del motore è di 10 tentativi al minuto).
  • Oppure, come sembra che tu abbia inteso, X = 1 ipotesi per ogni Y = 10 secondi (?): con una media di 6 ipotesi al minuto, ci vorrebbero circa 85 anni per forzare la password ...

Naturalmente puoi sintonizzare questi parametri come ha senso per il tuo sistema e, soprattutto, come @ R15 ha detto prima, questo dovrebbe essere in relazione alla forza delle password degli utenti .
Tuttavia, indipendentemente dal fatto che si tratti di "blocco dell'account" o "limitazione degli account" è la stessa cosa esatta, dal momento che il primo è semplicemente un'implementazione semplice per raggiungere il secondo.

    
risposta data 04.12.2014 - 01:23
fonte
2

Qualcos'altro da considerare è che il tasso medio di tentativi ammissibili (imposto dalla limitazione o dal blocco) dovrebbe in teoria essere legato al tempo effettivo di copertura delle password degli utenti.

Questo è il throttling / lockout dovrebbe essere sufficiente per impedire che un attacco di forza bruta tramite l'interfaccia web abbia successo prima che l'utente cambi la sua password.

In altre parole, la decisione in merito ai tempi è correlata alla complessità della password e alla frequenza di modifica.

Ovviamente, se stai controllando i log dovresti essere in grado di identificare attacchi lenti contro account specifici e fare qualcosa a riguardo prima che ci sia una probabilità che una password sia corretta.

    
risposta data 03.12.2014 - 16:44
fonte
1

La differenza principale è che un " account blocco" è basato su account utente e la limitazione dei tentativi di accesso può essere effettuata limitando i tentativi per client.

Il limitamento dei tentativi di accesso per client aiuta, ad esempio, se un singolo client malintenzionato non punta a un account specifico ma prova un nome account diverso a ogni tentativo (o fino a quando l'account non è bloccato).

Se regoli i tentativi di accesso per account, è essenzialmente lo stesso di un blocco temporaneo.

    
risposta data 03.12.2014 - 18:55
fonte
1

La limitazione viene utilizzata quando il blocco non è un'opzione. Ciò si verifica in particolare quando è necessario evitare di coinvolgere le operazioni di supporto (nuove startup con un elevato numero di utenti), dando maggiore peso alla sicurezza rispetto alla business continuity, alla conformità o alla sicurezza (il lockout può mettere in pericolo la sicurezza di qualcuno).

    
risposta data 08.12.2014 - 09:40
fonte

Leggi altre domande sui tag