Se uma senha for comprometida, uma senha “similar” também é 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#PasswordA no site A e mySecure12#PasswordB no site B (fique à vontade para usar uma definição diferente de " semelhança "se faz sentido).

Suponha, então, que a senha do site A esteja de alguma forma comprometida ... 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 há "semelhança de senha" nesse contexto? Faz alguma diferença se o comprometimento no site A foi um vazamento de texto sem formatação ou uma versão com hash?

    
por Michael McGowan 20.06.2011 / 03:11

4 respostas

38

Para responder a última parte primeiro: Sim, faria diferença se os dados divulgados fossem texto puro vs. hash. Em um hash, se você alterar um único caractere, todo o hash 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 estiver sem sal. Ver mesas de arco-íris ).

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

Como alternativa, nas senhas acima, se eu, como invasor, vir um padrão óbvio que possa usar para separar uma parte específica da senha do site da parte genérica da senha, definitivamente farei parte de uma personalização ataque de senha sob medida para você.

Por 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 início, para que você tenha senhas como: facebook58htg% HF! C, wellsfargo58htg% HF! C ou gmail58htg% HF! C, você pode apostar se eu hackear o seu facebook e obter facebook58htg% HF! c Eu vou ver esse padrão e usá-lo em outros sites que eu 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 de sua senha?

    
por 20.06.2011 / 04:44
11

Isso realmente depende do que você está conseguindo!

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ê tem ). Se eles comprometerem uma de suas senhas e puderem ver que é apenas uma linha no cartão de senha, provavelmente adivinharão (talvez até de forma correta) 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 a sua senha no serviço A difere da senha no serviço B por apenas um único caractere, e ambos os serviços são seguros (por exemplo, armazenar hashes salgados para sua senha em vez do hash direto ou o texto original em si), é “computacionalmente inviável” para determinar se as senhas são semelhantes, e muito menos como são 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 isso seja viável. Contanto que você:

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

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

    
por 20.06.2011 / 05:55
7

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

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

Argh! ....

Para corrigir isso, eu pessoalmente uso:

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

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

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

link

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

    
por 20.06.2011 / 09:46
4

Isso depende do que você está preocupado. Para um ataque automatizado em grande escala usando credenciais de um site em outros, o atacante irá atrás da parte mais fácil primeiro - pessoas usando exatamente a mesma senha. Uma vez esgotado, se o ataque ainda não for notado, o invasor procurará o que ele acha que são padrões comuns - provavelmente algo como a senha base + site.

Um atacante esperto que tem certeza de que seu ataque original (aquele 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 quanto isso é óbvio para o invasor.

Se a sua senha for, digamos, um prefixo mais um elemento aleatório, e o atacante suspeitar disso, e o invasor tiver seu hash de senha em outro site, eles podem obtenha sua outra senha um pouco mais cedo.

Você pode criar suas senhas codificando algo previsível, mas se essa prática se tornar 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.

tl; dr não faz nada determinista.

    
por 20.06.2011 / 16:18