Como os sites mantêm suas senhas seguras?

Agora raramente passamos um mês sem ouvir sobre algum tipo de violação de dados. Pode ser um serviço popular como o Gmail ou algo que a maioria de nós esqueceu, como o MySpace.

Uma das piores coisas que um hacker pode descobrir é sua senha. Isso é especialmente verdadeiro se você for contra o conselho padrão e usar as mesmas credenciais de login em plataformas diferentes. Mas cuidar da sua senha não é apenas sua responsabilidade.

Então, como os sites armazenam suas senhas? Como eles mantêm suas credenciais de login seguras? E qual é o método mais seguro que eles podem empregar para cuidar da sua senha?

O pior cenário: texto simples

Considere o seguinte: um grande site foi hackeado. Os cibercriminosos violaram todas as medidas básicas de segurança necessárias, talvez aproveitando uma falha em sua arquitetura. Você é um cliente. Esse site armazenou seus detalhes. Felizmente, você tem a garantia de que sua senha está segura.

Exceto que o site armazena sua senha como texto simples.

As senhas em texto simples estão apenas esperando para serem roubadas. Eles não usam nenhum algoritmo para torná-los ilegíveis. Os hackers podem ler com a mesma simplicidade que você está lendo esta frase.

Não importa o quão complexa seja a sua senha: um banco de dados de texto simples é uma lista das senhas de todos, explicadas claramente, incluindo quaisquer números e caracteres adicionais que você usar.

Relacionado: Como saber se um site armazena senhas como texto simples (e o que fazer)

E mesmo se os hackers não violarem o site, você realmente deseja que um administrador de site sem rosto possa ver seus detalhes de login confidenciais?

Você pode pensar que este é um problema muito raro, mas estima-se que 30% dos sites de comércio eletrônico usam esse método para "proteger" seus dados – na verdade, há um site inteiro dedicado a destacar esses criminosos !

Uma maneira fácil de descobrir se um site usa isso é se, logo após a inscrição, você receber um e-mail deles listando seus dados de login. Nesse caso, você pode querer alterar todos os sites com a mesma senha e entrar em contato com a empresa para alertá-los de que sua segurança é ruim.

Isso não significa necessariamente que eles os armazenam como texto simples, mas é um bom indicador.

E eles realmente não deveriam estar enviando esse tipo de coisa em e-mails de qualquer maneira. Eles podem argumentar que têm firewalls e outras precauções de segurança para proteger contra os cibercriminosos, mas lembre-os de que nenhum sistema é perfeito e arraste a possibilidade de perder clientes. Eles logo mudarão de ideia. Esperançosamente…

Não é tão bom quanto parece: criptografia

Então, o que muitos desses sites fazem para proteger suas senhas?

Muitos se voltarão para a criptografia. Isso embaralha suas informações, tornando-as ilegíveis até que duas chaves – uma em sua posse (seus dados de login) e a outra da empresa em questão – sejam apresentadas.

Você também deve usar criptografia em outro lugar. A identificação facial em iPhones é uma forma de criptografia. Qualquer senha é. A Internet funciona com criptografia: o HTTPS que você pode ver nos URLs significa que o site em que você está usando protocolos SSL ou TLS para verificar conexões e misturar dados.

Mas, apesar do que você pode ter ouvido, a criptografia não é perfeita.

Deve ser seguro, mas é tão seguro quanto o local onde as chaves estão armazenadas. Se um site estiver protegendo sua chave (ou seja, senha) usando uma própria, um hacker pode expor a última para encontrar a primeira e descriptografá-la. Exigiria comparativamente pouco esforço de um ladrão para encontrar sua senha; é por isso que os principais bancos de dados são um alvo massivo.

Se a chave dele estiver armazenada no mesmo servidor que o seu, sua senha também pode estar em texto simples. É por isso que o site PlainTextOffenders mencionado acima também lista serviços que usam criptografia reversível.

Surpreendentemente simples (mas nem sempre eficaz): Hashing

Agora estamos chegando a algum lugar. O hash de senhas soa como jargão, mas é simplesmente uma forma mais segura de criptografia.

Em vez de armazenar sua senha como texto simples, um site a executa por meio de uma função hash, como MD5, Secure Hashing Algorithm (SHA) -1 ou SHA-256, que a transforma em um conjunto totalmente diferente de dígitos. Eles podem ser números, letras ou quaisquer outros caracteres.

Sua senha pode ser IH3artMU0. Isso pode se transformar em 7dVq $ @ ihT, e se um hacker invadiu um banco de dados, é tudo o que ele pode ver. E funciona apenas de uma maneira. Você não pode decodificá-lo de volta.

Infelizmente, não é assim tão seguro. É melhor do que texto simples, mas ainda é bastante padrão para cibercriminosos.

Relacionado: Os truques mais comuns usados ​​para hackear senhas

A chave é que uma senha específica produz um hash específico. Há um bom motivo para isso: cada vez que você faz login com a senha IH3artMU0, ela passa automaticamente por essa função hash e o site permite o acesso se esse hash e o do banco de dados do site corresponderem.

Isso também significa que os hackers desenvolveram tabelas de arco-íris. Pense neles como folhas de dicas: são listas de hashes, já usadas por outros como senhas, que um sistema sofisticado pode executar rapidamente como um ataque de força bruta .

Se você escolheu uma senha muito ruim, ela estará no topo das tabelas do arco-íris e poderá ser facilmente quebrada. Os mais obscuros (combinações particularmente extensas) levarão mais tempo.

Tão bom quanto no momento: salga e hashes lentas

Nada é inexpugnável: os hackers trabalharão para quebrar qualquer novo sistema de segurança. Mas as técnicas mais fortes implementadas pelos sites mais seguros são hashes mais inteligentes.

Hashes salgados são baseados na prática de um nonce criptográfico, um conjunto de dados aleatórios gerado para cada senha individual, normalmente muito longo e muito complexo.

Esses dígitos adicionais são adicionados ao início ou ao final de uma senha (ou combinações de e-mail-senha) antes de passar pela função hash, a fim de combater as tentativas feitas usando tabelas de arco-íris.

Geralmente não importa se os sais são armazenados nos mesmos servidores que os hashes; quebrar um conjunto de senhas pode consumir muito tempo para os hackers, tornando-se ainda mais difícil se sua senha já for complicada.

É por isso que você deve sempre usar uma senha forte, não importa o quanto você confie na segurança de um site.

Os sites que levam sua segurança e, por extensão, a sua segurança particularmente a sério também usam hashes lentos como uma medida adicional. As funções hash mais conhecidas (MD5, SHA-1 e SHA-256) já existem há algum tempo e são amplamente utilizadas porque são relativamente fáceis de implementar e aplicam hashes rapidamente.

Embora ainda aplique sais, os hashes lentos são ainda melhores no combate a qualquer ataque que dependa da velocidade. Limitando os hackers a um número substancialmente menor de tentativas por segundo, eles demoram mais para crackear, fazendo com que as tentativas menos valham a pena, considerando também a taxa de sucesso reduzida.

Os cibercriminosos precisam avaliar se vale a pena atacar sistemas de hash lentos e demorados em vez de "consertos rápidos": as instituições médicas normalmente têm segurança mais baixa, por exemplo, de modo que os dados obtidos de lá ainda podem ser vendidos por quantias surpreendentes.

Também é muito adaptável: se um sistema está sob tensão específica, ele pode ficar ainda mais lento. Coda Hale , ex-Principle Software Developer da Microsoft, compara MD5 a talvez a função hash lenta mais notável, bcrypt (outros incluem PBKDF-2 e scrypt):

"Em vez de quebrar uma senha a cada 40 segundos [como no MD5], eu iria quebrá-la a cada 12 anos ou mais [quando um sistema usa bcrypt]. Suas senhas podem não precisar desse tipo de segurança e você pode precisar de uma comparação mais rápida algoritmo, mas o bcrypt permite que você escolha o equilíbrio entre velocidade e segurança. "

E como um hash lento ainda pode ser implementado em menos de um segundo, os usuários não devem ser afetados.

Por que o armazenamento de senha é importante?

Quando usamos um serviço online, firmamos um contrato de confiança. Você deve estar seguro, sabendo que suas informações pessoais estão sendo mantidas em segurança.

Armazenar sua senha com segurança é especialmente importante. Apesar dos vários avisos, muitos ainda usam a mesma senha para sites diferentes; portanto, se, por exemplo, seu Facebook for violado, os detalhes de login de outros sites que usam a mesma senha também podem ser um livro aberto para criminosos cibernéticos.