E-mail già in uso exploit

4

Ho un portale di registrazione dove l'utente inserisce i suoi dettagli e poi un account email valido.

Attualmente controllo che l'e-mail non sia già utilizzata e se lo è, rispondo con il classico: "email già in uso" e qualcosa come "recupera la vecchia password o crea un nuovo account con una nuova e-mail".

Mi chiedo quanto è sicuro questo comportamento considerando che sto dando via le informazioni che l'indirizzo e-mail che ho inserito è effettivamente disponibile.

Come posso renderlo più sicuro? al momento posso solo pensare di prevenire i controlli di forza bruta per gli indirizzi disponibili, ma il problema rimane comunque.

    
posta dendini 19.02.2014 - 12:27
fonte

2 risposte

8

Il modo più semplice per sconfiggere questo tipo di attacco è utilizzare una e-mail di notifica invece di un messaggio di errore. Quando qualcuno cerca di creare un account utilizzando un indirizzo email risponde con "Grazie per esserti registrato, è stata inviata un'email a questo account per conferma". Da allora ci sono 2 casi:

  • L'e-mail non è registrata: l'e-mail notifica al titolare del conto che è stato effettuato un tentativo di registrazione utilizzando tale indirizzo e-mail e ha collegamenti per confermare la registrazione, o non fare nulla e il tentativo di registrazione fallirà
  • L'email è già stata registrata: l'e-mail notifica all'utente che è stato effettuato un tentativo di registrazione utilizzando l'indirizzo e-mail e che esiste già un account. Offri loro le opzioni per recuperare il loro account se si tratta di un legittimo tentativo di accesso. Di 'loro di non fare nulla se non è legittimo

I vantaggi di questo sistema sono che un utente malintenzionato non saprà se l'e-mail è stata utilizzata nell'account o meno, gli utenti vengono avvisati se qualcuno sta tentando di creare un account nel proprio nome e se verrà notificato se qualcuno sta cercando di scoprire informazioni sull'account.

    
risposta data 19.02.2014 - 12:45
fonte
1

L'attacco a cui fai riferimento è noto come enumerazione, in cui un utente malintenzionato può determinare un elenco di e-mail valide provando quelle casuali con il tuo servizio.

Penso per i motivi generati nei commenti dell'altra risposta: gli attacchi possono generare spam contro un bersaglio tentando continuamente di registrarsi come loro; oppure perdi un sacco di tempo per compilare il modulo di registrazione solo per ricordarti che eri già un membro.

Il bilanciamento qui ritengo non pretendere che l'utente si sia iscritto con successo, ma piuttosto che implementare la limitazione della velocità, in modo che l'attacco possa enumerare gli indirizzi e-mail, ma possono ottenere solo 5 tentativi per farlo, rendendo inutile mantenendo l'usabilità per i clienti.

    
risposta data 19.02.2014 - 17:50
fonte

Leggi altre domande sui tag