Avaliação de ameaças de senha
Antes de implementar o código que protege senhas, é melhor analisar seu ambiente específico de maneiras que um invasor possa tentar penetrar nas defesas de software.
Comece analisando sua arquitetura de rede ou sistema. Estes são alguns exemplos:
- O número de senhas que devem ser protegidas. Uma senha é necessária para fazer logon no computador local? A mesma senha é usada para fazer logon na rede? As senhas são propagadas para mais de um servidor na rede? Quantas senhas devem ser acomodadas?
- O tipo de rede (se houver) que será usada. A rede é implementada usando um sistema de diretório corporativo (como LDAP) e sua arquitetura de senha é usada? Algum objeto está armazenando senhas não criptografadas?
- Abrir versus rede fechada. A rede é independente ou está aberta para o lado de fora? Nesse caso, ele é protegido por um firewall?
- Acesso remoto. Os usuários precisarão acessar a rede de um local remoto?
Depois de analisar o sistema ou a arquitetura de rede, você pode começar a analisar como um invasor pode tentar atacá-lo. Veja a seguir algumas possibilidades:
- Leia uma senha não criptografada do registro de um computador.
- Leia uma senha não criptografada codificada no software.
- Leia uma senha não criptografada da página de código trocada de um computador.
- Leia uma senha do log de eventos de um programa.
- Leia uma senha de um esquema de serviço de diretório estendido do Microsoft Active Directory que tem objetos que contêm uma senha de texto não criptografado.
- Execute um depurador em um programa que requer uma senha.
- Adivinhe uma senha. Qualquer uma das várias técnicas pode ser usada. Por exemplo, o invasor pode saber algumas informações pessoais sobre um usuário e tentar adivinhar uma senha dessas informações (por exemplo, o nome de um cônjuge/parceiro ou filho). Ou um método de força bruta pode ser tentado, em que todas as combinações de letras, números e pontuação são tentadas (apenas viável quando senhas curtas são usadas).
Comparar as possíveis metodologias de ataque com a arquitetura do sistema ou da rede provavelmente revelará riscos de segurança. Nesse ponto, um fator de risco pode ser estabelecido para cada risco e os fatores de risco podem ser usados para fazer a triagem de correções.