Abre-te Sésamo: as senhas da nossa vida digital

Por Lucas Teixeira | Boletim Antivigilância n.11

E-mail, rede social, fóruns, blogs, bancos e a miríade de serviços web que nos pedem um cadastro. Como fazer com tantas senhas? Com prosa, verso e desenhos, vamos tentar te ajudar a não enlouquecer nem ficar vulnerável com senhas fracas demais.

Uma das dificuldades de se criar um guia de criação senhas é que as ameaças que circundam as atividades online de cada pessoa são bastante diferentes.Nesse artigo, mostramos os bastidores da adivinhação de senhas e damos uma visão, ahm, artística de como criar senhas que resistam às técnicas atuais usadas por crackers.

Força bruta (ou um pouco refinada)

Desde que há senhas e computadores neste mundo, há também programas que testam todas as possibilidades de senhas — se a senha é composta por até oito caracteres, por exemplo, ele vai tentar desde ‘a’ até ‘////////’, passando por ‘;9mR’ e ‘u:4+R<cP’.

Também é tradicional o uso de dicionários — arquivos com listas de milhares de palavras, que o software de cracking testa uma por uma, combinando-as entre si e com o método sequencial acima. Mas ao longo do tempo, softwares que quebram senhas se tornaram muito mais espertos.

Assim como temos tendência a esconder a chave de casa debaixo do tapete, ou escolher números ímpares (provavelmente com os algarismos 7 e 3) quando desafiados a escolher “aleatoriamente” entre 1 e 100, nossas escolhas “espertas” de senhas podem formar padrões bastante previsíveis.

Ao longo dos anos, especialistas em quebrar senhas têm explorado essa área curiosa da psicologia e entendido melhor como nós as criamos. Mas não foi necessário nenhum estudo sofisticado para descobrir, por exemplo, que muitas senhas são palavras com sufixos ou prefixos numéricos que não mudam muito.

Além disso, através de técnicas usadas na análise de big data, é possível criar programas que descubram e reproduzam padrões que nem foram formulados por seus autores — ao serem alimentados com gigantescas listas de senhas (que podem ser compradas comercialmente), algoritmos de machine learning podem descobrir padrões difíceis ou impossíveis para seres humanos discernirem.

Dentro desse cenário, podemos introduzir o ingrediente secreto das melhores senhas: a entropia. Na teoria da informação, ela mede o quão imprevisível é uma mensagem — um conceito matemático que abrange nossas senhas, mas também uma rolagem de dados e as instruções para construir um computador. A mensagem é um punhado de dados ou um evento que nos traz alguma informação. Essa informação pode ser mais ou menos difícil de se prever, e o que mede isso é justamente a entropia.

“Entropy ≥ Mimesis . Catharsis²”, por Jef Safi. Licença CC by-nc-nd

Um dado “honesto” tem maior entropia que um dado viciado — pois é mais difícil adivinhar seu resultado (~16,6% de chances para um dado de seis lados). Um símbolo chinês tem muito mais entropia do que uma letra do nosso alfabeto: um chute no escuro tem muito mais chances de acertar uma em algumas dezenas de letras do que um entre milhares de diferentes logogramas.

A entropia de uma mensagem depende do que ela traz de novo para quem a vê — e a entropia da nossa senha cresce quando nossos adversários não a conseguem prever.

Não repita senhas importantes

Uma maneira pela qual essas listas de senha são compiladas por crackers para usar em ataques de força bruta é através de sites invadidos ou que têm seus bancos de dados vazados na rede — como aconteceu com o LinkedIn em 2012 e com a Adobe em 2013.

De uma maneira geral, os sites não deveriam ter sua senha guardada. Uma técnica da computação chamada de hashing já é prática básica de segurança há muitos anos nesses casos: os bancos de dados armazenam um código derivado da senha (o hash) que é muito rápido de ser calculado quando se sabe a senha, mas que é muito difícil de ser usado para derivar a senha, fazendo o caminho contrário. Com isso, quem tem acesso ao banco de dados não consegue saber a senha.

Mas as boas práticas muitas vezes não são seguidas; sites guardam senhas em plain (sem proteção alguma), ou usam algoritmos de hash fracos para os padrões atuais (como o arquivo que Jeremi Gosney quebrou, que usava MD5 sem salt algum).

Usar a mesma senha em todo lugar, então, é uma furada — uma vez quebrado o elo mais fraco, todas as suas contas estão ameaçadas.

Chaveiros de senhas

Se repetir senhas é perigoso, memorizar uma senha bem feita para cada conta que criamos é impraticável.

Aplicativos conhecidos como chaveiros servem para poupar esse trabalho. Eles guardas e organizam logins e senhas, criptografando-os com uma “senha mestre”.

Meu chaveiro de senhas

Eles também vêm equipados com geradores de senhas, que juntam símbolos aleatórios para formar senhas fortes.

É possível colar uma das senhas do chaveiro diretamente nos campos de senha do navegador (Ctrl+C Ctrl+V), então você nem mesmo precisa vê-las por detrás dos asteriscos. Quem usa um chaveiro no dia-a-dia geralmente tem uma senha mestra forte na memória e gera senhas para contas da Internet sem nunca digitá-las ou decorá-las.

O guia Security In A Box explica, passo-a-passo e com screenshots, como usar o KeePass, a ferramenta que também recomendamos para proteger suas senhas.

Senha de criptografia ou de acesso?

As senhas com a qual acessamos nossa caixa de e-mail ou fazemos login na rede social são senhas de acesso. Elas servem para nos autenticar perante um serviço, dando prova de que quem está falando do outro lado da Internet é a mesma pessoa que se inscreveu lá no outro dia. É como um documento de identificação.

Já aquelas que usamos para criptografar documentos e discos — um arquivo Zip, uma chave OpenPGP, um volume do Truecrypt ou do FileVault, um chaveiro de senhas… — são usadas no algoritmo de embaralhamento e os protegem matematicamente — através da entropia!

Quando um adversário habilidoso e bem equipado tem um arquivo criptografado em mãos, só resta entre ele e a informação protegida a capacidade de força bruta do hardware e seu conhecimento sobre o dono da senha.

Com algum investimento, é possível equipar computadores com um ou dois processadores gráficos de alta performance do mercado para testar milhões de combinações por segundo. Para acelerar o processo, softwares como o oclHashcat fazem o que o consultor de segurança Jeremi Gosney chama de “força bruta inteligente”, permitindo seguir regras de formação de senhas para seguir padrões de senhas comuns. Com essa combinação, Jeremi quebrou 90% das 16.000 senhas cujos hashs foram dados para ele em um desafio do portal de notícias Ars Technica em 2013.

Já nas senhas de acesso é muito mais difícil fazer esse tipo de ataque, porque o canal que o cracker tem para testar as senhas (a tela de login) é controlado por alguém (no exemplo, a rede social). Quase todos os grandes sites (e os pequenos que se importam minimamente com a segurança) impõem algum limite nas tentativas de senhas (travar por 10 minutos após 5 senhas erradas, por exemplo), e nesses casos senhas de complexidade menor já protegem de uma ameaça externa.|

Serviços que oferecem “autenticação em dois passos” — onde além da senha é necessário receber um código por celular para fazer login, por exemplo — também evitam boa parte dos riscos de roubo. Todavia, no que toca a privacidade e serviços online que se alimentam de nossos dados (como Google, Facebook e Twitter), é bom ter em mente que o número do celular é um identificador que conecta nossa vida online (navegação, likes, preferências) com a offline (compras, renda, endereço), que pode ser comprada de data brokers.

Também vale lembrar que senhas de acesso locais (para destravar o laptop ou o smartphone, por exemplo) são pouco úteis se o adversário toma controle de seu dispositivo: para se proteger contra roubos, use ferramentas de criptografia de disco inteiro (full disk encryption) — e não deixe que ele seja levado ligado, o que ainda permite ataques cold boot que conseguem extrair a senha da memória RAM do dispositivo.

“Dice”, por James Bowe. Licença CC-by

Mas me diz, como criar uma senha forte?

Para falar sobre isso, convidamos Silvio Rhatto. Ele é ativista da privacidade e da comunicação segura, e há mais de 10 anos trabalha voluntariamente desenvolvendo e mantendo ferramentas de comunicação segura para conscientizar o público sobre questões relativas à proteção de dados e o direito ao anonimato.

E também é poeta. Rhatto crê que “as pessoas têm que pensar um pouco antes que apresentemos modelos”, e então nos mandou o seguinte recado:

Senhas

Senha forte
 Senha fraca

Arranca a matraca da anta
 Repete demais as vogais

Mergulho do murro boçal
 Tá cheio de encontro consonantal

DV%y-%!I! \C1Xg1#a=-~a1uR1R”W\lJPJIWH? nDyqtC!!
 É palavrão de poesia malcriada!

Senha é poesia
 E pode ser carente de rima!

É poesia secreta
 Conhecida só por quem autora

Estes versos não mais são
 Pois difundidos já estão

E senha compartilhada
Em geral é uma grande roubada

Nem todo segredo é senha!

Desabafos
Confidências e conspirações
Não são senhas
Mas segredos por elas protegidos

Senha é poesia
Mesmo sem significar

De preferência dadaísta
Com palavras tiradas no dado
Ou sorteadas da sacola

Métrica escalafobética
Desnumerológica

De palavras inventadas
Lúdica, brincalhona
Uma ode à entropia

Piada interna
Que só você entende
Que nem você compreende
Mas que só você sabe

Riovém de finício algum
Prapilépricas quipergísticas
Vitrola esmola?
Vodininfantes!!!

Enrolou tua língua?
Então atrasa o lado da trairagem!

Sendo arte do sigilo
A regra de poesia é o estilo

Só que estilo demais
É padrão demais
E entropia de menos

A força de uma senha
Vem da criatividade de quem poeta
De usar e abusar do espaço da poesia
Que é um lugar composto de símbolos
Caracteres
Palavras
Versos e aglomerações maiores

Este aqui é um desafio e um manifesto
Reconhecendo um novo gênero literário
Tímido, complicado
Mas inclusivo

Junte-se a este movimento!
Seja poeta, poetisa de senhas
Mas não divulgue suas composições do gênero!

Se decorares alguns destes versos
Serás capaz de memorizar tuas próprias senhas
Ó, criptopanque!

E o oponente
Será capaz de deduzir nosso subconsciente?

O guia Security in a Box também oferece boas dicas sobre criar e manter senhas seguras.

“5enh4 5onho”, por lama

Anotar ou não anotar?

Um dos pontos polêmicos entre os diversos guias é se vale a pena anotar a senha.

Novamente, só você pode avaliar se é uma boa opção. Embora anotar em um papel crie o risco dele ser perdido ou roubado, também permite criar senhas mais complexas sem medo de esquecê-la. Manter esse lembrete dentro da carteira (ao menos até decorar a senha) é relativamente seguro para a maioria das pessoas, e sua perda é facilmente notada.

Frases como senhas e o método Diceware

Uma forma prática de criar senhas é concatenando palavras, como mostra essa famosa tirinha (pela primeira vez, em português e espanhol):

Original: xkcd. Licença: Atribuição-NãoComercial 2.5 Genérica.

Essa a obra isolada já ensina muito sobre senhas por si só; o que não é levado em conta, no entanto, é a suscetibilidade humana para escolher as tais palavras. Nosso vocabulário é limitado, e sabe-se lá que padrões de escolha se pode perceber analisando um conjunto grande dessas senhas (o que diminui sua entropia, tornando mais fácil quebrar as próximas).

Uma maneira eficiente de criar essas “senhas-frase” é através do método Diceware, que “usa dados para selecionar palavras aleatoriamente em uma lista”. Essa lista contém 7776 palavras curtas — exatamente o número de resultados possíveis para cinco rolagens de dados. Um exemplo em espanhol, com cinco palavras, é “multa h64 quien enero tubo” (além de palavras há também pequenas siglas e abreviações).

Ao passarmos o controle sobre a escolha das palavras para os dados, retiramos nossa subjetividade dessa etapa (talvez uma pessoa mais mística discorde), liberando toda a entropia que nos proporciona uma escolha em 7776 possibilidades: cada palavra acrescenta 12.9 bits; uma senha-frase com cinco palavras tem 64.5 bits de entropia. Ainda podemos usar e abusar do nosso inconsciente para lembrar da sequência sorteada!

Há versões da página web do Diceware em espanhol, inglês e mais onze línguas (há uma versão “extraoficial” da lista em português [mirror]); ela explica detalhadamente por quê o método funciona, e dá a dica: “uma senha-frase com cinco palavras provê um nível de segurança muito maior que as senhas simples que quase todo mundo usa. Recomendamos um mínimo de sete palavras para usar com o GPG, para proteger o wi-fi e em programas de criptografia de arquivos.”