Quante informazioni sul motivo di un login non riuscito dovrebbe dare una domanda web?

12

Dopo un tentativo di accesso non riuscito, dovrei informare l'utente del suo motivo? O più in generale, quante informazioni sul motivo di un tentativo di accesso non riuscito dovrebbe dare una applicazione web?

È abbastanza ovvio non informare l'utente di una password errata da sola, ma accoppiarla con l'accesso - come "Email o password è sbagliata" (o no?). Ma ho iniziato a chiedermi di informare l'utente che l'account era stato sospeso / bannato. È troppa informazione? Se metto via questa informazione, quello che sto dando è anche 'questo account è registrato con questo servizio'. Di conseguenza, se le e-mail degli utenti sono utilizzate come login, "questa e-mail è valida".

Ma tutte queste informazioni che un utente malintenzionato potrebbe estrarre dal modulo di registrazione provando a registrare e-mail / accessi diversi, a meno che l'applicazione non offuschi il motivo della creazione di un account non riuscita (solo 'Impossibile creare un account con dati dati'), che non è l'idea migliore da un punto di vista UX.

Con questo in mente, facciamo un passo indietro al login non riuscito - se un utente malintenzionato può estrarre informazioni sull'e-mail registrata con un determinato servizio non è semplicemente stupido dire "Email o password è sbagliata"? Gli utenti malintenzionati / esperti disporranno di queste informazioni in qualsiasi modo e un utente inesperto dovrà verificare di nuovo il login / email e la password.

Alla fine sembra una situazione di Lose-Lose ('Nessuna sicurezza Win - UX Flaw').

UPDATE:
Ho ripensato fornendo informazioni su un account bloccato - ovviamente questa informazione dovrebbe essere fornita dopo aver fornito le credenziali corrette (e quindi non è un problema dare ancora più informazioni sulla ragione per bloccare l'account, data dovuta e così via ...), quindi è fuori discussione.

UPDATE2:
Per favore considera questa domanda come una domanda su un difetto di progettazione in wepapps. Non chiedo informazioni sulle contromisure da adottare per prevenire attacchi di forza bruta (CAPTACHS dopo alcuni tentativi, blocco di un determinato IP per pochi minuti dopo altri tentativi, ecc.)

    
posta vandalizmo 11.03.2013 - 09:05
fonte

3 risposte

12

Ok, esaminiamo qui i vari scenari possibili.

1) Mostra esattamente cosa c'è di sbagliato nel tentativo di accesso

Questa è ovviamente una cosa stupida da fare. Visualizzando esattamente ciò che è sbagliato nel tentativo di accesso, stai aiutando un attaccante a restringere il suo attacco. Questo è il motivo per cui le persone consigliano di visualizzare un messaggio più generico come Nome utente / password non valido .

Vedi: " Nome utente e / o password non validi "- Perché i siti web mostrano questo tipo di messaggio invece di informare l'utente quale era sbagliato?

2) Visualizza un messaggio di errore generico

Viene visualizzato un messaggio come Nome utente / password non valido . Le persone suggeriscono correttamente che un utente malintenzionato può semplicemente estrarre le informazioni sul nome utente dal modulo di registrazione. Un possibile ostacolo a questo è semplicemente avere un CAPTCHA sul modulo di registrazione. Mentre i CAPTCHA possono essere risolti, questo non è banale se un utente malintenzionato sta semplicemente eseguendo uno script automatico sul tuo sito web. Un CAPTCHA su un modulo di registrazione è anche molto meno fastidioso di un CAPTCHA su un modulo di accesso.

Se il tuo nome utente è un'informazione pubblica, come Facebook, questo è ovviamente un consiglio non valido.

3) Visualizza informazioni sugli account bloccati

Non vedo un motivo valido per cui questo dovrebbe essere visualizzato da un utente che sta tentando di accedere. Invia loro un'e-mail per informarli che il loro account è stato bloccato, se necessario. Non preoccuparti di mostrare loro quelle informazioni nella schermata di accesso.

Puoi sfruttarlo a tuo vantaggio contro i bots che martellano il tuo sito bloccando gli indirizzi IP che tentano ripetutamente di accedere agli account bloccati.

Ricorda che nulla di ciò che fai può impedire a un utente malintenzionato di tentare di attaccare il tuo sito. Ciò che tali misure fanno è semplicemente rendere molto più difficile il successo dell'attacco. Se i tuoi utenti hanno password ridicolmente deboli, i loro account saranno essere eventualmente compromessi da un determinato utente malintenzionato.

    
risposta data 11.03.2013 - 09:19
fonte
1

Scusate ragazzi, ma non posso accettare le vostre risposte perché stanno semplicemente ripetendo ciò che ritengo sia "conoscenza generale" (o peggio - "standard del settore") senza ripensamenti. Quindi, ho fatto alcune ricerche personalmente, ho letto alcuni argomenti su questo argomento e ho scoperto quanto i buoni siti web funzionino con questa materia ..

E sembra che il sito che stiamo usando per discutere di questo argomento (e credo che sia uno dei migliori siti sulla sicurezza IT) sta piuttosto seguendo quello che stavo pensando:]

Prova a registrare l'email già utilizzata:
link

Tentativo di accesso con email valida ma password errata:
link

Tentativo di accesso con e-mail non valide:
link

Guardando come funziona questo sito e tenendo conto di ciò che era triste in altri argomenti credo che la vera risposta alla mia domanda

Quante informazioni sulla ragione del login non riuscito dovrebbe dare?

è:

Non più di uno è possibile ottenere utilizzando diverse parti del sito web come ospite

Quindi, se ho un modulo di registrazione sul mio sito web che rivelerebbe informazioni sugli account registrati, non serve a nascondere queste informazioni nel modulo di accesso.

Ma se il sito web non ha un modulo di registrazione (è davvero un sito veramente chiuso) vorrei ottenere la massima offuscazione e dopo aver inserito le credenziali non valide risposto con - "Impossibile accedere"

UPDATE:
Ovviamente non intendevo discutere su questo argomento o qualcosa del genere. Credevo che l'approccio comune alla sola parola "email e / o password non valida" dia solo un senso di falsa sicurezza sia all'utente che all'amministratore di tale sito web.

    
risposta data 11.03.2013 - 13:00
fonte
0

Non direi mai all'utente cosa è andato storto, tranne che "qualcosa" è andato storto. Riprova.

La ragione è che una volta che dici a un potenziale hacker quale parte è sbagliata, sono a metà strada. Indovinare una password o l'indirizzo e-mail.

Se l'utente fallisce, falli avere ad es. 3 tentativi. Se fallisce, chiedi gentilmente di controllare di nuovo i dettagli del loro account e, se si arrendono, fornisci sempre loro i mezzi per ottenere la reimpostazione della password, non inviare nuovamente.

Basta che inseriscano l'e-mail e poi invii loro un token di reset che scade automaticamente dopo un periodo definito come 4 o 8 ore + includere nella mail PERCHÉ è stata inviata questa posta e forse aggiungere un collegamento nella posta per segnalare questo come un "token non richiesto" in modo che possiamo marcare le informazioni del client di tentativi di accesso come IP per ulteriori indagini se necessario. Ofcause è già nei log, ma ora gli utenti ci hanno detto di prestare particolare attenzione a questo tentativo di fail, forse c'è un pattern da questo IP o qualcosa del genere.

Un'altra cosa che fanno molti sistemi di login, incluse le finestre, è che si aumenta il ritardo tra le voci consentite. Quindi se commetti un errore 3 volte o più, ci vorranno alcuni secondi per ottenere il prompt di accesso. Questo dealy da solo impedirà la maggior parte dei tentativi di "forza bruta" in quanto renderà difficile controllare ad es. 1000 password in un'ora.

Quindi, la conclusione è:

NON DIRE QUELLO CHE HA ANDATO IN MODO DETTAGLIATO, DICEVA: "Mi dispiace, ma le informazioni fornite non corrispondevano ai nostri dati, potresti verificare se hai inserito i tuoi dati corretti? Se hai perso i dettagli del tuo account, clicca qui per ripristinare la password del tuo account ".

Il link porterà quindi a un nuovo prompt dove richiedi l'e-mail, o semplicemente usi l'e-mail inserita se è già parte del login.

    
risposta data 11.03.2013 - 11:16
fonte

Leggi altre domande sui tag