Como as palavras-passe são quebradas?

Raramente se entra numa conta da forma que os filmes mostram. Na prática, uma palavra-passe é obtida de uma de três formas. É quebrada: descoberta experimentando um candidato atrás do outro, normalmente contra uma base de dados de hashes de palavras-passe roubada a um serviço. É roubada: escrita numa página falsa ou copiada por malware. Ou é reutilizada: os atacantes pegam numa palavra-passe de uma fuga anterior e experimentam-na noutros serviços, contando que o dono também a tenha usado lá. A diferença importa, porque cada uma se combate com algo diferente. Este artigo percorre os principais métodos e indica o que ajuda contra cada um.

Palavras-passe reutilizadas de fugas de dados

Todos os anos há serviços invadidos, e as suas bases de dados de utilizadores acabam à venda ou partilhadas livremente. Os atacantes pegam nos pares de endereço de e-mail e palavra-passe de uma fuga e experimentam-nos automaticamente em bancos, serviços de e-mail, lojas e redes sociais — um ataque chamado credential stuffing. Não envolve qualquer adivinhação e funciona por uma razão simples: as pessoas reutilizam palavras-passe. Mesmo uma palavra-passe forte não ajuda aqui se for a mesma em todo o lado.

O que ajuda: uma palavra-passe diferente para cada conta, para que uma fuga num serviço não abra mais nada.

Phishing

Uma página de phishing é uma cópia de uma página de início de sessão verdadeira, num endereço ligeiramente diferente, a que se chega por uma ligação num e-mail ou numa mensagem com tom urgente: uma conta bloqueada, uma encomenda, uma fatura. O que escrever lá vai diretamente para o atacante. O comprimento e a aleatoriedade da palavra-passe não fazem diferença, porque é o próprio utilizador que a introduz.

O que ajuda: abra os sites a partir dos seus próprios marcadores e não a partir de ligações. Use um gestor de palavras-passe: só se oferece para preencher uma palavra-passe no endereço para o qual foi guardada, por isso, se não oferecer a palavra-passe guardada, verifique o endereço antes de a escrever à mão. E ative a autenticação de dois fatores, que torna uma palavra-passe roubada insuficiente por si só. Os códigos de utilização única podem, no entanto, ser roubados por phishing da mesma forma que a palavra-passe. As passkeys e as chaves de segurança FIDO2 não podem ser roubadas desta forma, porque só respondem ao site verdadeiro — a distinção a que o NIST chama resistência ao phishing.

Malware

Os programas conhecidos como infostealers copiam as palavras-passe guardadas no navegador, juntamente com os cookies de sessão, e enviam-nos poucos segundos depois de serem executados, enquanto os keyloggers registam o que é escrito. Um cookie de sessão roubado pode permitir a um atacante entrar numa conta que já tem sessão iniciada, sem a palavra-passe e sem o segundo fator. Estes programas chegam normalmente em software pirata, atualizações falsas e anexos de e-mail.

O que ajuda: instalar software apenas a partir da fonte oficial, manter o sistema e o navegador atualizados e tratar um anexo inesperado como hostil — nenhuma destas medidas é uma garantia. Se um dispositivo tiver sido infetado, atue a partir de outro que saiba estar limpo: mude as palavras-passe, use a opção de cada serviço para terminar todas as sessões e confirme que o e-mail de recuperação, o número de telefone e as definições da autenticação de dois fatores continuam a ser seus. Limpe o dispositivo infetado antes de voltar a iniciar sessão nele.

Adivinhar no formulário de início de sessão

Experimentar palavras-passe diretamente num site é lento: um serviço bem construído atrasa, bloqueia ou pede um captcha após algumas tentativas erradas. Isso torna ineficaz insistir numa única conta, por isso uma abordagem comum é a oposta: um punhado das palavras-passe mais comuns — 123456, password, qwerty123 — experimentado contra milhões de contas, o que se chama password spraying. A adivinhação dirigida funciona da mesma forma com dados pessoais: os nomes dos filhos e dos animais de estimação, datas de aniversário, um clube preferido, tudo fácil de encontrar nas redes sociais.

O que ajuda: qualquer palavra-passe que não seja comum nem construída a partir de factos sobre si — veja como criar uma palavra-passe forte.

Quebra offline de hashes roubados

Um serviço bem construído não guarda as palavras-passe em forma legível. Guarda hashes — o resultado de uma função unidirecional a partir do qual a palavra-passe não pode ser calculada de volta. Quando uma base de dados destas vaza, os atacantes testam palavras-passe possíveis: calculam os hashes dos candidatos no seu próprio hardware e comparam os resultados. Nenhum formulário de início de sessão os abranda, e a velocidade depende da função de hash que o serviço escolheu e das suas definições. Com funções rápidas e desatualizadas como o MD5, uma única placa gráfica moderna testa dezenas de milhares de milhões de candidatos por segundo. As funções concebidas para guardar palavras-passe — o Argon2id, ou o bcrypt em sistemas mais antigos — são deliberadamente lentas e reduzem essa velocidade em muitas ordens de grandeza, e é por isso que as recomendações atuais as indicam.

Ataques de dicionário

Os candidatos não são aleatórios. As ferramentas de quebra começam por listas de palavras-passe reais de fugas anteriores e por dicionários de palavras e nomes, e depois aplicam regras que imitam os hábitos humanos: uma maiúscula inicial, um ano ou um ponto de exclamação no fim, uma letra trocada por um símbolo parecido. Uma palavra-passe como Summer2024! parece complexa e está entre os primeiros candidatos experimentados. O salting — acrescentar um valor aleatório único a cada palavra-passe antes de calcular o hash — impede os atacantes de usar tabelas pré-calculadas, conhecidas como rainbow tables, e de quebrar de uma só vez todas as palavras-passe iguais, mas não torna uma palavra-passe previsível nem um pouco menos previsível.

Força bruta

Quando os dicionários se esgotam, resta experimentar todas as combinações, e numa palavra-passe gerada aleatoriamente é o comprimento que decide o resultado. A título de exemplo, considere um hash rápido e uma palavra-passe em que cada caráter é escolhido de forma independente e com igual probabilidade entre os 94 carateres ASCII imprimíveis, sem contar o espaço. Há cerca de 6 × 1015 palavras-passe destas com 8 carateres; a dez mil milhões de tentativas por segundo, experimentá-las todas demora cerca de uma semana, e em média a certa aparece em metade desse tempo. Com 12 carateres, experimentá-las todas no mesmo hardware levaria cerca de 1,5 milhões de anos, e com 16 o número está para lá de qualquer comparação com sentido. É esse todo o argumento a favor das palavras-passe longas e aleatórias: os dicionários servem de pouco contra elas e, nestas condições, experimentar todas as combinações não é viável. O nosso gerador de palavras-passe fortes cria-as no seu navegador e mostra uma estimativa de entropia em bits para cada uma.

O que ajuda: uma palavra-passe longa sem nenhum padrão humano, o que na prática significa uma palavra-passe gerada. Não pode controlar a forma como um serviço guarda a sua palavra-passe, por isso parta do pior cenário e escolha uma que resista à adivinhação mesmo quando é guardada com uma função de hash rápida.

Espreitar por cima do ombro e engenharia social

Os métodos mais antigos não precisam de tecnologia. Uma palavra-passe é lida por cima do ombro, num papel colado num monitor ou num ecrã partilhado numa videochamada; ou o atacante simplesmente pede-a, fazendo-se passar por apoio técnico ou por um colega — aquilo a que se chama engenharia social. Nenhum serviço legítimo lhe pedirá alguma vez a palavra-passe por telefone, e-mail ou chat.

O que ajuda: nunca dizer nem enviar uma palavra-passe a ninguém, e não a guardar onde outros a possam ver.

Em resumo

Ataques diferentes combatem-se com hábitos diferentes, e três deles fazem a maior parte do trabalho: uma palavra-passe exclusiva para cada conta, gerada em vez de inventada, com autenticação de dois fatores por cima — ou uma passkey em vez da palavra-passe, quando o serviço a disponibilizar. Não cobrem tudo — uma sessão roubada, por exemplo —, e é por isso que os conselhos sobre malware acima também importam. Há mais artigos nos guias de palavras-passe.