7 de mai. de 2019

Falha de MCU nas hard-wallets Ledger como recuperar as moedas !!!

AVISO: Antes que você desista de ler este artigo, lembre-se não existe sistema 100% seguro, então leia, ou não :) !!!


Sim! É uma falha que ocorre nas famosas Ledger Nano S, o erro de "MCU"
Esse artigo é um !!!! AVISO !!!! da possibilidade de se perder as moedas usadas nas hardwallets da Ledger e Trezor, Ao mesmo tempo que há a possibilidade de se perder, exista, também há a possibilidade de se recuperar as moedas de uma hardwallet danificada, ou seja uma faca de dois gumes!

Introdução

A idéia por detrás das especificações do Bitcoin denominadas de BIP32, BIP39 e BIP44 é a de se ter um meio a mais para se recuperar as moedas além do tradicional backup do arquivo da carteira.

Essas especificações introduziram o conceito de "carteiras determinísticas hierárquicas", as chamadas carteiras HD. As carteiras HD usam uma semente (seed em inglês), onde vários endereços são gerados a partir de uma semente, ou seja uma chave privada mestre criada por um algoritmo que lhe confere aleatoridade e segurança. Essa primeira especificação surgiu com o BIP32 e depois foi melhorado com o BIP39 e BIP44, onde foi introduzido o conceito de "hardened key". 

Uma carteira HD típica (BIP32) como eu já disse deriva os endereços filhos, netos e bisnetos, etc, de uma chave privada mestre (master private key - mprivkey) e descobriu-se que quando se derivava em outros caminhos (paths), é possível através de técnica anti-criptográfica descobrir-se a chave privada mestre, comprometendo assim toda a cadeia de endereços dela derivada, ou seja todo o saldo existente nelas. O conceito de 'hardened' suprimiu essa falha, introduzindo um algoritmo para que mesmo com muitas derivações inclusive na mesma cadeia de endereços não seja possível descobrir as chaves privadas anteriores, protegendo assim as outras cadeias derivadas e por fim protegendo a chave privada mestre.

A notação usada para um caminho (path) 'hardened' é usando-se um apóstrofo " ' " ou um "H" junto com o caminho, sendo esse caminho representado por um número, exemplo: m/0H/3H ou m/0'/3', neste exemplo temos a chave privada mestre "m", a chave 'filha' '0H' e a chave 'neta'  '3H', ambas 'protegidas' pelo algoritmo 'hardened' que é diferente de de m/0H/3 e de m/0/3H.

Bom adivinhou quem desconfiou que se alguém mal intencionado descobrir a seed ou a mprivkey, pode roubar suas moedas e que o meliante não precisa ter uma hardwallet idêntica a sua. É pois é, mais um mito detonado, acho que plagiei um programa de TV, mas enfim, a semente pode ser usada na ELECTRUM, sim foi isso que você leu!!!!!

Roubando moedas, vixe vai dar B.O!!! ou melhor ....
 

SEU ANÚNCIO AQUI


Recuperando uma semente (seed) de hardwallet na Electrum

Esse procedimento é simples:
  1. Abra a Electrum;
  2. Caso já tenha uma carteira sendo usada, clique em "Arquivo + Nova/Restaurar"
  3. Digite o novo nome da carteira, tipo "Ledger_restore" ou deixe o nome padrão "wallet_algum_número_qualquer", clique em "Próximo"
  4. Selecione "Carteira padrão" (Standard Wallet), clique em "Próximo"
  5. Na próxima tela, selecione: "Eu já tenho a semente",
    clique em "Próximo"
  6.  coloque a semente (seed) na caixa de texto ao lado do ícone de uma semente :), aqui vai o pulo do gato, o botão "Próximo" não será habilitado, por que por padrão a Electrum não reconhece uma semente BIP39, clique no botão "Opções"
  7. Na caixa de diálogo que aparecer, selecione "Semente BIP39", clique em "OK"
  8. Abaixo da caixa de texto, aparece um AVISO!!!! Pode ignorar ou leia, você quem sabe! Clique em "Próximo"
  9.  Agora um detalhe, a Electrum quando se usa BIP39 habilita somente um tipo endereço por vez, que são:
    • legacy (p2pkh) - Endereço antigo começado com "1"
    • p2sh-segwit - Endereço compatível com "segwit" e carteiras "legacy", começado com "3"
    • native-segwit (p2wpkh) - Endereço segwit nativo BECH32 iniciado com "bc1"

Sim, você tem que escolher um, caso não se lembre se você usou qual tipo não se desespere, repita este procedimento mais duas vezes, onde cada carteira deverá ser de um tipo diferente.

Após reencontrar suas tão preciosas moedas, mova-as para uma outra carteira mais segura e inutilize esta semente para o resto da eternidade!!!!! 
 

SEU ANÚNCIO AQUI


Conclusão

Vale lembrar que escrevi, "Falta de segurança" e não "Falha de segurança", essa sutil diferença é para ALERTAR, se sua semente for parar nas mãos de um meliante, não espere ele comprar ou ter um Ledger nas mãos, com um computador e uma conexão com a internet suas moedas já eram e não adianta emprestar aquele cabinho USB milagroso de seu amigo que tem mais do que uma Ledger por que a "bendita" insiste em dar erro de "MCU"!

A seed da Ledger não funciona na Trezor, mas o segredo é que a Trezor usa um path diferente, portanto pode ser aberta, na teoria na Electrum também. Não fiz o teste com a Trezor, fica para um outro artigo ou como exercício para vocês!!!!


SEED usada: coffee mammal buzz trap silly border piano correct office giggle grab coach balance demand cricket midnight soup hen turkey cement old slim fish dawn

Electrum usando endereço "compatível"

No teste o tempo que levou para a Ledger atualizar o "firmware" foi tempo suficiente para o "meliante" sacar todas as moedas da carteira!

!!! AVISO !!! - JAMAIS COMPARTILHEM A SEED DE SUA CARTEIRA, SEJA HARD-WALLET, SOFT-WALLET OU BRAIN-WALLET :)


2 comentários:

  1. Mas cara não é obvio isso? é o que se espera de uma seed. Onde que eu perdi o ponto?

    ResponderExcluir
  2. Para o pessoal experiente sim, mas para novatos essa informação pode ajudar na hora do desespero!

    ResponderExcluir