[Dica] Criação de senhas seguras

Started by acviper, August 26, 2005, 09:07:34 PM

Previous topic - Next topic

acviper

Identificação e autenticação de usuários são aspectos essenciais da segurança da informação, permitindo controlar o acesso aos ativos de informações e evitar a divulgação indevida de informações privilegiadas, o uso não autorizado de recursos de informática e outros problemas que afetam a integridade, disponibilidade e confidencialidade da informação corporativa. As senhas compostas de letras, números e caracteres especiais ainda são o método mais comum de autenticação de usuários de sistemas de informação, e a necessidade de se garantir a seleção de senhas seguras - difíceis de adivinhar, e ao mesmo tempo fáceis de serem lembradas - continua sendo uma das grandes preocupações da área de segurança.

Grande parte das deficiências dos sistemas de autenticação baseados em senha está relacionada às limitações da memória humana. Se fosse fácil para os usuários lembrar de senhas com um grande número de caracteres totalmente aleatórios, o problema não existiria, mas a necessidade crescente de memorizar senhas para acesso a sistemas de informação, serviços telefônicos, bancários etc acaba levando a várias situações de risco, como o uso de uma mesma senha em sistemas com diferentes níveis de proteção, seleção de palavras de fácil adivinhação e registro das senhas em papel, entre outras. Ao longo do tempo, diversas suposições foram sendo adotadas em relação aos melhores métodos para se evitar esses riscos - as quais nem sempre se confirmam na prática.

Em artigo publicado na Revista Security&Privacy (1), um grupo de pesquisadores apresentou resultados de uma experiência realizada com usuários de sistemas computacionais que confirmam algumas das crenças com uns a respeito do que constitui uma senha segura, mas refutam outras. Nesse estudo experimental, 288 estudantes foram divididos em três grupos e receberam diferentes orientações a respeito de como selecionar uma senha.

O grupo de controle obteve instruções tradicionais, do tipo \\"sua senha deve ter no mínimo sete caracteres e um que não seja letra do alfabeto\\"; o segundo grupo recebeu uma folha com as letras A-Z e os números 1-9 impressos repetidas vezes, com a orientação de que cada usuário fechasse os olhos e escolhesse oito caracteres aleatoriamente; e o terceiro grupo foi instruído a escolher uma senha baseada numa frase mnemônica (por exemplo, a frase \\"É meio-dia e estou com fome\\" poderia originar a senha \\"eh12&ecfom\\").

As senhas criadas foram submetidas a testes de adivinhação, como \\"ataque por dicionário\\" (uso de arquivos com palavras de dicionário para tentar descobrir a senha escolhida), permutação entre letras e números (para cada palavra do dicionário, trocar letras por números para construir outras senhas possíveis, e também fazer substituições comuns, como troca da letra \\"l\\" pelo número um, \\"S\\" por cinco etc) e exploração de dados coletados dos arquivos de senha (tais como ID do usuário, nome completo e iniciais do nome, que poderiam ser usados para compor a senha). Também foram capturadas informações sobre o número de usuários que precisaram trocar a senha por esquecimento, e sobre quanto tempo os usuários levaram para decorar sua senha, entre outros dados coletados.

O estudo confirmou as suposições de que senhas com menos de sete caracteres são facilmente desvendáveis, independentemente do método usado para se selecioná-las (2); usuários têm maior dificuldade para lembrar de senhas geradas aleatoriamente; e senhas baseadas em frases mnemônicas são mais difíceis de serem adivinhadas do que senhas criadas sem a preocupação de evitar as escolhas mais óbvias (as chamadas \\"senhas ingênuas\\"). Já outros resultados foram contra a crença comum: o estudo mostrou que as senhas aleatórias não são mais seguras do que as senhas mnemônicas (3), e que estas não são mais difíceis de memorizar do que as senhas ingênuas (4).

Esses resultados são úteis para ajudar os administradores de sistema a adotar estratégias eficazes para garantir que os usuários selecionem senhas mais seguras. Por exemplo, se uma senha criada com base numa frase mnemônica é tão difícil de adivinhar quanto senhas aleatórias, e tão fácil de guardar quanto outra senha qualquer, conclui-se que os esforços de conscientização dos usuários no sentido de basearem suas senhas numa frase mnemônica efetivamente aumenta a segurança (isso não necessariamente ocorreria se o estudo tivesse demonstrado ser mais difícil memorizar esse tipo de senha, pois a vantagem trazida por se usar uma seqüência de caracteres mais difíceis de adivinhar, gerados a partir da frase mnemônica, poderia ser perdida caso a dificuldade de lembrar da senha levasse os usuários a deixá-la anotada num papel em local de fácil acesso).

Com base nos resultados obtidos, os autores apresentam algumas recomendações bastante úteis para administradores de sistema, além do incentivo ao uso de frases mnemônicas: evitar a criação de senhas com menos de oito caracteres e, quando o sistema permitir, incentivar o uso de senha com dez ou mais caracteres (isso também estimula o uso de frases mnemônicas, pois estas facilitam a memorização de uma seqüência mais longa de caracteres); reforçar a importância de uso de números e caracteres especiais na senha, para impedir a utilização de um subconjunto muito limitado de caracteres na sua criação; e sempre que possível adotar mecanismos de conformidade com as recomendações feitas, que levem à recusa automática de senhas que não atendam a determinadas especificações (por exemplo, tamanho mínimo e uso de caracteres especiais).

O desafio de autenticar de forma segura os usuários de sistemas e serviços de informação está presente em todas as organizações. Enquanto não existirem estudos conclusivos atribuindo maior segurança e melhor custo-benefício a soluções alternativas ao uso de senhas textuais (5), as empresas continuarão usando sistemas protegidos por senhas e tendo que desenvolver procedimentos seguros para sua criação, alteração, recuperação e armazenamento. Para alcançar esse objetivo, equipes de segurança e administradores de sistema precisam estender a preocupação para além dos aspectos técnicos da questão, contemplando também os fatores humanos: motivar os usuários para a escolha de senhas de difícil adivinhação e fácil memorização, evitar que usuários repassem suas senhas para colegas ou as registrem em locais de fácil acesso etc. Estudos, como o mencionado neste artigo, podem ajudar as organizações a evitar teorias já superadas, como a da maior segurança proporcionada por senhas aleatórias, ao definir suas políticas para a criação de senhas seguras.

Notas:

(1) Yan, Jeff at all. Password Memorability and Security: Empirical Results. Security&Privacy, IEEE Computer Society, set./out./2004, pp. 25-31.

(2) Ataques de \\"força bruta\\", baseados no uso de todas as combinações possíveis de caracteres, permitiram adivinhar, nos três grupos, uma quantidade equivalente de senhas de usuários que ignoraram a recomendação relativa ao tamanho mínimo e escolheram senhas de seis caracteres.

(3) Após três ataques, 8% das senhas do grupo de senhas aleatórias e apenas 6% das senhas do grupo de frases mnemônicas tinham sido adivinhadas.

(4) Usuários com senhas aleatórias tiveram maior dificuldade em relembrá-las, e precisaram manter uma cópia escrita por um tempo bem mais longo do que os dos outros grupos. Já o nível de dificuldade de memorização foi praticamente o mesmo entre os usuários que produziram \\"senhas ingênuas\\" e aqueles que usaram uma frase mnemônica.

(5) Exemplos de soluções alternativas são os sistemas de autenticação baseados em biometria, que fazem o reconhecimento de características físicas como feições, padrões da íris etc; senhas gráficas, em que imagens, fotos ou áreas de uma imagem devem ser selecionadas pelo usuário na seqüência correta; e sistemas de reconhecimento dos padrões de digitação do usuário.

Fonte: Módulo Security Magazine by Adriana Beal