Questão:
Quão difícil é quebrar a senha mestra do Keepass?
steampowered
2011-10-29 00:18:06 UTC
view on stackexchange narkive permalink

Com que facilidade alguém pode quebrar meu arquivo keepass.kdbx se essa pessoa roubar o arquivo, mas nunca obtiver a senha mestra?

Esta é uma ameaça séria ou um ataque de força bruta exigiria muito tempo de computação?

Presuma uma senha com mais de 10 caracteres com caracteres distribuídos aleatoriamente do conjunto, incluindo todas as letras, números e a maioria dos símbolos não alfanuméricos do teclado.

Se você for * realmente * paranóico, pode colocar o arquivo .kdbx em um volume Truecrypt para segurança extra.
Como o código-fonte do KeePass é aberto, deve ser possível usá-lo para implementar uma ferramenta de recuperação um pouco mais inteligente do que apenas tentar as senhas uma por uma. Lembro que havia uma ferramenta por aí, mas esqueci o nome. Talvez o Sr. Google possa ajudar ...
falando em milhões de anos, acho que os dados serão inúteis depois de 5 anos ... ou podem ser menos ..
@Iszi Se você for realmente paranóico, nunca coloque todos os ovos na mesma cesta!
@F.Hauri Em certo sentido, colocar o arquivo KDBX em um volume TrueCrypt * é * colocar seus ovos em mais de uma cesta - neste caso, porém, as cestas estão dentro umas das outras.
se a lei de Moores estiver correta, a cada 18 meses, em termos gerais, um computador fica duas vezes mais rápido, em 50 ou 60 anos você acaba com um número com 14 ou 15 algarismos, ou seja, 1, 2, 4, 8, 16 , faça isso 50 vezes ou 50 anos ,, uma senha que você faz agora não pode ser descoberta por 50 milhões de anos, mas um computador em 50 anos vai quebrá-la em um segundo
Se você registrar toques no teclado ou for capaz de interceptar (e proxy) o chaveiro USB que você usa ... pode ser quase que instantaneamente.Apenas um lembrete: não despreze outros vetores de ataque.
Veja este artigo recente;alguém conseguiu usar o Hashcat, junto com sua GPU, para quebrar um banco de dados de passagem em apenas 12 minutos.Guia completo incluído para seus próprios testes: https://www.rubydevices.com.au/blog/how-to-hack-keepass;Para responder à sua pergunta, eu diria que é uma ameaça séria.Hashes sempre podem ser quebrados, mais ou menos, com tempo suficiente e poder de computação.
@schizoid04 eles usaram um ataque de dicionário.Eu me pergunto qual era a senha original?(não vi o pw original no artigo) Obviamente, uma senha fraca invalidará a força do esquema de segurança do keepass.Minha pergunta original especificava "caracteres distribuídos aleatoriamente" para o pw.
@steampowered a senha era `password123` - o leitor teve que fazer o ataque como um exercício.
Dois respostas:
Tom Leek
2011-10-29 00:43:49 UTC
view on stackexchange narkive permalink

KeePass usa um processo de derivação de senha personalizado que inclui várias iterações de criptografia simétrica com uma chave aleatória (que então serve como sal), conforme explicado . O número padrão de iterações é 6.000, ou seja, 12.000 invocações de AES para processamento de uma senha (a criptografia é feita em um valor de 256 bits, o AES usa blocos de 128 bits, portanto, deve haver duas invocações de AES pelo menos para cada rodada). Com um PC quad-core recente (aqueles com instruções AES sofisticadas), você deve ser capaz de testar cerca de 32.000 senhas potenciais por segundo.

com caracteres aleatórios dez escolhidos uniformemente entre os cem de-so de caracteres que podem ser digitados em um teclado, existem 10 20 sup> senhas potenciais e força bruta será, em média, tente metade deles. Você está dentro de 10 20 * 0,5 / 32000 segundos, também conhecido como 50 milhões de anos. Mas com dois PCs, isso dura apenas 25 milhões de anos.

Isso pressupõe que o processo de derivação de senha não tem falhas de alguma forma. No "processo de derivação de senha personalizada", o "personalizado" é uma palavra assustadora. Além disso, o número de iterações é configurável (6000 é apenas o valor padrão).

1 para o "com dois PCs que são apenas 25 mi ..."
Você acabou de matar minhas esperanças de recuperar a senha de minha própria loja Keepass em pelo menos alguns dias ... Eu especialmente adorei a coisa de 25 milhões de anos, mas isso funcionaria se ambos estivessem tentando compensações diferentes, caso contrário, eles apenas fariam o mesmo trabalho duas vezes ... apenas dizendo. : D
@DoNuT Se for sua própria senha, você não precisa usar força bruta. Você terá MUITA informação sobre que tipo de senha você guarda, você coloca números, você se lembra de algum caractere específico (ou comprimento da senha)? Todos eles podem ser usados ​​para reduzir o tempo imensamente. Leva apenas 25 milhões de anos se você quiser quebrar a senha de outra pessoa (e ela não pode nem mesmo ser "projetada socialmente").
Keepass tem um excelente recurso onde você pode definir o número de iterações com base em quantas sua CPU pode executar em 1 segundo. Portanto, isso significa que * você * espera 1 segundo para que ele decifre seus dados, mas limita os ataques de força bruta a 1 por segundo, o que desencorajaria a maioria das tentativas.
Esta resposta não demonstra conhecimento de quão rápido as senhas KeePass podem ser quebradas na prática. A resposta também ignora GPUs.
@AleksandrDubinsky Ok, então vamos assumir que as GPUs e algumas otimizações inteligentes podem aumentar o desempenho em uma ordem de magnitude. Isso * ainda * é 2,5 milhões de anos. E mesmo assim, apenas se você estiver usando 2 PCs.
@Iszi Eu simplesmente observei que a resposta é pobre em informações.
@Tom Leek, você pode atualizar essa coisa de 25 milhões de anos com a tecnologia atual?Digamos usando clusters?
@Dexter O uso de um "cluster" está apenas jogando mais hardware no problema.50 milhões de anos com um computador seriam aproximadamente um ano com 50 milhões de computadores (algumas suposições, por exemplo, que você pode distribuir uniformemente o trabalho ... e que você tem acesso a tantos computadores poderosos).Se você quiser figuras AES-NI mais modernas, [2x-5x] (https://calomel.org/aesni_ssl_performance.html).No total, talvez 10 milhões de anos-computador.
Para alguma segurança extra, Keepass permite calcular automaticamente a quantidade de iterações de tal forma que leva exatamente um segundo no computador atual para abrir ou salvar o banco de dados.Isso está dentro dos limites de tempo aceitáveis e torna a força bruta completamente inviável.
Skylarkx2k
2012-11-06 16:50:06 UTC
view on stackexchange narkive permalink

Você está certo, leva muito tempo. Mas não se esqueça, que você não precisa tentar todas as senhas combinadas. Se você acertar o correto, está feito. Então você realmente não precisa de 50 milhões de anos. E você tem muito mais opções do que usar 2 PCs quadcore. Você pode usar um cluster baseado em nuvem da Amazon e pode iniciar 5000 instâncias de alta CPU. É claro que isso é caro, mas você não precisa comprar 5000 HighEnd Computer, então diminuirá o preço drasticamente.

Mas não sei por quanto tempo você aplicará força bruta nisso usando um Cluster. E é claro que você está certo de que hoje leva muito tempo para um PC normal.

a) 50 milhões de anos é o tempo * médio * para quebrar, então já levamos em consideração o fato de que você pode obtê-lo no primeiro dia. (Você também pode obtê-lo no último dia do centésimo milionésimo ano.) B) Com 5.000 PCs, você obtém a média para 10.000 anos, o que é um consolo insuficiente.
No verso do envelope, usando instâncias de GPU ec2, custaria cerca de US $ 2 bilhões de dólares por 50 milhões de anos de tempo de CPU (por núcleo de GPU). Você realmente teria que valer a pena hackear por tanto dinheiro.
@JeremyFrench Mais barato contratar um espião de armadilha de mel.[Ou para comprar uma chave inglesa] (https://xkcd.com/538/).


Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...