Todos nós temos uma identidade digital. Por exemplo para entrarem neste curso é preciso fornecerem um nome de utilizador e uma palavra-passe. Esta combinação permite identificar o utilizador e conceder o acesso à plataforma de acordo com o seu perfil. Outros exemplos de identidade digital são o nome de utilizador/palavra-passe no correio eletrónico, na conta do facebook, no instagram, na conta do banco, entre outros.
Assim, a identidade digital é composta por um conjunto de dados que identificam cada um de nós, permitindo o reconhecimento no mundo digital. Nesta aceção também o cartão do cidadão ou um cartão bancário é uma identificação digital já que associa um elemento físico e pessoal a um código secreto apenas do conhecimento do seu detentor.
Deste modo, devemos ter especial cuidado em proteger esta identidade digital com uma palavra-passe forte dado que esta é a chave para aceder a dados e a informação protegida. O Curso de Cidadão Ciberseguro começa por aí dada a importância desta questão. Uma palavra-passe forte é a primeira linha de defesa contra o acesso não autorizado aos dados pessoais ou profissionais.
São conhecidos os ataques a serviços online como os de mail e outros em que os atacantes exploram várias combinações para obter acesso a contas e outros serviços.
Assim surgem os casos de “vazamento de informação”, com os termos “data breaches” e “leacks“. Os atacantes (hackers) começam por tentar todas as palavras de forma automática recorrendo a dicionários. Dicionários são bases de dados de palavras-passe mais comuns que até podem constar em dicionários normais juntamente com outras palavras resultantes de fugas de informação anteriores. Depois seguem-se os ataques de força bruta que é testar várias combinações possíveis até obter acesso. Isto só é possível com alto poder computacional e com tempo.
Em https://haveibeenpwned.com/Passwords poderão verificar se determinadas passwords já foram objeto de exposição e assim mudar urgentemente. Se preferirem testem passwords que vos ocorram, para não ter de introduzir passwords pessoais. Para não ter de introduzir passwords pessoais o site permite fazer download da base de dados das passwords expostas (entre 11 e 18 Gb). Existem mais de 500 milhões de passwords que já foram anteriormente expostas em violações de dados e agora estão em dicionários que qualquer um pode baixar nesse site. Por exemplo se introduzirem a password benfica o site responde “Esta senha foi vista 46 949 vezes antes (em violações anteriores). Esta senha apareceu anteriormente numa violação de dados e nunca deve ser usada. Se você já a usou antes, altere-a!”
Em https://haveibeenpwned.com/ também poderão verificar se o vosso endereço de email já foi aberto e exposto e caso afirmativo não entrem em pânico, basta mudar de password para uma bem forte, como ensino abaixo e depois testá-la em https://haveibeenpwned.com/Passwords só para assegurar que essa password não foi objeto de violações anteriores. O site também permite a subscrição gratuita para notificar se a conta for violada no futuro.
Por isso deverão criar uma senha forte que misture maiúsculas com minúsculas e caracteres por exemplo VRr0=)4P (ainda que esta senha seja difícil de memorizar e por isso ser preferível o uso de frases como explico abaixo).
No site https://www.grc.com/haystack.htm podem verificar em quanto tempo a uma senha pode ser descoberta pelo método de força bruta.
Assim:
1. A senha 12345678 demora 1,29 dias a ser descoberta;
2. A senha VRr0=)4P, com os mesmos 8 carateres demora 2,13 mil séculos a ser descoberta!!!
É claro que existem outros métodos para se descobrir senhas, e que o método de força bruta é o mais lento de todos. Porém, é muito bom que saibam que a senha: “123456”, por exemplo, levaria menos de 19 minutos para ser descoberta em ataques pela internet (o mais lento de todos), e que levaria apenas 0.000011 segundos – isso mesmo, 11 milionésimos de segundo – em ataques diretos. Lembrando novamente, que isso é usando o método de força bruta, o mais lento de todos para se descobrir uma senha.
A força de uma senha depende de alguns fatores:
Primeiro, a quantidade de caracteres usados na senha. Quanto maior a sua senha, melhor! (por isso hoje está muito em voga o conceito de passphrases como explico abaixo)
Segundo: Usar todos os tipos de caracteres possíveis. Misturar na sua senha letras maiúsculas e minúsculas, números e outros caracteres, como: $!(*@&)^[/}.
Terceiro: Não usar dados pessoais, como data de nascimento, número do telefone, data de aniversário de casamento, etc…
Quarto: não usar palavras que existam no dicionário.
E aqui muito naturalmente perguntam:
“Como eu irei fazer para criar uma senha com isso tudo e que eu ainda consiga lembrar?”
O ideal é pensar numa frase que vos seja familiar e depois fazer algumas alterações.
Por exemplo:
“eutenho3fillhos” ou “minhacasatemumlimoeiro” ou “minhasenha”.
Peguemos neste último exemplo de frase curta e fácil de lembrar “minhasenha”. Esta senha já tem 10 caracteres, e assim como está, se esta senha for testada no site, veremos que mesmo assim, demoraria apenas 24.47 minutos para ser encontrada num ataque rápido. Não é bom.
Segundo, para dificultar, colocamos as primeiras letras das duas palavras em maiúsculas. Para terminar, iremos trocar o caractere “i” de “minha” pelo número 1. A senha agora ficou: “M1nhaSenha”. Se for testada no site, são necessários 3,25 meses para se testar todas as alternativas. Embora tenha melhorado bastante, 3,25 meses ainda é um tempo relativamente curto.
Terceiro, para dificultar ainda mais, faremos o seguinte: Vamos aumentar a nossa frase inicial para “minha senha é senha”. Vamos continuar mantendo os primeiros caracteres das palavras em maiúsculas, continuamos alterando o i de “minha” por 1, e agora também, iremos alterar o “é” pelo caractere “&” e alterar o último “a” da frase por “@”. A senha fica: “M1nhaSenha&Senh@”. Neste caso, se forem tentar quebrar esta senha por força bruta, seriam necessários 1,41 centenas de milhões de séculos! E isto, no pior dos casos, que seria um ataque maciço, que conseguisse testar 100 milhões de milhão de combinações por segundo!
Fácil de lembrar, não é? Basta lembrar a frase “minha senha é senha”, tirar os espaços, colocar as primeiras letras das palavras em letras maiúsculas, fazer a alteração do “i” pelo “1′, do “é” pelo “&”, e do último “a” pelo “@”.
Pronto, está criada uma senha segura, fácil de lembrar e que não será preciso escrever num papel.
Também podemos concluir que, além das considerações feitas acima, o comprimento da palavra-passe está directamente relacionado com a sua força como o podemos testar no site. Não esquecer: “Quanto maior a sua senha, melhor!”
Finalmente fui testar a password M1nhaSenha&Senh@ no site https://haveibeenpwned.com/Passwords
A resposta do site foi:
“Boas notícias – nenhum pwnage (vazamento) encontrado!”
Passphrases
Para criar uma palavra-passe forte, fácil de memorizar e quase impossível de ser hackeada, recomendo a utilização de uma técnica conhecida como “frase-passe” (passphrase).
Em vez de uma única palavra, uma frase-passe é uma sequência de palavras que formam uma frase que pode ser significativa para o utilizador, mas quase impossível ser adivinhada por outros. Acaba por resultar numa password mais longa e o comprimento de uma password é determinante nos ataques por força bruta. Além disso, ao ser uma frase que conta uma história ou evoca uma imagem mental, é mais fácil de ser lembrada do que uma sequência aleatória de letras, números e símbolos. Adicionalmente, recomendo o uso de gestores de palavras-passe opensource, como o KeePass Professional que vamos usar em laboratório na pen mais à frente. Estas ferramentas podem gerar e armazenar palavras-passe seguras para cada conta, eliminando a necessidade de memorizar cada uma delas. Ao utilizar um gestor de palavras-passe, o utilizador só precisa memorizar uma única frase-passe forte – a que dá acesso ao gestor de palavras-passe encriptadas.
Exemplo
A passphrase #elesnaosabemnemsonhamqueosonhocomandaavida# não obedece às regras de criação de passwords de que vos falei acima (não tem maiúsculas nem números). No entanto tem 44 caracteres (42 minúsculas e 2 símbolos). O comprimento conta muito na força da password (neste caso passphrase que acaba por servir para o mesmo).
Se a testarem no site https://www.grc.com/haystack.htm, no Cenário Massive Cracking Array (Assumindo cem trilhões de palpites por segundo), esta passphrase demora a ser descoberta 2,67 milhões de trilhões de trilhões de trilhões de trilhões de trilhões de séculos (mais que a duração do sistema solar)!
Conclusão: uma passphrase é um conjunto de palavras que se usa como password e no mesmo local das passwords.
O que deve ter uma boa passphrase:
1. Deve ser conhecida apenas por si
2. Deve ser longa o suficiente para ser segura
3. Deve ser difícil de adivinhar
4. Deve ser fácil de digitar
Como escolher uma passphrase?
1. Escolha uma série de palavras: podem ser de um dos seus livros favoritos, ou uma citação que goste por exemplo: #suemaisnotreinosangremenosnabatalha#.
2. Opcionalmente use mesmo um livro favorito e escolha palavras aleatórias desse livro em páginas. Escolha um carácter especial de separação de palavras, ou para começar e acabar a passphrase (.,$#+ : , etc).
3. Se vai usar a passphrase para fins mais seguros, como a encriptação de discos, como iremos ver no módulo 3, ou para Bitcoins escolha passphrases, no mínimo, de sete a nove palavras.
4. Se quiser ser ainda mais seguro escolha palavras de forma aleatória sem recurso a nenhum livro e não assinale as palavras no livro mas limite-se a memorizá-las. Se está a encriptar um disco: não arrisque e guarde a passphrase num local seguro (idealmente um cofre). Se a perder: perderá os seus ficheiros para sempre…
5. Pode também usar o site https://www.generatormix.com/random-portuguese-words-generator para gerar palavras para as suas passphrases, mas o método do livro é mais divertido e se não marcar as palavras será mais seguro (porque embora este site seja https há a possibilidade – ainda que remota – de captura do seu écran).
Tarefa deste tema
Peço-vos que criem passwords (ou passphrases) usando as técnicas acima.