A utilização de senhas seguras é um dos pontos fundamentais para uma estratégia efetiva de
segurança. A senha tem como objetivo permitir que somente as pessoas autorizadas tenham
acesso a um sistema ou à rede, e são criadas e implementadas pelos próprios usuários ou
pelos sistemas que gera a senha automaticamente. Palavras, símbolos ou datas fazem com
que as senhas tenham algum significado para os usuários, permitindo que eles possam
facilmente lembrá-las. Neste ponto é que existe o problema, pois muitos usuários priorizam
a conveniência ao invés da segurança. Como resultado, eles escolhem senhas que são relativamente
simples, para que possam lembrar facilmente, facilitando o trabalho dos hackers. Em virtude
disso, invasores em potencial estão sempre testando as redes e sistemas em busca de falhas para entrar.
Parte da responsabilidade dos administradores de sistemas é garantir que os usuários estejam
cientes da necessidade de utilizar senhas seguras. Isto leva a dois objetivos a serem
alcançados: educar os usuários sobre a importância do uso de senhas seguras; e implementar
medidas que garantam que as senhas escolhidas pelos usuários sejam efetivamente adequadas
(pelo menos oito caracteres, não iniciando com números, terem letras e números misturados e
incluir pelo menos um caractere especial como por exemplo:
./<>;":"[]\{}|~!@#$%^&*()_+`-= ).
Para alcançar o primeiro objetivo, a educação do usuário é o ponto chave. Já para alcançar
o segundo objetivo, é necessário que o administrador de sistemas esteja um passo à frente,
verificando possíveis senhas inseguras.
CLIFF [1], descreve as duas técnicas de ataque de senhas:
- Ataque de dicionário: Nesse tipo de ataque são utilizados combinações de palavras,
frases, letras, números, símbolos, ou qualquer outro tipo de combinação geralmente que possa
ser utilizada na criação das senhas pelos usuários. Os programas responsáveis por realizar
essa tarefa trabalham com diversas permutações e combinações sobre essas palavras. Quando
alguma dessas combinações se referir à senha, ela é considerada como quebrada (Cracked).
Geralmente as senhas estão armazenadas criptografadas utilizando um sistema de criptografia
HASH. Dessa maneira os programas utilizam o mesmo algoritmo de criptografia para comparar
as combinações com as senhas armazenadas. Em outras palavras, eles adotam a mesma configuração
de criptografia das senhas, e então criptografam as palavras do dicionário e comparam com senha.
- Força-Bruta: Enquanto as listas de palavras, ou dicionários, dão ênfase a velocidade,
o segundo método de quebra de senhas se baseia simplesmente na repetição. Força-Bruta é uma
forma de se descobrir senhas que compara cada combinação e permutação possível de caracteres até
achar a senha. Este é um método muito poderoso para descoberta de senhas, no entanto é extremamente
lento porque cada combinação consecutiva de caracteres é comparada.
Ex: aaa, aab, aac ..... aaA, aaB, aaC... aa0, aa1, aa2, aa3... aba, aca, ada...