35 Views
Tempo de leitura: 8 MinutosJá notou o tanto de evolução que tivemos nos últimos 20 anos? Pois é, a segurança também mudou. Há 20 anos criávamos senhas para evitar que outras pessoas as descobrissem, e para isso contávamos com algumas técnicas bem básicas de segurança, conciliando uma segurança mínima com alguma coisa bem pessoal para facilitar a memorização.
Acontece que o tempo passou e de lá para cá sugiram bots e a IA utilizada na quebra de senhas. As técnicas que nos protegiam de outras pessoas não funcionam contra eles.
Veremos a seguir o que hoje classificamos como boas e más práticas para senhas e o que as caracterizam como fracas ou fortes.
Embora este artigo esteja acessível para pessoas com qualquer nível de conhecimento técnico, não espero que usuários finais entendam a dimensão do problema que uma credencial faca possa causar. Acredito, portanto, que este material seja mais direcionado à profissionais de TI e a pessoas em formação acadêmica.
Desde tenhamos em mente que existe diferença entre uma senha forte e uma senha segura:
- Senha Forte: possui alta entropia;
- Senha Segura: senha forte que segue boas práticas de segurança.
A entropia de senhas é um termo que remete a imprevisibilidade. Ou seja, quanto mais imprevisível, maior é a entropia. Portanto, senhas fortes possuem alta entropia sendo elas altamente imprevisíveis e difíceis de advinhar.
Características de Senhas Fracas
O maior erro das pessoas ao definir senhas é utilizar subtefúrgios que lhes permitam memorizar. Eis algumas características de senhas fracas que devemos evitar:
- Utilizar nomes;
- Utilizar sequenciamento de caracteres;
- Utilizar datas;
- Utilizar palavras existentes no dicionário;
- Utilizar apenas texto;
- Utilizar apenas números;
- Ausência de caracteres especiais;
- Cumprimento inferior a 12 caracteres.
Uma boa senha precisa de aleatoriedade. Por exemplo: gkQn3XGSagLH'46&,';cg
.
Podemos mensurar a força de uma senha pela nossa capacidade de memorizá-la; se for fácil, a senha é fraca.
Leetspeak e as senhas engraçadas
O Leetspeak ou apenas leet ou l33t é uma técnica de substituição previsível. Por exemplo, o “A” vira um “4”, “B” vira “8”, o “O” vira “0”, o “I” vira “1” e por ai vai. Na verdade isso nunca foi seguro. V0c3 c0ns3gu3 l3r 1st0 4qu1 d3 b04? Então, se uma pessoa consegue entender, imagina a Inteligência Artificial que é utilizada para quebrar de senhas?!
Vejamos o que o ChatGPT nos diz:
O leet quando usado em palavras do dicionário não vai gerar nenhuma segurança. Pelo contrário, além deixar a senha esquisita e fraca, ele vai burlar a política de senhas das empresas, o que é grave.
Senhas fracas, mas de alta entropia
As empresas criam suas políticas de segurança de senha e esperam que seus usuários as sigam. Essas políticas normalmente exigem letras maiúsculas e minúsculas, números, caracteres especiais e um determinado cumprimento mínimo.
Para garantir a adoção da política e para facilitar a vida dos usuários, os formulários de cadastro de senhas normalmente possuem um “medidor de força“. Aquilo, na verdade, não é bem um medidor de força. Ele serve apenas para nos dar uma ideia se a senha que estamos cadastrando possui alguma segurança e se está de acordo com a política.
Basicamente, esses formulários realizam um cálculo baseando-se na quantidade de caracteres da senha e no uso de caracteres especiais.
Podemos simular o funcionamento desses medidores fazendo um cálculo logaritmo bem simples. Vejamos um exemplo:
Primeiro, precisamos definir quantos caracteres estão disponíveis para a definição da senha.
- De “a” a “z” (minúsculo) temos 26 caracteres.
- De “A” a “Z” (maiúsculo) temos 26 caracteres.
- De “0” a “9” temos 10 caracteres.
Isso nos dá 62 caracteres possíveis. Vamos adicionar mais segurança:
- Em “!@#$%ˆ&*(){[]};:/\<>” (sem contar as aspas) temos 18 caracteres.
Agora temos 80 caracteres possíveis para escolhermos a nossa senha.
Sabemos que precisamos escolher uma senha com letras maiúsculas + letras minúsculas + números + caracteres especiais e com um bom cumprimento. Vamos utilizar a senha EstaAquiEhMinhaSenha@123
que atende bem esses requisitos. Ela não é segura, mas possui 24 caracteres.
O cálculo fica assim:
Ou seja, primeiro descobrimos a quantidade de combinações possíveis que uma senha de 24 caracteres pode possuir. Considerando os 80 caracteres possíveis, temos a seguinte quantidade de combinações: 4.722.366.482.869.645.213.696.000.000.000.000.000.000.000.000.
Em seguida, realizamos o cálculo logaritmo com base 2 (binária) para saber quantos bits de entropia essa quantidade de combinações possui. O resultado é 151.72 bits. Nada mal. Portanto, EstaAquiEhMinhaSenha@123
vai passar na validação da maioria dos formulários de senha, pois grande parte deles trabalha com uma margem de aceitação de 80 bits de entropia ou mais. Quanto maior for o requisito, mais dificuldade os usuários terão no cadastro de senhas.
Ou seja, mesmo que tenhamos políticas rígidas de cadastro de senhas, ainda é possível criar senhas fracas através das (más) práticas mencionadas em Características de Senhas Fracas.
Por isso um trabalho de conscientização é tão importante nas empresas, pois no final das contas, o funcionário é o elo mais fraco da segurança corporativa.
Reutilização de senhas
Uma última má prática precisa de uma mensão honrosa: a reutilização de senhas. Mesmo que a senha seja forte, a reutilização é um problema grave, pois constantemente ocorrem vazamentos de credenciais em apps ou em fornecedores que acabam externalizando credenciais de usuários. Uma vez que a senha seja vazada, todos os sistemas onde ela foi cadastrada estarão comprometidos. Nesse tipo de caso a ação de redefinição de senha é bem complicada. Isso se o dono da senha souber que ela foi vazada, o que muitas vezes não ocorre.
Outra coisa que ocorre bastante: a pessoa utiliza um padrão previsível em todos os sites. Por exemplo; minhasenha#1
. Quando é preciso trocar a senha, a pessoa utiliza minhasenha#2
, e assim por diante.
O ideal é nunca reutilizar senhas cadastrando senha específicas para cada sistema.
Senhas fortes e seguras
Senhas fortes são compostas por uma grande quantidade de caracteres totalmente aletórios que não foram palavras nem sequenciamentos alfanuméricos. Agora, para que a senha seja forte e segura, é preciso adotar algumas boas práticas como o uso de senhas únicas em cada sistema, nunca reutilizá-las ou definí-las em mais de um sistema e, por fim, utilizar um cofre de senhas.
Ou seja, você não precisa memorizar todas as senhas; basta memorizar a senha do cofre. Existem diversos cofres de senhas excelentes e gratuitos. O próprio cofre de senhas pode ajudar na criação de novas senhas. Eles geralmente utilizam alta entropia.
Password vs Passphrase.
O passphrase é uma frase que pode ser utilizada no lugar da senha. É bem mais segura e mais fácil de memorizar do que as senhas.
Quebrar uma passpharse é um trabalho árduo, pois a quantidade combinações possíveis implica um tempo muito maior para uma eventual descoberta.
Infelizmente nem todos os sistemas aceitam passphrase.
Criando senhas fortes e memorizáveis.
Vamos criar passwords e passphrase seguindo as boas práticas de segurança. Indepenente de qual delas usarmos, a aleatoriedade é o segredo.
Primeiro, pense em uma frase totalmente aleatória como “pássaro quânticos alado roedor televisores“. É difícil de conceber uma coisa tão aleatória como essa. Isso é a imprevisibilidade.
Se o sistema suportar passphase, essa é uma boa passphase. Agora, se não suportar, precisaremos criar uma palavra inexistente e somar à alguns números e caracteres especiais. Repare nas letras destacadas em negrito. Com caracteres especiais, maiúsculas e números, posso criar a senha Saroticos#578Alaedor$243Sores.
Processar palavras incomuns exige mais esforço cognitivo, e esse processamento mais intenso nos ajuda a fixar a informação na memória. Por isso, com pouco esforço, tendemos a decorar palavras inexistentes.
Cofre de Senhas
Os cofres de senhas sempre foram grandes aliados no contexto da segurança, protegendo nossas credenciais daqueles que querem obtê-las. Hoje com a hiperconectividade das pessoas, são indispensáveis.
Podemos gerar senhas realmente fortes, com mais de 100 caracteres, todas com altíssima entropia sendo totalmente aleatórias e imprevisíveis, e para isso tudo que precisamos é lembrar de uma única senha que é justamente a senha que nos dá acesso ao cofre.
Os cofres de senhas nos permite configurar MFA para gerar token de acesso aos sistemas. Ou seja, guardaríamos no cofre o usuário, a senha e o token. Eu não recomendo. Sugiro deixar o token fora do cofre.
MFA
Este artigo é específico sobre senhas, mas vale aqui outra mensão honrosa: MFA. Além de senhas fortes e seguras, precisamos sempre lembrar de habilitar MFA em todos os lugares. O MFA cria uma segunda etapa de autenticação, o que aumenta e muito a segurança das suas credenciais.
Muitas vezes, o MFA salva até quem usa senhas fracas. Então o utilize sempre.
Resumo
A imprevisibilidade é a palavra quando o assunto é segurança de senhas. Outro ponto; quanto mais caracteres a senha possuir, melhor. Somados, criam senhas de alta entropia.
Não basta só ter senhas fortes. É preciso ter senhas seguras, e para isso o cofre de senhas é extremamente recomendável.
Jamais anote senhas em arquivos nem as compartilhe de forma explícita em formato texto. Se precisar compartilhar, envie um link temporário via cofre de senhas.
Passphrase são melhores do que senhas, mas nem todos os lugares aceitam. Aprenda a criar senhas fortes e não tenha preguiça. Tudo se torna hábito se repetirmos algumas vezes.
Por fim, a segurança é papel de todos. De nada adianta uma empresa possuir políticas rígidas de segurança e aplicances caríssimos de proteção de perímetro se a pessoa do RH usa leet. Conscientização de pessoal é muito importante.
Um abraço e até a próxima.