Valutazione delle minacce per le password
Prima di implementare il codice che protegge le password, è consigliabile analizzare l'ambiente specifico per individuare i modi in cui un utente malintenzionato potrebbe tentare di penetrare nelle difese software.
Per iniziare, analizzare l'architettura di rete o di sistema. Ecco alcuni esempi:
- Numero di password che devono essere protette. È necessaria una password per accedere al computer locale? La stessa password viene usata per accedere alla rete? Le password vengono propagate a più server in rete? Quante password devono essere ospitate?
- Tipo di rete (se presente) che verrà usato. La rete viene implementata usando un sistema di directory aziendale (ad esempio LDAP) e viene usata l'architettura delle password? Sono presenti oggetti che archiviano password non crittografate?
- Rete aperta o chiusa. La rete è autonoma o è aperta all'esterno? In tal caso, è protetto da un firewall?
- Accesso remoto. Gli utenti dovranno accedere alla rete da una posizione remota?
Dopo aver analizzato il sistema o l'architettura di rete, è possibile iniziare a analizzare il modo in cui un utente malintenzionato potrebbe tentare di attaccarlo. Ecco alcune possibilità:
- Leggere una password non crittografata dal Registro di sistema di un computer.
- Leggere una password non crittografata hardcoded nel software.
- Leggere una password non crittografata dalla tabella codici scambiata di un computer.
- Leggere una password dal registro eventi di un programma.
- Leggere una password da uno schema esteso del servizio directory di Microsoft Active Directory con oggetti che contengono una password di testo non crittografato.
- Eseguire un debugger in un programma che richiede una password.
- Indovinare una password. È possibile usare una qualsiasi delle diverse tecniche. Ad esempio, l'utente malintenzionato potrebbe conoscere alcune informazioni personali su un utente e provare a indovinare una password da tali informazioni (ad esempio, il nome di un coniuge/partner o un figlio). In alternativa, è possibile provare un metodo di forza bruta, in cui vengono tentate tutte le combinazioni di lettere, numeri e punteggiatura (solo se vengono usate password brevi).
Confrontando le possibili metodologie di attacco con l'architettura di sistema o di rete, è probabile che vengano rivelati rischi per la sicurezza. A questo punto, è possibile stabilire un fattore di rischio per ogni rischio e i fattori di rischio possono essere usati per valutare le correzioni.