Por que as empresas ainda armazenam senhas em texto simples?

Um computador com uma tela de login e uma caixa de senha preenchida.
mangpor2004 / Shutterstock

Várias empresas admitiram recentemente armazenar senhas em formato de texto simples. É como armazenar uma senha no Bloco de notas e salvá-la como um arquivo .txt. As senhas devem ser salgadas e hash para segurança, então por que isso não está acontecendo em 2019?

Por que as senhas não devem ser armazenadas em texto simples

Minha senha123456 escrita em um post-it e colada em um computador.
designer491 / Shutterstock

Quando uma empresa armazena senhas em texto simples, qualquer pessoa com o banco de dados de senhas – ou qualquer outro arquivo em que as senhas estejam armazenadas – pode lê-las. Se um hacker obtiver acesso ao arquivo, ele poderá ver todas as senhas.

Armazenar senhas em texto simples é uma prática terrível. As empresas devem fazer sal e hash de senhas, que é outra maneira de dizer “adicionar dados extras à senha e, em seguida, embaralhar de uma forma que não possa ser revertida”. Normalmente, isso significa que, mesmo que alguém roube as senhas de um banco de dados, elas não poderão ser utilizadas. Quando você faz login, a empresa pode verificar se sua senha corresponde à versão codificada armazenada – mas eles não podem “retroceder” no banco de dados e determinar sua senha.

Então, por que as empresas armazenam senhas em texto simples? Infelizmente, às vezes as empresas não levam a segurança a sério. Ou optam por comprometer a segurança em nome da conveniência. Em outros casos, a empresa faz tudo certo ao armazenar sua senha. Mas eles podem adicionar recursos de registro excessivamente zelosos, que registram as senhas em texto simples.

Várias empresas têm senhas armazenadas incorretamente

Você já pode ser afetado por práticas inadequadas porque Robinhood , Google , Facebook , GitHub, Twitter e outros armazenaram senhas em texto simples.

No caso do Google, a empresa estava fazendo hash e salgando as senhas de maneira adequada para a maioria dos usuários. Mas as senhas das contas do G Suite Enterprise eram armazenadas em texto simples. A empresa disse que isso era uma prática remanescente de quando deu aos administradores de domínio ferramentas para recuperar senhas. Se o Google tivesse armazenado corretamente as senhas, isso não teria sido possível. Apenas um processo de redefinição de senha funciona para recuperação quando as senhas são armazenadas corretamente.

Recomendado:  Como criptografar arquivos com gocryptfs no Linux

Quando o Facebook também admitiu armazenar senhas em texto simples, não deu a causa exata do problema. Mas você pode inferir o problema de uma atualização posterior:

… Descobrimos registros adicionais de senhas do Instagram armazenadas em um formato legível.

Às vezes, uma empresa fará tudo certo ao armazenar inicialmente sua senha. Em seguida, adicione novos recursos que causam problemas. Além do Facebook, Robinhood , Github e Twitter registraram acidentalmente senhas em texto simples.

O registro é útil para localizar problemas em aplicativos, hardware e até mesmo no código do sistema. Mas se uma empresa não testar essa capacidade de registro completamente, isso pode causar mais problemas do que resolver.

No caso do Facebook e do Robinhood, quando os usuários forneciam seu nome de usuário e senha para entrar, a função de registro podia ver e registrar os nomes de usuários e senhas à medida que eram digitados. Em seguida, ele armazenou esses logs em outro lugar. Qualquer pessoa que tivesse acesso a esses registros tinha tudo de que precisa para assumir uma conta.

Em raras ocasiões, uma empresa como a T-Mobile Australia pode desconsiderar a importância da segurança, às vezes em nome da conveniência. Em uma troca do Twitter excluída , um representante da T-Mobile explicou a um usuário que a empresa armazena senhas em texto simples. O armazenamento de senhas dessa forma permitiu que os representantes de atendimento ao cliente vissem as primeiras quatro letras de uma senha para fins de confirmação. Quando outros usuários do Twitter apontaram apropriadamente como seria ruim se alguém invadisse os servidores da empresa, o representante respondeu:

E se isso não acontecer porque nossa segurança é incrivelmente boa?

A empresa excluiu esses tweets e mais tarde anunciou que todas as senhas logo seriam salgadas e hash . Mas não demorou muito para que alguém violasse seus sistemas . A T-Mobile disse que as senhas roubadas foram criptografadas, mas isso não é tão bom quanto hash de senhas.

Como as empresas devem armazenar senhas

Foto do técnico de TI fora de foco ligando o servidor de dados.
Gorodenkoff / Shutterstock

As empresas nunca devem armazenar senhas em texto simples. Em vez disso, as senhas devem ser salgadas e, em seguida, hash . É importante saber o que é sal e a diferença entre criptografar e hash .

Recomendado:  O Oryx Pro atualizado do System76 é uma fera em um laptop Linux

Salting adiciona texto extra à sua senha

Salting senhas é um conceito direto. O processo essencialmente adiciona texto extra à senha que você forneceu.

Pense nisso como adicionar números e letras ao final de sua senha normal. Em vez de usar “Senha” como senha, você pode digitar “Senha123” (nunca use nenhuma dessas senhas). Salting é um conceito semelhante: antes que o sistema faça hash em sua senha, ele adiciona um texto extra a ela.

Portanto, mesmo se um hacker invadir um banco de dados e roubar os dados do usuário, será muito mais difícil determinar qual é a senha real. O hacker não saberá qual parte é sal e qual parte é senha.

As empresas não devem reutilizar dados com sal de senha em senha. Caso contrário, pode ser roubado ou quebrado e, portanto, inutilizado. A variação adequada de dados com sal também evita colisões (mais sobre isso mais tarde).

A criptografia não é a opção apropriada para senhas

A próxima etapa para armazenar sua senha corretamente é fazer um hash. O hash não deve ser confundido com criptografia.

Ao criptografar dados, você os transforma ligeiramente com base em uma chave. Se alguém conhece a chave, pode alterar os dados de volta. Se você já brincou com um anel decodificador que dizia “A = C”, então você criptografou os dados. Sabendo que “A = C”, você pode descobrir que a mensagem era apenas um comercial de Ovomaltine.

Se um hacker invade um sistema com dados criptografados e também consegue roubar a chave de criptografia, então suas senhas também podem ser em texto simples.

Hashing transforma sua senha em jargão

O hashing de senha transforma fundamentalmente sua senha em uma string de texto ininteligível. Qualquer pessoa olhando para um hash veria algo sem sentido. Se você usou “Senha123”, o hash pode alterar os dados para “873kldk # 49lkdfld # 1”. Uma empresa deve criptografar sua senha antes de armazená-la em qualquer lugar, dessa forma ela nunca terá um registro de sua senha real.

Essa natureza de hashing o torna um método melhor para armazenar sua senha do que a criptografia. Enquanto você pode descriptografar dados criptografados, você não pode remover o hash dos dados. Portanto, se um hacker invadir um banco de dados, não encontrará uma chave para desbloquear os dados com hash.

Recomendado:  O que há de novo no Chrome 102, já disponível

Em vez disso, eles terão que fazer o que uma empresa faz quando você envia sua senha. Salve uma suposição de senha (se o hacker souber qual sal usar), faça um hash e compare-o com o hash no arquivo para obter uma correspondência. Quando você envia sua senha ao Google ou ao seu banco, eles seguem as mesmas etapas. Algumas empresas, como o Facebook, podem até fazer “suposições” extras para explicar um erro de digitação .

A principal desvantagem do hash é que, se duas pessoas tiverem a mesma senha, elas acabarão com o hash. Esse resultado é chamado de colisão. Essa é outra razão para adicionar sal que muda de senha para senha. Uma senha com sal e hash adequada não terá correspondências.

Os hackers podem eventualmente quebrar seu caminho através de dados hash, mas é principalmente um jogo de testar cada senha concebível e esperar por uma correspondência. O processo ainda leva tempo, o que lhe dá tempo para se proteger.

O que você pode fazer para se proteger contra violações de dados

Última tela de login com nome de usuário e senha preenchidos.

Você não pode impedir que as empresas manuseiem indevidamente suas senhas. E, infelizmente, é mais comum do que deveria. Mesmo quando as empresas armazenam sua senha corretamente, os hackers podem violar os sistemas da empresa e roubar os dados com hash.

Dada essa realidade, você nunca deve reutilizar senhas. Em vez disso, você deve fornecer uma senha complicada diferente para cada serviço que usar. Dessa forma, mesmo se um invasor encontrar sua senha em um site, ele não poderá usá-la para fazer login em suas contas em outros sites. Senhas complicadas são extremamente importantes porque quanto mais fácil for sua senha de adivinhar, mais cedo um hacker pode quebrar o processo de hash. Ao tornar a senha mais complicada, você está ganhando tempo para minimizar os danos.

O uso de senhas exclusivas também minimiza esse dano. No máximo, o hacker obterá acesso a uma conta e você pode alterar uma única senha mais facilmente do que dezenas. Senhas complicadas são difíceis de lembrar, por isso recomendamos um gerenciador de senhas . Os gerenciadores de senhas geram e memorizam senhas para você, e você pode ajustá-las para seguir as regras de senha de quase todos os sites.

Alguns, como LastPass e 1Password , até oferecem serviços que verificam se suas senhas atuais estão comprometidas.

Outra boa opção é habilitar a autenticação em duas etapas . Dessa forma, mesmo que um hacker comprometa sua senha, você ainda pode impedir o acesso não autorizado às suas contas.

Embora você não possa impedir uma empresa de usar incorretamente suas senhas, pode minimizar a queda protegendo suas senhas e contas de maneira adequada.