As senhas parecem ser a versão moderna do hairshirt medieval.

Eles parecem existir como um irritante para a vida online de hoje. Você quer acesso ao seu PC? Senha por favor. Você quer adicionar um status no Facebook? Senha! Você quer verificar sua conta bancária online? Senha necessária!

Então, como você cria bons? De fato, quais são os bons? Como você se lembra deles? Como você pode reduzir a irritação?

Para se autenticar nos sistemas que você usa todos os dias - para provar a eles que você é quem diz ser -, você usa uma senha. Esta senha, em teoria, é conhecida apenas por você e pelo sistema que você está tentando acessar - seja Facebook, Twitter, seu banco, seu email, seu blog ou qualquer outra coisa. É um segredo que não deve ser revelado a terceiros.

Há outra peça essencial no quebra-cabeças de autenticação - seu nome de usuário -, mas geralmente é seu endereço de e-mail ou seu nome em algum formato concatenado e é facilmente detectável. Sua senha é, portanto, o "gergelim aberto" que revela tudo sobre você. Como você pode ter certeza de que sua privacidade permanece intacta e que o segredo persiste??

Vamos abordar a questão do ponto de vista de um hacker de black hat que quer se passar por algum sistema. Para aumentar as apostas, vamos supor que o sistema é o seu banco e o hacker quer testar seu limite de crédito. Como ele pode obter sua senha??

Assista e aprenda

A primeira maneira é a mais simples: ele observa você enquanto digita sua senha. Dessa forma, não importa quão forte ou fraca seja sua senha; o hacker apenas observa você entrar. Eu vou assumir que você estaria ciente de alguém olhando por cima do seu ombro, então a questão é como o hacker pode "vigiar" você?

Em março, a RSA (produtora dos sistemas SecurID usados ​​pelas corporações e pelo Departamento de Defesa dos EUA) foi hackeada. Alguém conseguiu obter acesso a sistemas e redes internos e roubar segredos relacionados à chave de autenticação de dois fatores SecurID.

Alguns meses depois, eles tentaram invadir a Lockheed Martin, o empreiteiro de defesa que os utilizava. Como isso foi feito? Simples - foi um ataque de phishing.

Um e-mail supostamente sobre planos de recrutamento de 2011 e contendo uma planilha do Excel foi enviado para vários membros da equipe da RSA, aparentemente de uma agência de recrutamento. A planilha continha um objeto Adobe Flash incorporado que, por sua vez, continha uma vulnerabilidade de dia zero. Uma vez que a planilha foi aberta, este malware instalou um backdoor na máquina, que deu aos atacantes acesso ao PC e à rede.

Nesse ponto, todas as apostas estão canceladas. O atacante pode instalar um keylogger e rastrear exatamente o que você digita nas telas de login - lá vai uma senha. Pior ainda, eles poderiam baixar seus arquivos de senhas do sistema (aqueles usados ​​pelo System Account Manager) e depois quebrá-los com um programa como o Ophcrack, que usa técnicas como tabelas de arco-íris para reverter os dados de login com hash. Lá vão todas as suas senhas.

Na verdade, esse último cenário traz toda a questão de quebrar senhas. Existem dois estágios: adivinhar a senha usando algum algoritmo - geralmente força bruta tentando todas as permutações - e então validar a senha contra o sistema que está sendo hackeado..

O problema com a validação de senhas é que muitos sistemas possuem proteções internas. Geralmente, você só tem tantas tentativas de tentar uma senha antes que o sistema bloqueie a conta que está sendo tentada. Às vezes, o sistema também atrasará deliberadamente a redefinição da tela de login em alguns segundos, para que a tentativa de muitas senhas seja extremamente lenta.

Observe que uma máquina autônoma do Windows 7 tem o bloqueio de conta desativado por padrão, enquanto um PC em uma rede corporativa pode ativá-lo. Se o sistema está incorporado em um arquivo - digamos que a vítima está usando um gerenciador de senhas e o hacker conseguiu capturar o arquivo de senha - o trabalho do hacker ficou muito mais fácil.

Em essência, as salvaguardas online (número limitado de tentativas de senha, atraso entre as tentativas) não estão mais em jogo e o hacker tem liberdade para testar quantas senhas quiser o mais rápido possível. É aqui que a força da senha entra em jogo.

Força em números

Quando acessamos um novo recurso para o qual temos que criar uma senha, geralmente recebemos algumas diretrizes para criar uma senha forte e desencorajamos o uso de senhas fracas. As diretrizes geralmente incluem a criação de senhas mais longas do que um mínimo definido (digamos, oito caracteres), não usando palavras normais, usando letras maiúsculas e minúsculas e usando números e símbolos de pontuação..

Com sorte, a tela onde você insere sua nova senha terá algum tipo de indicação visual para mostrar como é boa, como uma barra de progresso colorida de vermelho (ruim) a verde (boa). Os piores sistemas são aqueles que limitam sua senha a uma contagem baixa de caracteres, restringem os caracteres usados ​​apenas a letras minúsculas e dígitos, e assim por diante. Essas diretrizes produzirão automaticamente senhas fracas.

A força de uma senha é medida pela sua entropia, como um número de bits. Quanto maior o número de bits, maior a entropia e mais difícil será quebrar a senha.

Entropia é um conceito da teoria da informação e é uma medida da previsibilidade de uma mensagem. Por exemplo, uma série de lançamentos de uma moeda justa é imprevisível (não podemos dizer o que vem a seguir) e, portanto, tem entropia máxima. Texto em inglês - este artigo, por exemplo - é bastante previsível na medida em que podemos fazer julgamentos sobre o que virá a seguir. A letra E aparece com muito mais freqüência do que Q, se houver um Q, é provável que o próximo caractere seja U e assim por diante.

Estima-se que o texto em inglês tenha uma entropia entre um e 1,5 bits por caractere (8 bits). Em outro sentido, a entropia é uma medida de quão compressível é uma mensagem - quanto de fluff podemos descartar na compactação de uma mensagem e ainda seremos capazes de reconstituir a mensagem original a qualquer momento. Se você quiser, a mensagem compactada contém apenas o conteúdo informativo da mensagem.

Todos nós comprimimos um arquivo de texto em um arquivo zip para obter 70-80% de compactação ou mais; isso é apenas uma expressão da entropia do texto.