As palavras-passe, em conjunto com o nome de utilizador, continuam a ser os principais dados utilizados para o acesso a contas online. A má gestão delas é também uma das principais causas para a invasão das contas tanto de particulares como de empresas. Neste artigo, são listadas recomendações para a boa gestão de passwords, procurando garantir assim uma maior proteção das suas contas.
A evolução das passwords
Senhas simples e armazenadas sem segurança
Inicialmente, as passwords eram curtas e armazenadas em texto simples (sem qualquer tipo de criptografia) nos sistemas. Qualquer intruso que conseguisse acesso à base de dados onde estavam armazenadas, podia visualizar estas passwords, pois elas estavam guardadas de forma legível. Como normalmente as pessoas utilizavam o mesmo email e a mesma password para vários sistemas, estes intrusos podiam aceder a diversas contas das mesmas pessoas sem grande esforço.
Hashing e criptografia
Os sistemas passaram a converter as passwords em hashes, utilizando funções de hash criptográfica. Ou seja, deixou de se armazenar a password, guardando-se apenas a sua hash. Sempre que o utilizador fazia login, a sua password era convertida em hash usando o mesmo algoritmo, e essa hash era comparada com a que estava armazenada na base de dados. Isto garantia que, mesmo que um atacante obtivesse o ficheiro ou a base de dados, não conseguia recuperar facilmente as senhas originais, uma vez que as funções de hash são irreversíveis.
Mais tarde percebeu-se que, apesar de na altura em que se deixou de guardar passwords e se passou a guardar as suas hashes, isso ter sido um grande passo, não era suficiente para ter as credenciais dos utilizadores armazenadas de forma segura, devido a um ataque conhecido como rainbow tables, no qual os atacantes detinham tabelas com hashes e os seus equivalentes em texto pleno. Desta forma, nos dias de hoje é recomendado que se adicione um salt à password e se converta para hash a password + o seu salt, fazendo com que, mesmo que dois utilizadores tenham a mesma password, o resultado da password + hash resultará num valor diferente, tornando-se assim muito mais complexo de descobrir.
Complexidade aumentada
Como os utilizadores criavam passwords demasiado simples, era possível descobri-las recorrendo a ataques de brute force ou de dicionário, pelo que as empresas passaram a criar políticas que exigiam a troca frequente das mesmas (pelo menos a cada 90 dias), assim como o aumento da sua complexidade, isto é, que tivessem letras maiúsculas e minúsculas, números e carateres especiais. Começou também a ser introduzida a proibição de reutilizar as passwords anteriores.
Autenticação Multifator (MFA)
Devido ao aumento de ataques de phishing e keyloggers, começou a ser introduzido o Multifator de Autenticação (MFA). Assim, além do username e da password, passou a ser pedido um outro fator, como um código que era enviado por SMS para o telemóvel ou um token de hardware.
Os sistemas de senhas de uso único (One Time Passwords ou OTP) como o Google Authenticator (Android; iOS) e o Microsoft Authenticator (Android; iOS) começaram também a ser implementados.
Gestores de Passwords
Com o aumento do número de contas de cada indivíduo a aumentar, começaram a surgir sistemas de gestão de passwords. Estes sistemas permitiram armazenar as passwords de forma segura (pois era utilizada criptografia avançada) e organizada, assim como aceder às mesmas de forma simples.
Além disso, continham a funcionalidade de geração de passwords, permitindo a criação de passwords longas e complexas sem ser necessário memorizá-las. Encorajavam também a utilização de senhas únicas para cada sistema.
Eliminação de senhas e biometria
Atualmente, estamos a presenciar uma transição para a autenticação sem senhas, também conhecida como passwordless. Protocolos como o FIDO2, considerados altamente resistentes a phishing, permitem a autenticação sem a necessidade de passwords, utilizando passkeys e chaves de segurança físicas, como as Yubikeys, entre outras.
Esta abordagem torna o processo de autenticação não apenas mais seguro, mas também mais simples, ao recorrer a métodos como biometria – por exemplo, leitura de impressões digitais ou reconhecimento facial.
Mas no presente ainda se cometem os erros do passado
Infelizmente, ainda nos dias de hoje se encontram sistemas onde é possível verificar que as passwords são armazenadas em texto simples ou convertidas em hash sem o salt; indivíduos e empresas que ainda não estabelecem um tamanho mínimo seguro de carateres para as suas passwords; uma reduzida taxa de utilização do Multifator de Autenticação (seja sistemas que ainda não o têm disponível, seja utilizadores que, apesar de os sistemas já o terem disponível, ainda não o ativaram), etc.
Quanto tempo demora uma password a ser descoberta?
O gráfico a seguir mostra a força de algumas passwords, evidenciando que o tamanho, isto é, o número de carateres, é o que lhe dá mais força, tornando-a mais demorada de adivinhar a cada carater adicional.
Pode fazer testes a algumas passwords e perceber quanto tempo demorariam a ser descobertas aqui.
O que são palavras-passe seguras?
A resposta a esta questão foi mudando ao longo do tempo. Por exemplo, em 2003, quando o NIST Special Publication 800-63, Appendix A foi publicado, era defendido que as passwords deviam conter letras maiúsculas e minúsculas, um carater especial e, pelo menos, um número. Também recomendou que as passwords deviam ser alteradas frequentemente, pelo menos a cada 90 dias.
Isto acabou por fazer com que a generalidade dos utilizadores substituíssem alguns carateres por números, o que acabou por vir a ser altamente previsível, inclusive para os softwares que procuram adivinhar passwords e que, sabendo os seus programadores destas substituições, os programaram para também as fazerem. Isto podia resultar na password “P@ssW0rd123!” que, por exemplo, hoje em dia, demora apenas 6 minutos a ser descoberta!
A obrigatoriedade da alteração da password a cada x dias, também fez com que os utilizadores apenas acrescentassem ou substituíssem um carater, mantendo a restante password, o que não é um grande ganho de segurança.
O cartonista Randall Munroe publicou uma banda desenhada no xkcd que veio a ficar popular, ao evidenciar que a password “Tr0ub4dor&3″ (algo como Tr0v4d0r&3, ou seja, trovador com substituições e adições) podia ser adivinhada em apenas três dias, devido à utilização previsível de maiúsculas e minúsculas, substituições de carateres por números e utilização de carateres especiais, enquanto que a password “correct horse battery staple” (correto cavalo bateria agrafo, em português) levaria 550 anos, comentando ainda na parte de baixo que “Após 20 anos de esforço, treinámos corretamente todos para usar palavras-chave que são difíceis para os humanos lembrarem, mas fáceis para os computadores adivinharem.”
Provavelmente concordará que a passphrase “correto cavalo bateria agrafo” é mais fácil de decorar do que a password “Tr0v4d0r&3”, especialmente se formular uma imagem na sua imaginação.
O autor deste documento, Bill Burr, acabou por se mostrar arrependido por estas recomendações, que acabaram por ser mal interpretadas e fazer com que os utilizadores adotassem práticas preditíveis, ainda que as suas recomendações tivessem como objetivo tornar as passwords mais robustas.
O National Institute of Standards and Technology (NIST) publicou um novo documento, conhecido como NIST Special Publication 800-63-3, em 2017, que foi revisto em 2020. Este documento é amplamente adotado pela indústria como referência para a gestão de autenticação e segurança de identidades.
Utilize passwords longas
Um dos principais factores, senão o principal, que torna uma password segura, é o seu número de carateres. Quantos mais carateres tiver, mais difícil é de ser adivinhada.
As palavras-passe pequenas são facilmente adivinháveis num ataque conhecido como força bruta, no qual um software testa todas as combinações possíveis de carateres. É um processo demorado, mas que por vezes tem resultados rápidos, precisamente quando as palavras-passe são demasiado pequenas.
Nos dias de hoje, nenhuma das suas palavras-passe deve ter menos de 14 carateres.
Idealmente, deve criar passphrases em vez de passwords, ou seja, utilizar uma frase. Juntar palavras como “Gosto Blog YourInfoSec” pode dar uma excelente password.
Utilize palavras aleatórias
Evite que as senhas contenham palavras que tenham relação consigo ou com alguém próximo de si. Estas palavras são as primeiras a serem tentadas, principalmente com base naquilo que o atacante sabe sobre si (por exemplo, aquilo que partilha nas redes sociais).
Ou seja, criar passwords com dados que o possam levar a si, é meio caminho andado para serem descobertas. Por isso mesmo, é boa prática que as passwords não sejam, nem contenha o username da conta a que estão associadas, que não contenham o seu nome ou de familiares próximos, que não seja a sua data de nascimento, nem o seu número de telemóvel, etc.
O objetivo é escolher uma passphrase que contenha palavras que não tenham lógica, dificultando que algum sistema as adivinhe.
A substituição de carateres pelos seus correspondentes numéricos já não funciona
A determinada altura começou a substituir-se alguns carateres por números que lhes eram semelhantes, tais como o “E” pelo 3, o “T” pelo 7, etc. Mas tal como os donos das contas fazem esta substituição, os softwares que auxiliam os mal-feitores na descoberta de passwords também acabaram por ser programados para o fazer. Tendo isto em conta, este tipo de substituição não mais proviencia força às passwords.
Não repita passwords
Um dos principais erros que as pessoas cometem, é utilizar a mesma password para várias contas. Imagine que de alguma forma alguém descobre a password de uma das suas contas. Sabendo o seu username ou email, basta agora experimentar a mesma password numa série de outros serviços.
Ou seja, dando um exemplo concreto, suponha que utiliza no Instagram a mesma conta do Gmail, se porventura alguém descobrir a sua conta do Gmail, vai conseguir entrar também na sua conta do Instagram. Como se não bastasse que lhe lessem os emails, ainda lhe vão ler as conversas do Instagram e, quem sabe, publicar em seu nome.
Se utiliza sistemas empresariais, é muito importante tanto para si quanto para a empresa para a qual trabalha, que não utilize nas suas contas pessoas as mesmas passwords das suas contas empresariais e vice-versa. Isto por motivos semelhantes ao descrito acima, ou seja, se alguma das suas contas pessoais for comprometida, mais facilmente vão ser comprometidas as contas empresariais, com impactos muito penosos para a organização. Por outro lado, se as contas da empresa forem comprometidas, o ataque pode estender-se às suas contas pessoais, o que tenho a certeza que quer evitar!
Tudo isto se resolve de forma simples, cada conta deve ter uma password diferente de todas as outras.
Não reutilize passwords
Neste ponto, o que lhe pretendo dizer é para não utilizar passwords que já usou no passado. Com certeza que elas já têm algum rasto do seu lado ou do lado dos sistemas onde as utilizou. Dê largas à imaginação e crie passwords novas.
As organizações não devem obrigar à alteração de password. Isto não significa que não deva alterar as suas passwords
O NIST, assim como outras organizações, não recomendam a troca de password, com base em estudos que mostraram que essa prática muitas vezes levava os utilizadores a adotarem passwords previsíveis e fracas. Apenas é recomendada a troca de uma password se suspeitar que foi comprometida.
Por isso, encorajam as organizações a não obrigar à troca frequente de passwords, ao contrário da recomendação anterior que procurava forçar a troca a, no mínimo, cada 90 dias, e complementam esta recomendação com a de ter o Multifator de Autenticação ativo.
O utilizador deixa, assim, de ser obrigado a alterar a password, contudo, deve ter em conta que uma das forma de garantir que se uma determinada conta for comprometida, o acesso indevido por terceiros não é contínuo (mesmo quando não tem conhecimento desse acesso), é precisamente alterar periodicamente as suas passwords. Isto é especialmente importante nos serviços que ainda não têm MFA disponível (o que, infelizmente, ainda são muitos), mas também nos que têm, uma vez que sabemos que determinados métodos de MFA são falíveis.
Tome atenção onde regista as suas passwords
Nunca registe as suas passwords em meios em que fiquem em texto simples, sem criptografia. Ou seja, por exemplo, nunca as deve registar:
- Em papéis, como post-its;
- Nas notas do computador ou do telemóvel;
- Em folhas de cálculo;
- Nas capas dos dispositivos móveis;
- Etc.
Se o fizer, qualquer pessoa com acesso ao papel ou à sua sessão, fisica ou remotamente, vai conseguir ter leitura sobre a password. Este é, aliás, um dos erros mais comuns. É bastante prático, porque a password fica num post-it colado ao monitor ou num ficheiro do ambiente de trabalho do computador, pronta para ser copiada para a pagina de login… por si e por qualquer outra pessoa que lhe consiga aceder, pois está totalmente legível.
A forma ideal de combater isto e ter ainda mais simplicidade, é utilizar um gestor de passwords, conforme abordo mais abaixo neste artigo.
Não guarde as suas passwords nos browsers
Os browsers, ou navegadores, desde há algum tempo que dispõem da funcionalidade de armazenamento das credenciais, com vista a simplificar o trabalho do utilizador. Contudo, a sua utilização não é recomendada, pois muitos não utilizam funções de criptografia robustas, e alguém com acesso físico à máquina consegue extraí-las.
Não partilhe as suas passwords, mas se o fizer, faça-o de forma segura
Se partilhar com um amigo a senha da sua conta da Netflix para que ele possa ver uns filmes sem pagar, e utilizar a mesma password no Gmail, está a ver o que pode acontecer, não está? E não se trata apenas do seu amigo, que até pode ser uma pessoa honesta, mas tem garantias de que ele vai armazenar essa password de forma adequada?
Especialmente no mundo empresarial, é muito comum os utilizadores partilharem as suas passwords com os colegas quando vão de férias ou ficam de baixa, para que os colegas possam dar seguimento aos emails recebidos e a outros assuntos. Não o faça! E se for responsável por um departamento ou tiver a capacidade de impor políticas de segurança, proiba as pessoas de o fazerem. Em vez disso, devem solicitar ao departamento de Tecnologias de Informação que reencaminhem emails e chamadas da pessoa ausente para quem a vai substituir.
A verdade é que, por quantas mais pessoas partilhar a sua password, mais aumenta o risco da sua conta. Desconheço se guarda as suas passwords de forma adequada ou não, mas lembre-se que a pessoa com quem partilha as suas credenciais pode não ter os mesmos cuidados.
Lembre-se: a responsabilidade de proteger a sua conta não é apenas do fornecedor do serviço, ou do departamento de TI da sua empresa (se aplicável), é também sua.
De qualquer forma, por vezes temos mesmo a necessidade de partilhar uma password. Nestes casos, o email e as SMS são canais a evitar! Utilize gestores de passwords como o (links de afiliados) Proton Pass, 1Password, NordPass, etc., que disponibilizam a funcionalidade de partilha segura de passwords, ou então utilize aplicações de comunicação seguras como o Signal ou o Telegram.
Utilize um Gestor de Passwords
Os gestores de passwords permitem armazenar todas as suas passwords de forma segura (os dados são encriptados), simples e organizada, facilitando toda a gestão das suas credenciais. Acredite, quando utilizados de forma adequada, são um verdadeiro game changer.
Com um gestor de passwords, decora apenas uma password, a password-mestre. Sim, uma única: a que necessita para decifrar todas as outras. Esta password deve ser longa e complexa, mas deve ter o cuidado de criar uma que consiga decorar, pois se se esquecer dela, pode perder o acesso a todas as outras.
Assim, que diferença lhe faz criar as restantes passwords com… 30, 40 ou 60 carateres? Eu sei que isto parece assustador ou até ridiculo para algumas pessoas, mas… experimente. Não lhe vai fazer qualquer diferença, pois as passwords vão ser automaticamente preenchidas pelo seu gestor de passwords, ou apenas vai precisar de as copiar. Não vai ter de as decorar nem de as digitar. E terá a confiança de ter uma password segura! Claro que… isto se o serviço permitir passwords tão longas. Infelizmente ainda encontramos muitos serviços que não permitem passwords com mais que 8 ou 10 carateres, o que é incompreensível.
Pode organizar as suas password em cofres. Por exemplo, pode ter um cofre onde guarda as credenciais das suas contas pessoais, outro para as credenciais do cônjuge, outro para os filhos, outro de trabalho, etc.
Pode utilizar extensões nos browsers que preenchem automaticamente as credenciais nos websites que visita. Os gestores mais conhecidos disponibilizam extensões para os browser mais utilizados.
Têm aplicação para o telemóvel que faz o mesmo nas aplicações que lá instalar, seja Android ou iOS.
Podem ser locais ou cloud. Se ainda não confia na nuvem o suficiente para colocar lá este tipo de dados sensíveis, pode utilizar gestores de passwords como o Keepass cuja base de dados fica apenas no dispositivo onde está instalado. No entanto, se quiser aceder aos dados noutro dispositivo, terá de copiar a base de dados para esse dispositivo. Isto pode não ser muito prático na medida em que sempre que adicionar ou alterar uma password, terá de atualizar nos dois dispositivos ou voltar a copiar a base de dados de um dispositivo para o outro. Há quem as tenha em serviços de ficheiros na Internet e consiga efetuar a sincronização entre dispositivos dessa forma, contudo acaba por não ser uma solução tão simples como utilizar diretamente um serviço cloud, como o (links de afiliados) Proton Pass, 1Password, NordPass, entre outros.
Ative o Multifator de autenticação (MFA)
Por mais segura que uma palavra-passe seja, deve ter sempre em mente que ela pode ser descoberta. Por exemplo, se o seu dispositivo tiver um keylogger, todas as teclas que pressionar são registadas e enviadas para o atacante. Neste caso, por mais complexa que a passsword seja, ao ser transmitida para o malfeitor, de nada lhe vai valer a complexidade.
Para ajudar a resolver este e outros problema, o Multifator de autenticação (MFA) acrescenta uma camada de segurança às suas contas, ao pedir-lhe um outro fator, sempre que faz login na sua conta. Esse fator pode ser, por exemplo, uma One-Time Password (OTP) que é gerada no seu telemóvel, numa aplicação Authenticator, e que tem de colocar no site em que está a fazer login para conseguir entrar. Neste caso, para além da palavra-passe, seria necessário ter o seu dispositivo para conseguir entrar na conta.
Saiba mais pormenores sobre o MFA aqui.
Go passwordless
Como é sabido, as passwords são vulneráveis e continuam a ser um problema na proteção da contas online. Contudo, existem protocolos que procuram colmatar as fraquezas das passwords, tornando o acesso mais seguro e mais simples. Clique aqui para saber mais pormenores.
Outros cuidados
Além das boas práticas indicadas acima, que estão mais diretamente ligadas com as passwords em si, há uma série de outras preocupações que deve ter em conta.
Utilizar uma ligação segura à Internet
É sabido que até a ligação da nossa casa não é totalmente privada, na medida em que o ISP (fornecedor de serviços de Internet) consegue saber por onde andamos a navegar e inclusive ver o tráfego que não esteja encriptado.
Pior do que isto, é a utilização de redes Wi-Fi públicas, como cafés, aeroportos ou hóteis.
Considere a utilização de uma VPN, que encripte todo o seu tráfego desde o seu dispositivo até ao servidor de VPN onde estiver ligado. Desta forma, todos os sistemas que estiverem pelo meio apenas vão ver tráfego encriptado, não conseguindo decifrar o que por lá passa. Contudo, deve ter alguns cuidados na escolha do serviço de VPN. Nomeadamente, este deve ser auditado, garantindo que não tem logs da sua navegação, pois tal como o ISP vê o seu tráfego se não utilizar uma VPN, também o fornecedor da VPN o vai conseguir ver.
Serviços como o (links de afiliados) Proton VPN, NordVPN, Bitdefender VPN, entre outros, são serviços reconhecidos como sendo de confiança.
Apenas visite sites HTTPS
Quando acede a um site cujo endereço começa por HTTP://, significa que o tráfego entre o seu dispositivo e o servidor do site não é encriptado. Quando isto acontece, se o tráfego entre o seu dispositivo e o servidor for intercetado, os dados, nomeadamente a password, são legíveis a terceiros.
Verifique sempre se o endereço ao qual está a aceder inicia por HTTPS:// ou se tem um cadeado fechado (por vezes de cor verde) ao lado da barra de endereços, tal como quando visita o YourInfoSec.
HTTP significa Hyper Text Transfer Protocol e HTTPS significa Hyper Text Transfer Protocol Secure. O Transport Layer Security (TLS), que veio substituir o Secure Sockets Layer (SSL) e corrigir várias das suas vulnerabilidades, é o protocolo responsável por encriptar a comunicação em HTTPS.
Verifique o endereço do site que está a visitar
O site a que está a aceder é mesmo o que pretende, ou é uma cópia exata? Atente ao endereço, na barra de endereços do seu browser. São bem conhecidos os casos em que as semelhanças são tantas, que o utilizador colocou num site falso as suas credenciais, pensando que as estava a colocar no verdadeiro. Acredite, há cópias exatas cujas diferenças escapam até aos olhos mais treinados.
Para não ser enganado, verifique sempre o endereço.
Notificações quando faz login
Privilegie serviços que enviam notificações sempre que faz login. Desta forma, caso receba uma destas notificações e não esteja a fazer login, já sabe que algo de errado se passa e deve agir rapidamente, minimizando o problema.
No caso de o sistema em causa não enviar estas notificações, verifique se informa o último login, ou se tem um log de logins visível. Se tiver, de vez em quando dê uma vista de olhos a ver se está tudo bem ou se há algo de errado. Se desconfiar que algum login não é seu, faça reset à password.
Bloqueio da conta por tentativas erradas e CAPTCHA
Privilegie também serviços que bloqueiam a conta (temporária ou definitivamente) após um determinado número de tentativas de acesso com credenciais erradas. Desta forma, ataques de força bruta e de dicionário ficam sem efeito, pois se estes processos já são demorados (quando as passwords são seguras), com estes bloqueios, tornam-se impraticáveis.
Os sites devem também utilizar sistemas CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart. Em português: Teste Turing Público e Completamente Automatizado para Diferenciar Computadores de Humanos) para filtrarem utilizadores humanos de bots.
Armazenamento seguro da password
Privilegie os serviços que não armazenam as suas palavras-passe. Sim, isso mesmo, eu repito, privilegie serviços que não armazenam as suas palavras-passe. Os serviços nunca devem armazenar as palavras-passe dos seus utilizadores, mas sim os seus hashes.
Mas isto não chega, pois ainda assim estariam sujeitas a ataques de rainbow table. À password deve ser adicionado um salt, e só depois efetuar o hash da password + salt.
Como testar se a palavra-passe é segura?
Os próprios gestores de palavras-passe contêm, normalmente, a funcionalidade de lhe indicar se cada uma das suas palavras-passe é segura, alertando-o até das que não o são. Alguns até têm estatísticas para que possa perceber num vislumbre o estado das suas credenciais.
Além destes, existem alguns serviços online que também o fazem, como este.
Conclusão
Os ataques para descobrir credenciais têm evoluído ao longo do tempo, assim como o poder computacional, reduzindo em muito o tempo de espera para quem faz este tipo de atividade. Para colmatar isto, é essencial atentar para alguns cuidados básicos que descrevemos neste artigo. Esses cuidados podem ser aplicados diretamente pelo leitor, mas outros devem ser aplicados pelos serviços que utiliza. É, por isso, importante que faça uma boa gestão das suas passwords, mas que esteja também atento à qualidade dos serviços onde coloca a sua informação.