/

Milhares de processadores quebraram um trilião de chaves para resgatar um Zip com bitcoins

DEF CON SAFE MODE

Michael Stay foi contratado por um misterioso russo para resgatar 300 mil dólares em bitcoins de um Zip antigo

Um misterioso homem perdeu o acesso a um ficheiro Zip onde estavam encriptadas as suas chaves privadas de bitcoins. Os 300 mil dólares foram resgatados por dois especialistas em criptografia — e por muitos milhares de processadores.

Em outubro, o engenheiro de segurança Michael Stay recebeu através do LinkedIn uma mensagem no mínimo insólita. Um estranho de origem russa, que Stay chama simplesmente The Guy, tinha perdido o acesso às suas chaves privadas Bitcoin, e precisava da sua ajuda para recuperar 300 mil dólares — o que equivale a cerca de 250 mil euros.

Na verdade, o contato não foi totalmente uma surpresa. Há dezanove anos, Stay tinha publicado um artigo científico onde apresentava, de forma muito detalhada, uma técnica para quebrar arquivos Zip encriptados. O formato de arquivo Zip é muito usado para compactar de forma segura arquivos de grandes dimensões.

The Guy tinha comprado cerca de 10 mil dólares (perto de 8500 euros) em Bitcoins em janeiro de 2016, ainda antes do boom da moeda. Na época, criptografou as chaves privadas da sua carteira bitcoin num Zip, mas acabou por se esquecer da senha.

Sem acesso à sua carteira, fechada num Zip teoricamente inviolável, a única forma que The Guy tinha de recuperar as suas bitcoins era contactar Stay, na esperança de que o informático conseguisse quebrar a encriptação do ficheiro.

Após uma análise inicial, Michael Stay calculou que para invadir o arquivo iria precisar de cobrar pelo menos 100 mil dólares. The Guy aceitou o acordo, uma vez que ainda assim iria lucrar uma grande quantia.

Há anos que não me divertia tanto. Todas as manhãs ficava entusiasmado por começar a trabalhar”, conta Stay, fundador e CTO da empresa de desenvolvimento de software blockchain Pyrofex.

“O formato Zip foi projetado há décadas por um criptógrafo amador, e o facto de hoje ainda se manter em uso e tão atual é notável”, explica Stay à Ars Technica.

O formato de compressão Zip foi sendo periodicamente atualizado desde a sua criação, em 1989, com métodos de encriptação cada vez mais sofisticados e poderosos. Atualmente, o código encriptado de um Zip é muito mais difícil de quebrar do que o de um ficheiro encriptado de há 30 anos.

Alguns Zip mais antigos poderiam ser facilmente descodificados com ferramentas disponíveis na internet. As versões mais desatualizadas, como a que foi usada para codificar a carteira, usam criptografia Zip 2.0 Legacy, que é por vezes fácil de quebrar. Mas o misterioso russo não teve essa sorte – o que justifica o elevado preço pedido por Stay.

Stay tinha apenas algumas pistas para iniciar a sua abordagem. Como The Guy ainda tinha o portátil que usava para criptografar o arquivo Zip, foi fácil perceber que programa tinha sido usado para a encriptação.

O computador também tinha a data e hora de criação do arquivo, assim a partir de um conjunto de senhas e chaves de criptografia, Stay foi capaz de reduzir o número de chaves possíveis a “apenas” cerca de um trilião – algo como um 1 com 18 zeros.

Para identificar a senha certa através de um “ataque” por tentativa e erro nesta escala foi necessário alugar capacidade de processamento gráfico na cloud. Nash Foster, CEO da Pyrofex, implementou o código de análise criptográfica que iria ter a missão de quebrar o ficheiro Zip de The Guy.

“A nossa expectativa inicial era que o processamento demoraria alguns meses até termos sucesso”, explicou Foster à WIRED. “Mas Stay acabou por conseguir ser mais eficaz com a criptoanálise, e só precisávamos de ter o código a correr durante uma semana. Isso pouparia muito dinheiro a The Guy“, rematou.

Com o código de análise pronto, a questão permanecia: será que toda aquela capacidade de processamento iria chegar? Depois de meses a estudar o problema, Stay estava finalmente pronto para tentar, mas o russo não lhe tinha dado o arquivo Zip completo, fornecendo-lhe apenas os “cabeçalhos” criptografados do arquivo, sem o seu conteúdo real — talvez com medo que Stay lhe roubasse as bitcoins.

Em fevereiro, quatro meses após a primeira mensagem no Linkedin, os especialistas começaram o ataque. Depois de 10 dias a correr, falhou. Stay comentou na altura que estava “de coração partido”. Ainda assim, o ex-engenheiro de segurança da Google não desistiu.

Stay verificou os dados de teste e notou um erro que ocorria se os processadores não corressem a senha certa à primeira tentativa. Stay e Foster corrigiram o bug e tentaram novamente. O resultado foi “um monte de bitcoins”, disse Foster. Já Stay explica que “foi um grande alívio”.

Os custos de executar o ataque acabaram por rondar os 6 mil a 7 mil dólares (cerca de 5 mil a 6 mil euros), em vez dos 100 mil dólares estimados. “Projetos como este são completamente incomuns. Se The Guy tivesse usado uma versão um pouco mais recente do zip, teria sido impossível. Mas, neste caso específico, pudemos ser úteis”, explica Stay.

A “aventura” de Stay, Nash e The Guy foi tornada pública em Abril durante o Defcon 28, e desde então várias pessoas entraram em contacto com Stay a pedir-lhe ajuda para recuperar as senhas das suas carteiras bitcoin. Infelizmente, esta é uma situação comum e nem todos têm a sorte de The Guy.

ZAP //

Siga o ZAP no Whatsapp

Deixe o seu comentário

Your email address will not be published.