Ho un'applicazione Web esposta a Internet e sono interessata a creare avvisi o dare priorità alla revisione manuale degli accessi non riusciti all'applicazione Web.
- Quali soglie o formule dovrebbero essere utilizzate per determinare quando un login fallito dovrebbe essere rivisto in maggiore dettaglio? (Supponiamo che un avviso possa essere attivato su base per utente o su base per-IP.)
Alcune formule che ho provato, ma che hanno riscontrato problemi con l'applicazione coerente includono:
- accessi riusciti / non riusciti per IP
- Accesso riuscito / non riuscito per utente
- L'utente ha mai effettuato l'accesso con successo a questo IP in precedenza? (se no, sii più prudente)
Ho eseguito un audit Proof of Concept contro le applicazioni Web esistenti e ho notato che c'erano alcuni casi di utilizzo legittimi per l'app che distorcono l'applicazione diretta dei rapporti sopra riportati:
- L'utente si trova dietro un NAT o proxy condiviso (ufficio remoto).
- L'utente si trova su un dispositivo domestico (o mobile) e l'IP di origine cambia sempre.
- La macchina è condivisa tra molti utenti e ha un IP costante ma molti utenti
Alcune cose che sto cercando di impedire (elenco incompleto) includono:
- Forza brutale nomi utente o password. (il periodo di blocco è di 24 ore)
- Esecuzione dell'applicazione bloccando intenzionalmente gli utenti
- Qualsiasi attacco precedente da una BotNet o TOR
- Attacchi interni / attività sospette da utenti interni.
La soluzione ideale dovrebbe prendere in considerazione lo scenario seguente, ma qualsiasi approccio generale, white paper accademico o ricerca sarebbe utile.
- Scenario facoltativo :: Un utente malintenzionato sta utilizzando account puppet puppet per aggiungere accessi riusciti all'account non riuscito, facendolo apparire come NAT sopra.