Na maioria das vezes, quando estamos conectados a um sistema informático, é preciso um nome de usuário (login ou username, em inglês) e uma senha (palavra-passe, em Portugal) para acessá-lo. O nome de usuário e a senha formam, assim, a chave para obter acesso ao sistema.
Se, em geral, o identificador é atribuído automaticamente pelo sistema ou pelo seu administrador, a definição da senha é, frequentemente, deixada à escolha do usuário. Assim, a maior parte dos usuários que não têm nada de extremamente secreto a ser protegido contenta-se em utilizar uma senha simples e fácil de lembrar (por exemplo, o nome do cônjuge ou sua data de nascimento).
Ora, se os dados da conta do usuário não tiverem caráter estratégico, o acesso à conta do usuário pode constituir uma porta aberta para todo o sistema. Na verdade, assim que um hacker obtiver o acesso a uma conta de um dispositivo, ele pode aumentar seu campo de ação obtendo a lista dos usuários autorizados a conectar-se ao mesmo. Um hacker pode tentar um grande número de senhas geradas aleatoriamente com ferramentas próprias para este uso ou com a ajuda de um dicionário (eventualmente, uma combinação dos dois). Se, por acaso, ele encontrar a senha do administrador, ele obterá todas as permissões sobre o computador.
Além disso, a partir de um dispositivo da rede, o hacker pode eventualmente obter acesso à rede local, o que significa que ele poderá elaborar um mapa dos outros servidores que estão ao lado daquele a que obteve acesso. Por conseguinte, as senhas dos usuários representam a primeira defesa contra os ataques a um sistema, por isso é necessário definir una política de senhas para que os usuários escolham senhas suficientemente seguras.
A maior parte dos sistemas é configurada de maneira a bloquear temporariamente a conta de um usuário após diversas tentativas de conexão infrutíferas. Assim, um hacker dificilmente pode infiltrar-se em um sistema desta maneira. Por outro lado, um hacker pode servir-se deste mecanismo de autodefesa para bloquear o conjunto das contas de usuários a fim de provocar uma recusa do serviço. Na maioria dos sistemas, as senhas são armazenadas de maneira codificada (cifrada) num arquivo ou num banco de dados. Quando um hacker obtém o acesso ao sistema e a este arquivo, ele pode tentar descobrir a senha de um usuário em especial ou do conjunto das contas deles.
Chama-se ataque de força bruta (busca exaustivo de chave) a quebra de uma senha testando todas as senhas possíveis. Existe um grande número de instrumentos para cada sistema operacional, permitindo realizar este tipo de procedimento. Estes instrumentos servem para que os administradores do sistema provem a solidez das senhas de seus usuários, mas o seu uso é desviado pelos hackers para se introduzirem nos sistemas informáticos.
Os instrumentos de ataque de força bruta podem demorar horas ou até dias de cálculo, mesmo com aparelhos contendo processadores potentes. Assim, uma alternativa consiste em efetuar um ataque por dicionário. Na verdade, na maior parte das vezes, os usuários escolhem senhas que têm um significado real. Com este tipo de ataque, ela pode ser descoberta em alguns minutos.
O último tipo de ataque deste tipo, chamado ataque híbrido, visa particularmente as senhas constituídas por uma palavra tradicional seguida de uma letra ou de um número (como 'marechal6'). Trata-se de uma combinação dos ataques de força bruta e de dicionário.
Para completar, existem meios que permitem ao hacker obter as senha dos usuários:
Os keyloggers (literalmente 'registradores do teclado') são softwares que, quando instalados no dispositivo do usuário, permitem registrar as teclas marcadas pelo mesmo. Os sistemas operacionais recentes possuem memórias buffer protegidas que permitem relembrar, temporariamente, as senhas do usuário.
A engenharia social consiste em explorar a ingenuidade dos indivíduos para obter informações. Assim, um hacker pode obter a senha de um indivíduo fazendo-se passar por um administrador da rede ou, pelo contrário, entrar em contato com a equipe de apoio pedindo para reinicializar a sua senha.
A espionagem representa o mais antigo dos métodos. Na verdade, às vezes basta que um hacker observe os papéis em redor da tela do usuário ou sob o teclado para obter a senha. Além disso, se o hacker fizer parte do ambiente da vítima, uma simples olhada por trás do seu ombro durante a introdução da senha permite vê-la ou adivinhá-la.
Obviamente, quanto mais longa for uma senha, mais difícil será desvendá-la. Por outro lado, uma senha constituída unicamente por números será muito mais simples de ser descoberta do que uma senha que contenha letras. Uma senha de 4 números corresponde a 10.000 possibilidades (104). Apesar deste número parecer elevado, um computador com uma configuração modesta é capaz de descobrir uma senha desse tipo em alguns minutos. É preferível uma senha com 4 letras, para a qual existem 456.972 possibilidades (264). Neste sentido, uma senha que mistura números e letras, ou mesmo maiúsculas e caracteres especiais, será ainda mais difícil de quebrar.
Senhas a evitar: seu nome de usuário, seu nome, o nome de um familiar (cônjuge, filho, etc.), uma palavra do dicionário, uma palavra escrita ao contrário (os instrumentos de quebra de senha preveem esta possibilidade) ou uma palavra seguida de um número, do ano corrente ou de um ano de nascimento (ex: 'password1999').
O acesso à conta de um só empregado de uma empresa pode comprometer a segurança global de toda a organização. Assim, qualquer empresa que deseje garantir um bom nível de segurança deve instituir uma política efetiva de segurança em matéria de senhas. Trata-se de impor aos empregados a escolha de uma senha segundo certas exigências, como, por exemplo, comprimento mínimo (ex: 8 dígitos), presença de caracteres específicos e mudança de formatação (minúscula e maiúsculas).
Além disso, é possível reforçar esta política de segurança impondo uma expiração das senhas, a fim de obrigar os usuários a alterá-las regularmente. Isto complica a tarefa dos hackers que tentam quebrar senha a longo prazo. Além disso, trata-se de um excelente meio para limitar a duração de vida das senhas descobertas.
Para concluir, é recomendado aos administradores do sistema a utilização de softwares para descobrir senhas internamente, a fim de testar a resistência das senhas dos seus usuários. No entanto, isto deve ser feito no âmbito da política de segurança e deve ser escrito claramente para ter a aprovação da direção e dos empregados.
Não é recomendado ter apenas uma senha, assim como não é bom usar o mesmo código do cartão de crédito para o celular e para entrar no seu prédio. Consequentemente, é aconselhável possuir várias senhas por categoria de uso, em função da confidencialidade dos segredos que quer proteger. Assim sendo, o código de um cartão de crédito deverá ser usado unicamente para este fim. Por outro lado, o código PIN de um smartphone pode corresponder ao do cadeado de uma mala.
Da mesma maneira, no momento da inscrição num serviço online, que pede um endereço eletrônico (ex: a newsletter do CCM), é fortemente desaconselhado escolher a mesma senha que a que permite acessar este serviço de mensagens, porque um administrador pouco escrupuloso poderia, sem nenhum problema, ter acesso à sua privacidade.