Há 20 anos, uma das maiores preocupações de segurança era que um
colega poderia descobrir a sua senha por conta do post-it que você
colocou na sua tela do computador. A solução era simples: não
escreva suas senhas! Isso foi um bom conselho, e a maioria das
pessoas podiam facilmente lembrar as duas ou três combinações de que
precisavam.
Desde então, as ameaças contra a segurança evoluíram além do
conhecimento, mas a nossa capacidade de lembrar de senhas manteve-se
inalterada. Ainda somos capazes de lembrarmos de apenas duas ou três
senhas - e a maioria das pessoas escolhem combinações relativamente
curtas e bastante previsíveis, a fim de serem capazes de
recordá-las.
Gerenciadores de senhas resolveram esse problema, mas eles
apareceram com seus próprios. E se um malware invadir e roubar todas
as senhas? E o que você faz, em termos práticos, quando tem um
dispositivo novo ou emprestado?
Camadas de segurança
Primeiro de tudo, devemos revisar o conselho dos anos 90. Hoje, o
adversário típico não é um colega olhando por cima do ombro, mas um
hacker sem rosto a milhares de quilômetros de distância.
Anotar as senhas em pedaços de papel pode não ser uma má ideia -
embora ainda não recomendamos deixá-los em sua tela. Isto faz
sentido particularmente quando o número de senhas aumenta.
Para implementar uma camada adicional de segurança à sua "cola",
você pode fazer todas as senhas serem compostas por duas partes. Uma
que você memoriza - esta parte é a mesma para todas as suas senhas
dentro de uma determinada categoria - e outra que você anota (e essa
é única). Usando este método, qualquer pessoa pode gerenciar
centenas de senhas enquanto ainda só terá que lembrar de duas ou
três coisas.
Seja criativo
Em segundo lugar, precisamos criar senhas fortes. Quando os usuários
são obrigados a incluir letras maiúsculas e minúsculas, bem como
números e caracteres especiais, o que eles fazem? Reúnem esses
requisitos de maneira que seja mais fácil para lembrar. Então, ao
invés de usar senhas como "password" ou "seguro", eles usam
"Password1!" E "Seguro1!".
Este não é muito inteligente, em termos de segurança, especialmente
porque crackers sabem muito bem, provavelmente melhor do que
ninguém, que tipo de senhas que as pessoas escolhem.
Se exigimos caracteres maiúsculos em senhas, quase todo mundo vai
capitalizar a primeira letra. Se exigimos um numeral, o número "1" é
quase três vezes mais provável do que o número "9", e "3456" é mais
de dez vezes mais comum que "4321".
Da mesma forma, os caracteres "especiais" que as pessoas usam estão
longe de ser especiais quando você olha quais são usados e onde
eles são colocados na senha. Portanto, técnicas tradicionais de
força de senha criam uma falsa sensação de segurança, uma vez que
eles contam caracteres, mas pecam em olhar para probabilidades.
O papel dos desenvolvedores
Os usuários não são os únicos culpados. A indústria está dando
uma falsa sensação de segurança com a maneira como usam os
verificadores de senhas. Em vez de considerar letras maiúsculas e
minúsculas, números e caracteres especiais mais exigentes,
verificadores de força de senhas deveriam entender as combinações e
recusar senhas que são muito previsíveis.
E isso pode ser feito! Em um artigo recente que escrevi com meu
aluno Mayank Dhiman mostramos como verificadores de força de
combinações podem analisar senhas, quebrando-as em componentes, em
seguida classificando tais componentes com base na sua semelhança, e
computando uma pontuação para a senha com base na pontuação dos
componentes.
É hora de ensinar os usuários a serem menos previsíveis.