Avaliação de ameaças de senha
Antes de implementar o código que protege senhas, é melhor analisar seu ambiente específico para saber como um invasor pode tentar penetrar nas defesas de software.
Comece analisando sua arquitetura de rede ou sistema. Aqui estã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á usado. 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 contra rede fechada. A rede é autocontida ou está aberta para o exterior? Em caso afirmativo, ele é protegido por um firewall?
- Acesso remoto. Os usuários precisarão acessar a rede de um local remoto?
Depois de analisar sua arquitetura de rede ou sistema, você pode começar a analisar como um invasor pode tentar atacá-lo. Aqui estão 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 sem formatação.
- Execute um depurador em um programa que exija uma senha.
- Adivinha 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 à segurança. Nesse ponto, um fator de risco pode ser estabelecido para cada risco e os fatores de risco podem ser usados para correções de triagem.