Se uma senha for comprometida, uma senha "semelhante" também será comprometida?

37

Suponha que um usuário use uma senha segura no site A e uma senha segura diferente, mas semelhante no site B. Talvez algo como mySecure12#PasswordAno site A e mySecure12#PasswordBno site B (fique à vontade para usar uma definição diferente de "similaridade", se isso fizer sentido).

Suponha que a senha do site A esteja comprometida de alguma forma ... talvez um funcionário mal-intencionado do site A ou um vazamento de segurança. Isso significa que a senha do site B também foi efetivamente comprometida ou não existe "semelhança de senha" nesse contexto? Faz alguma diferença se o compromisso no site A foi um vazamento de texto sem formatação ou uma versão com hash?

Michael McGowan
fonte

Respostas:

38

Para responder a última parte primeiro: Sim, faria diferença se os dados divulgados fossem texto não criptografado versus hash. Em um hash, se você alterar um único caractere, o hash inteiro será completamente diferente. A única maneira de um invasor saber a senha é forçar o hash com força bruta (não é impossível, especialmente se o hash não tiver sal. Consulte as tabelas do arco-íris ).

Quanto à questão da similaridade, isso dependeria do que o atacante sabe sobre você. Se eu receber sua senha no site A e se souber que você usa certos padrões para criar nomes de usuário ou outros, posso tentar as mesmas convenções sobre senhas nos sites que você usa.

Como alternativa, nas senhas que você forneceu acima, se eu, como invasor, vir um padrão óbvio que posso usar para separar uma parte específica da site da senha da parte genérica da senha, definitivamente farei essa parte de um ataque de senha personalizado para você.

Como exemplo, digamos que você tenha uma senha super segura como 58htg% HF! C. Para usar essa senha em sites diferentes, adicione um item específico do site ao começo, para ter senhas como: facebook58htg% HF! C, wellsfargo58htg% HF! C ou gmail58htg% HF! C, você pode apostar se eu hackear seu facebook e obter facebook58htg% HF! c Vou ver esse padrão e usá-lo em outros sites que acho que você pode usar.

Tudo se resume a padrões. O invasor verá um padrão na parte específica do site e na parte genérica da sua senha?

queso
fonte
4
você apenas prestados meu padrão em todos os lugares senha 58htg%HF!cinútil, muito obrigado
Tobias KIENZLER
11
Uau! Quais eram as probabilidades? Não saia durante tempestades com raios.
queso
hm, devo jogar na loteria: -7 (+1 btw) #
Tobias Kienzler
11

Realmente depende do que você está chegando!

Há um número arbitrário de métodos para determinar se uma senha é semelhante a outra. Digamos, por exemplo, que você use um cartão de senha e que de alguma forma outra pessoa tenha o mesmo (ou simplesmente saiba qual você possui). Se eles comprometem uma de suas senhas e podem ver que é apenas uma linha abaixo do cartão de senha, é provável que eles adivinhem (talvez até corretamente) que suas senhas são todas derivadas desse cartão de maneira semelhante.

Mas, para a maioria das coisas, isso realmente não é um problema. Se sua senha no serviço A diferir da senha no serviço B por apenas um caractere, e ambos os serviços forem seguros (por exemplo, armazenar hashes salgados para sua senha em vez do hash direto ou do próprio texto sem formatação), é "computacionalmente inviável" para determinar se as senhas são semelhantes, quanto mais semelhantes.

Uma resposta curta é a seguinte: se suas senhas seguem algum tipo de padrão, então sim, é provável que o comprometimento de uma senha leve ao comprometimento de outras. No entanto, isso não significa que será possível fazê-lo. Enquanto você:

  1. Nunca use a mesma senha para mais de um serviço,
  2. Introduzir algum elemento aleatório (mesmo que apenas um pouco) na geração de suas senhas e
  3. Nunca transmita ou salve suas senhas em texto não criptografado

Você deveria estar bem. E lembre-se de sempre ter senhas diferentes para serviços diferentes - não use simplesmente a mesma senha para tudo e nem a mesma senha duas vezes. É importante se proteger contra empresas estúpidas que se recusam a seguir as práticas recomendadas quando se trata de armazenamento de dados do usuário, como senhas.

Michael Trausch
fonte
7

Minha resposta curta é SIM . Por exemplo: strongpassword + game.com comprometido,

Se eu sou um atacante, é realmente fácil entender o padrão que você usou e experimentá-lo em outros sites. Por exemplo, senha forte + paypal.com

Argh! ....

Para consertar isso, eu pessoalmente uso:

hash ( strongpassword+game.com )
hash ( strongpassword+paypal.com )

Usando propriedades matemáticas sobre o hash (uso sha1), sabendo a primeira senha, é difícil descobrir a senha forte e a segunda senha.

Se você quiser mais detalhes, criei uma entrada no blog sobre segurança de senha que responde exatamente à sua pergunta:

http://yannesposito.com/Scratch/en/blog/Password-Management/

Também fiz algumas ferramentas para facilitar o gerenciamento de toda a minha senha, porque você precisa poder alterar uma senha comprometida, lembrar o tamanho máximo de uma senha, etc.

yogsototh
fonte
11
O SHA-1 não é mais considerado matematicamente seguro.
Hello71
4
@ Hello71 você tem uma fonte para isso? Eu ficaria curioso para ler mais.
nhinkle
tinsology.net/2010/12/is-sha1-still-viable é admitidamente um caso limitado, mas ser capaz de pesquisar os 6 primeiros caracteres do espaço de teclas que rapidamente alugam recursos significa que alguém com redes de bots e tabelas de arco-íris pode presumivelmente fazer muito mais . Como regra geral, todas as outras coisas são iguais, qualquer que seja o hash / criptografia que desperdice mais ciclos de CPU para força bruta, é o melhor. :)
Stephanie
4

Isso depende do que você está preocupado. Para um ataque automatizado em larga escala usando credenciais de um site em outro, o atacante irá primeiro à parte mais fácil - pessoas usando exatamente a mesma senha. Uma vez esgotado, se o ataque ainda passar despercebido, o invasor procurará padrões comuns - provavelmente algo como senha base + site.

Um invasor inteligente que tem certeza de que seu ataque original (o que obteve suas senhas) passou despercebido faria esse processamento antes de usar as senhas que ela extraiu. Nesse caso, qualquer modificação previsível é perigosa, de acordo com o quão óbvio é para o invasor.

Se sua senha é, digamos, um prefixo mais um elemento aleatório, e o invasor suspeitar disso, e o invasor tiver seu hash de senha em outro site, ele poderá obter sua outra senha um pouco mais cedo.

Você pode criar suas senhas usando hash algo previsível, mas se essa prática se tornar algo comum ou se você receber atenção pessoal do invasor, isso não salvará você. De certa forma, a força da senha é uma questão de arbitragem de popularidade.

dr não faz nada determinístico.

dhasenan
fonte