Quando o engenheiro Bill Burr do Instituto Nacional de Padrões e Tecnologia dos EUA (NIST) escreveu em 2003 o que logo se tornaria o padrão mundial de segurança de senhas, aconselhou pessoas e empresas a protegerem suas contas combinando longas linhas de caracteres com números e sinais e alterá-las periodicamente.

Quatorze anos depois, Burr admitiu que se arrependeu de seu conselho anterior. "Só enlouquece as pessoas e elas não escolhem boas senhas, não importa o que você faça", disse ele ao Wall Street Journal.

Ou, como expresso no famoso quadrinho xkcd: "Ao longo de 20 anos de esforço, treinamos com sucesso todos para usar senhas que são difíceis de lembrar para os humanos, mas fáceis de adivinhar para os computadores".

Nos dias de hoje, uma pessoa média tem até 100 senhas para lembrar, e o número cresceu rapidamente nos últimos anos (embora, na verdade, algumas pessoas usassem cerca de 50 senhas), mas especialistas têm apontado que certos hábitos e políticas de senhas são insustentáveis.

De fato, estudos descobriram que as pessoas geralmente lembram até cinco senhas e tomam atalhos para criar senhas fáceis de adivinhar e depois reciclá-las em várias contas na Internet. Alguns substituem números e caracteres especiais por letras (por exemplo, "password" se torna "P4??WØrd"), mas isso ainda é uma senha fácil de decifrar.

Nos últimos anos, empresas líderes como The Open Web Application Security Project (OWASP) e, claro, o próprio NIST mudaram suas políticas e recomendações em direção a uma abordagem mais fácil de usar e, ao mesmo tempo, contemplam a segurança das senhas.

Por sua vez, gigantes tecnológicos como Microsoft e Google estão incentivando todos a abandonar as senhas e deixar de usá-las completamente. No entanto, se sua pequena ou média empresa ainda não estiver pronta para abandonar as senhas, aqui está um guia que pode ajudar.

Pare de impor regras desnecessárias para criar senhas complexas

Regras para criar senhas que são extremamente complexas (como exigir que os usuários incluam caracteres em maiúsculas e minúsculas, pelo menos um número e um caractere especial) já não são obrigatórias. Isso ocorre porque essas regras raramente incentivam os usuários a estabelecer senhas mais seguras, mas, pelo contrário, os impulsionam a agir de forma previsível e gerar senhas fracas e difíceis de lembrar.

Alterar para frases de senha

Em vez de senhas curtas, mas difíceis, procure frases de senha. Elas são mais longas e mais complexas, mas ainda fáceis de lembrar. Por exemplo, pode ser uma sentença completa que ficou gravada em sua cabeça por alguma razão, com letras maiúsculas, caracteres especiais e emojis. Embora não seja super complexa, as ferramentas automatizadas levarão anos para que possam ser quebradas.

Há alguns anos, o comprimento mínimo para uma boa senha era de oito caracteres, consistindo em maiúsculas e minúsculas, sinais e números. Hoje em dia, as ferramentas automatizadas para decifrar senhas podem adivinhar essa senha em minutos, especialmente se ela estiver protegida com a função hash MD5.

Isso é de acordo com os testes realizados pela Hive Systems e publicados em abril de 2023. Por outro lado, uma senha simples que contém apenas letras maiúsculas e minúsculas, mas que tem 18 caracteres, leva muito, muito mais tempo para ser decifrada.

Fonte: Hive Systems.

Use um mínimo de 12 caracteres

As diretrizes do NIST consideram o comprimento como o fator mais importante na segurança de uma senha. Além disso, o documento destaca que uma senha deve ter pelo menos 12 caracteres e, no máximo, 64 caracteres depois de combinar vários espaços.

Use uma variedade de caracteres

Ao definir senhas, os usuários devem ter a liberdade de escolher entre todos os caracteres ASCII e UNICODE imprimíveis, incluindo emojis. Eles também devem ter a opção de usar espaços, que são uma parte natural das frases usadas como senhas, uma alternativa altamente recomendada para evitar senhas tradicionais.

Evite a reutilização de senhas

Já mencionamos várias vezes que as pessoas não devem reutilizar suas senhas para acessar diferentes contas on-line, porque o vazamento das chaves de acesso de uma conta pode levar facilmente à violação de outras contas.

No entanto, muitos hábitos demoram a desaparecer e cerca de metade dos entrevistados em um estudo realizado pelo Instituto Ponemon em 2019 admitiu ter reutilizado uma média de cinco senhas para acessar suas contas comerciais e/ou pessoais.

Não defina uma data de validade para as senhas

O NIST também recomenda não exigir alterações regulares de senhas, a menos que sejam solicitadas pelo usuário ou que haja evidência de comprometimento. A razão é que os usuários têm uma paciência limitada para ter que pensar constantemente em novas senhas razoavelmente seguras. Como resultado, solicitar mudanças de senha regularmente pode fazer mais mal do que bem.

Quando a Microsoft anunciou que eliminaria as políticas de expiração de senha há três anos, questionou toda a ideia de expiração de senhas.

"Se considerarmos que é provável que uma senha seja roubada, quantos dias são um período de tempo aceitável para continuar permitindo que o ladrão use essa senha roubada? O tempo padrão do Windows é de 42 dias. Não parece um tempo ridiculamente longo? Bem, é, e no entanto, nossa linha de base atual é de 60 dias, e costumava ser de 90 dias, porque forçar o vencimento frequente apresenta seus próprios problemas", é o que podemos ler no blog da Microsoft.

Tenha em mente que este é apenas um conselho geral. Se a senha proteger um aplicativo crucial para os negócios e atraente para os atacantes, ainda é possível obrigar os colaboradores a mudar as senhas periodicamente.

Perguntas para recuperar senhas

As sugestões de senha e as perguntas de verificação baseadas no conhecimento também estão obsoletas. Embora possam ajudar os usuários a recuperar senhas esquecidas, também podem ser de grande valor para os atacantes. Nosso colega Jake Moore demonstrou em várias ocasiões como os cibercriminosos podem abusar da opção "esqueci minha senha" para acessar as contas de outras pessoas, por exemplo, no PayPal e Instagram.

Por exemplo, uma pergunta como "qual é o nome do seu primeiro animal de estimação" pode ser facilmente adivinhada com um pouco de pesquisa ou engenharia social e não há realmente um número infinito de possibilidades que uma ferramenta automatizada precise passar.

Blacklist de senhas comuns

Crie uma "blacklist" com as senhas mais comuns ou que foram comprometidas anteriormente e compare as novas senhas com esta lista para rejeitar aquelas que correspondam.

Em 2019, a Microsoft escaneou as contas de seus usuários comparando os nomes de usuário e senhas com um banco de dados de mais de três bilhões de conjuntos de credenciais filtradas. Descobriu 44 milhões de usuários que usavam senhas que haviam sido comprometidas e forçou o reset de senha.

Suporte para gerenciadores de senhas e ferramentas

Certifique-se de que a funcionalidade de "copiar e colar", o gerenciador de senhas do navegador e também os gerenciadores de senhas externos estejam disponíveis para lidar com o incômodo de criar e proteger senhas dos usuários.

Os usuários também devem ter a opção de temporariamente visualizar a senha mascarada completa ou visualizar temporariamente o último caractere digitado da senha. De acordo com as diretrizes do OWASP, a ideia é melhorar a usabilidade das credenciais, especialmente em torno do uso de senhas mais longas, frases de senha e gerenciadores de senhas.

Definir uma vida curta para senhas iniciais

Ao criar uma conta para um novo colaborador, a senha inicial gerada pelo sistema ou o código de ativação devem ser gerados aleatoriamente de forma segura, devem ter pelo menos seis caracteres e podem conter letras e números.

É importante garantir que essa senha expire após um curto período de tempo.

Notificar aos usuários sobre alterações de senhas

Quando os usuários alteram suas senhas, deve-se pedir que digitem a senha anterior e, idealmente, habilitem a autenticação em dois fatores, também conhecida como 2FA. Depois disso, eles devem receber uma notificação.

Cuidado com o processo de recuperação de senhas

O processo de recuperação não deve revelar a senha atual e o mesmo se aplica à informação se a conta realmente existe ou não. Em outras palavras, não forneça aos atacantes nenhuma informação desnecessária!

Usar CAPTCHA e outros controles não automatizados

Use controles não automatizados para mitigar ataques de força bruta, nos quais são testadas credenciais vazadas, e para o bloqueio de contas. Esses controles incluem o bloqueio das senhas mais comuns, limite de tentativas, uso de CAPTCHA, restrições de endereços IP ou restrições baseadas em riscos, como localização, primeiro login em um dispositivo, tentativas recentes de desbloqueio de uma conta ou similar.

De acordo com os padrões atuais da OWASP, deve haver no máximo 100 tentativas falhadas por hora em uma única conta.

Não confiar apenas em senhas

Independentemente de quão forte e única seja uma senha, ela ainda é uma única barreira que separa um atacante de seus dados valiosos. Ao visar contas seguras, uma camada adicional de autenticação deve ser considerada uma necessidade absoluta.

É por isso que você deve usar a autenticação de dois fatores (2FA) ou a autenticação multifator (MFA) sempre que possível.

No entanto, nem todas as opções de 2FA são iguais. Usar mensagens SMS para verificação em duas etapas é melhor do que não ter essa camada adicional de segurança ativada, mas também é um mecanismo suscetível a diversas ameaças. As alternativas mais seguras envolvem o uso de dispositivos de hardware dedicados e geradores de senhas únicas de uso único (OTP) baseados em software, como aplicativos seguros instalados em dispositivos mobile.