Punti deboli di 3-Strike Security

10

Ho letto alcune pubblicazioni sulla sicurezza, in particolare sulla sicurezza delle password / crittografia, e c'è stata una cosa che mi sono chiesto: la regola del 3-strike è una soluzione perfetta per la sicurezza delle password? Cioè, se il numero di tentativi di password è limitato ad un numero piccolo, dopo di che tutte le richieste di autenticazione non saranno onorate, non proteggerà gli utenti da intrusioni? Mi rendo conto che ottenere l'accesso o il controllo su qualcosa non significa sempre passare attraverso il sistema di autenticazione, ma questa caratteristica non rende obsoleti gli attacchi dizionario / forza bruta? C'è qualcosa che mi manca?

    
posta prelic 06.04.2012 - 18:20
fonte

2 risposte

13

Sì, renderà gli attacchi di dizionario impossibili attraverso il meccanismo di accesso . (Ciò non significa molto se ottengono l'accesso al database, però. Per sicurezza ci sarà bisogno di hash correttamente e salare le password.)

Permette anche la possibilità di un attacco DOS contro un determinato utente. Diciamo che volevo impedirti di accedere. Tutto quello che dovrei fare è eseguire tre tentativi di login fasulli contro il tuo account, e poi farlo di nuovo ogni volta che fai qualsiasi cosa sia necessaria per resettare il login. Affrontare questo problema è un po 'più complicato.

    
risposta data 06.04.2012 - 18:25
fonte
3

Sono anche d'accordo sul fatto che rende gli attacchi di dizionario meno efficaci come modi per accedere a un account senza l'autorizzazione appropriata. Tuttavia:

  • Questo approccio potrebbe trasformare un attacco di dizionario in un attacco DOS contro il sistema che impedisce l'accesso se implementato male. Ad esempio, un server potrebbe essere inondato con tentativi di autenticazione. Un modo per aggirare questo è fare in modo che il servizio di autenticazione controlli il flusso degli accessi successivi a un account bloccato. Ad esempio, se un account è bloccato, presentare un ritardo prima di ogni successivo tentativo di accesso. Uno potrebbe mettere un ritardo tra un tentativo di accesso e un 'accesso negato', tuttavia, che mantiene la porta aperta a un attacco denial of service distribuito dove un utente malintenzionato lancia molti tentativi di autenticazione simultanea.

  • Come accennato nell'altra risposta, questo potrebbe anche trasformare un attacco di dizionario in un DOS crudo contro il legittimo proprietario dell'account che viene attaccato. I modi per mitigare l'impatto sul legittimo proprietario includono:

    • Rallentando una corsa sui nomi utente non fornendo alcun indizio sul fatto che sia il nome utente o la password che è sbagliato. Questo rende gli attacchi in cui il colpevole indovina i nomi utente più visibili agli amministratori e meno efficaci.
    • Invece di bloccare un account dopo un numero fisso di tentativi falliti, è sufficiente bloccare questa modalità di autenticazione. In altre parole, richiede a un utente il cui account viene attaccato per autenticarsi utilizzando un metodo diverso (possibilmente più coinvolto, ma meno facilmente attaccabile). Un buon esempio è come un telefono Android richiede che un utente utilizzi le proprie informazioni di accesso a Google dopo aver fallito l'autenticazione utilizzando una sequenza di sblocco dello schermo o un PIN. In teoria, questo è un po 'come richiedere ad un utente attaccato di chiedere il suo account per essere sbloccato, tuttavia, non richiede alcun intervento immediato da parte di un amministratore di sistema.
    • Invece di bloccare un account (o oltre a bloccare un account, per questa particolare modalità di autenticazione - vedi sopra) bloccare i tentativi di autenticazione da posizione dove l'attacco sta originando . Ad esempio, se l'autenticazione viene eseguita tramite un nome utente e una password, attraverso la rete, dopo tre tentativi di autenticazione non riusciti è possibile impedire ulteriori tentativi da parte degli utenti dello stesso IP o subnet di accedere con un nome utente o una password. Laddove vi siano buone possibilità che più utenti (incluso l'attaccante) possano utilizzare lo stesso IP o subnet, è possibile semplicemente disabilitare l'autenticazione nome utente / password per l'IP o la sottorete per un periodo di tempo, lasciando aperti i metodi di autenticazione più coinvolti per innocenti utenti in prossimità di l'autore dell'attacco.
  • Se la tua paura penalizza inavvertitamente un utente smarrito come se fosse un attaccante, invece di controllare il flusso dei tentativi di accesso falliti dopo un numero fisso di tentativi falliti, puoi usare il frequenza dei tentativi di accesso come prova è stato attaccato un account. Ad esempio, se visualizzi 10 tentativi di autenticazione nell'arco di un secondo, puoi utilizzare uno dei metodi sopra indicati per impedire ulteriori tentativi di autenticazione simili. In alternativa, è possibile utilizzare questo rapido flusso di tentativi di accesso come segnale per iniziare a controllare il flusso. Questo metodo sta diventando sempre più popolare nei forum, mentre, dopo una certa quantità di tentativi di accesso non riusciti da un particolare IP, a quell'IP viene impedito di autenticarsi per un breve periodo di tempo.

  • Infine, un buon modo per impedire a un utente di essere bersagliato ripetutamente da un attacco DOS è permettergli di reimpostare la sua password e username . In altre parole, considera sia il nome utente che la password come segreti. Laddove il nome utente è utilizzato altrove (ad esempio in un forum, se il nome utente è il nome visualizzato dell'utente), considera semplicemente questo nome visualizzato come qualcosa di separato. Questo approccio viene solitamente utilizzato dai social network in cui il nome utente utilizzato nell'autenticazione è il proprio indirizzo e-mail - qualcosa che può essere modificato, ma raramente condiviso - mentre il nome visualizzato sul sito è qualcosa definito dall'utente che può o non può essere cambiato.

Ad ogni modo, spero che una o alcune combinazioni di questi approcci possano tornare utili.

    
risposta data 06.04.2012 - 19:22
fonte

Leggi altre domande sui tag