Vulnerabilidades encontradas na Trezor foram divulgadas no MIT Bitcoin Expo

Tutorial: Carteira Bitcoin Multisig com Electrum Wallet

Bitcoinheiros
bitcoinheiros

--

Saiba como aumentar sua segurança

Escrito por Ivan com revisão e contribuição de Allan, Becas e Bitdov

tl;dr (direto ao ponto)
Hardware wallets não são infalíveis. No entanto, é possível adicionar uma camada extra de segurança criando carteiras multisig. Você pode criar sua própria carteira multisig com hardware wallets (detalhado neste artigo) ou, caso não tenha conhecimento técnico e segurança para fazer isso sozinho, contratar empresas como a 'CASA' que estão oferecendo o serviço de gestão de carteiras multisig.

Aprenda como se proteger

Você provavelmente já deve ter tido algum tipo de contato com hardware wallets (HWs) e soube na semana passada que o diretor de segurança da Ledger, Charles Guillmet, apresentou no MIT Bitcoin Expo uma série de vulnerabilidades encontradas no dispositivo fabricado pela Trezor.

Este artigo não tem o objetivo de detalhar as vulnerabilidades encontradas, uma vez que o assunto já foi explicado no canal do YouTube dos Bitcoinheiros e a própria Trezor já publicou um artigo a respeito no seu Blog.

Nosso objetivo com este artigo é esclarecer questões relacionadas à segurança das HWs e oferecer um tutorial para que você possa adicionar um layer a mais de segurança no protocolo de armazenamento de suas criptomoedas através de uma carteira multisig.

Hardware wallets podem ser atacadas

Como todos sabemos, as Hardware Wallets facilitaram muito o armazenamento, segurança e controle de chaves privadas. No entanto, não há solução perfeita que seja imune a todos os tipos de ataque e, por isso, temos que considerar que novas vulnerabilidades em dispositivos e protocolos serão encontradas cedo ou tarde.

Apesar de notícias do gênero gerarem insegurança em muitos usuários, a descoberta de brechas de ataque são positivas e necessárias para o fortalecimento da segurança dos dispositivos físicos (hardware wallets), softwares e protocolos utilizados. Isso faz parte da característica antifrágil encontrada no próprio bitcoin.

No caso da Trezor, foram encontradas vulnerabilidades que requerem o acesso físico além de equipamento laboratorial altamente especializado para ter acesso à chave privada das HWs. Ainda assim, fatos como esse nos lembram que a utilização de apenas um modelo de HW para armazenar suas criptomoedas apresenta certo nível de fragilidade, pois eventualmente será descoberta uma nova porta de acesso ainda indefesa no dispositivo. Desta forma, podemos considerar que é ponderado utilizar diferentes modelos e fornecedores de HWs para diluir o risco e aumentar a segurança.

Carteiras Multisig oferecem mais proteção

Outra possibilidade para adicionar ainda mais proteção ao guardar suas criptomoedas é utilizar carteiras Multisig (com múltiplas assinaturas). Este tipo de carteira exige duas ou mais chaves privadas para realizar qualquer transação. Uma tentativa de explicar, ainda que de maneira imperfeita, é comparar a um cofre com duas fechaduras ou uma conta no banco que requer duas ou mais assinaturas para validar um cheque (ainda existe isso?).

Fonte: bitcoindesigned.com

Desta forma, mesmo que uma de suas HWs seja comprometida fisicamente, o invasor não terá como realizar nenhum tipo de transação com suas criptomoedas. Fica claro, portanto, que é fundamental criar uma carteira multisig com hardware wallets de diferentes fabricantes e que sejam armazenadas em geolocalizações distintas (de preferência em diferentes cidades ou até países).

No início da configuração, será necessário definir o limite de assinaturas para sua carteira multisig equilibrando conveniência e segurança. Por exemplo, se criar uma carteira 2–2 multisig (duas assinaturas existentes com a necessidade das duas para qualquer transação) e perder uma de suas hardware wallets e suas respectivas palavras mnemônicas (recovery seed), nunca mais terá como recuperar suas criptomoedas. Se criar uma carteira 3–5 multisig e acontecer algo com até dois dispositivos, ainda assim terá acesso aos seus fundos.

Complexidade de carteiras Multisig

Criar e fazer a gestão de uma carteira multisig não é algo simples e deve ser feito com planejamento e muito cuidado. Se uma hardware Wallet já requer a necessidade de criar redundância para seus mnemônicos (recovery seed), imagine a complexidade para monitorar e preservar dois ou mais dispositivos, suas respectivas seeds e ainda ter um protocolo seguro para herdeiros.

Ou seja, este tipo de protocolo não é recomendado para transações do dia a dia, a não ser que você esteja confortável com a necessidade de ter que aprovar cada transação em 3 ou mais dispositivos localizados em 3 lugares distintos como parte de sua rotina. Os lugares escolhidos podem ser na mesma cidade ou até em países distintos, dependendo do grau de complexidade e segurança que deseje conferir. Este formato pode ser mais indicado para fundos de longo prazo que exigem alto grau de segurança.

De qualquer forma, ainda poderá usar a carteira ativamente para adicionar fundos à mesma, já que para isso basta ter os endereços públicos sem a necessidade de verificar assinaturas.

Entre as características resultantes deste procedimento, podemos destacar que:

  • Um hacker não poderá mover seus fundos remotamente pois não tem acesso às hardware wallets para aprovar a transação e mesmo se conseguisse acesso remoto a uma (por falha temporária de segurança), não conseguiria simultaneamente às restantes;
  • Ao colocar seus dispositivos e respectivas recovery seed em diferentes geolocalizações de maneira segura, irá aumentar exponencialmente o tempo necessário e a logística necessária a um agressor.

Alternativas para usuários não técnicos

Sempre há alternativas. Mas como tudo na vida, há um trade-off.

Empresas como a 'CASA' e 'UNCHAINED-CAPITAL' já estão oferecendo carteiras multisig como um serviço. No caso da CASA, por exemplo, o setup é uma carteira com 5 assinaturas das quais 4 ficam com o cliente e uma com a empresa (a qual não tem nenhum acesso às suas chaves privadas). A chave que fica com a empresa é usada em casos de recuperação (como um backup) caso você perca duas das suas chaves. Como esta é apenas uma das cinco chaves, não há nada que a empresa possa fazer com os seus fundos sem a sua aprovação (são sempre necessárias 2–3 ou 3–5 chaves).

Modelo de segurança da empresa CASA

Quanto ao trade-off, um é o custo deste serviço que depende do plano escolhido. O outro é que a empresa requer alguns documentos de identificação…e isso diminui um pouco de sua privacidade.

Antes de começar

Se você entende os riscos e ainda assim quer criar e testar sua própria carteira multisig, siga adiante.

Cabe reiterar que cada indivíduo deve ter inteira responsabilidade por testar os softwares e hardwares envolvidos no seu protocolo. Desta forma, recomendamos que faça sua própria pesquisa e bateria de testes para verificar os procedimentos detalhados abaixo. Os bitcoinheiros não se responsabilizam por quaisquer erros ou falhas nos softwares, hardwares ou ainda pelo próprio usuário (você).

Use a Electrum para criar uma carteira Multisig

A Electrum foi criada por Thomas Voegtlin em novembro de 2011 e desde então tem recebido a contribuição de diversos programadores.

Antes de fazer o download

Verifique as assinaturas GPG

As assinaturas GPG são uma prova de que os arquivos distribuídos foram assinados pelo proprietário da chave de assinatura. Por exemplo, se este site foi comprometido e os arquivos Electrum originais foram substituídos, a verificação de assinatura falharia, porque o invasor não seria capaz de criar assinaturas válidas.

Para poder verificar as assinaturas GPG, você precisa importar a chave pública do signatário. Os binários Electrum são assinados com a chave pública da ThomasV. No Linux, você pode importar essa chave usando o seguinte comando: gpg — import ThomasV.asc. Aqui estão os tutoriais para Windows e MacOS. Ao importar uma chave, você deve verificar sua impressão digital usando fontes independentes, como aqui, ou usar a Web of Trust.

Verifique seu dispositivo Hardware Wallet

  • Compre apenas direto do fabricante;
  • Siga as instruções dadas pelo fabricante para conferir se o seu dispositivo está intacto e não foi violado durante a logística de entrega;

Prepare o seu computador

  • De preferência, utilize uma máquina exclusivamente para essa função;
  • Cubra a câmera do seu computador;
  • Isole a entrada de áudio;
  • Desligue o seu celular durante o procedimento e cubra a câmera do mesmo;
  • Desabilite o wifi e bluetooth de sua máquina;

Crie a carteira

Conforme comentamos anteriormente, precisamos decidir qual limite usar para a carteira com várias assinaturas, equilibrando conveniência e segurança.

Por exemplo, 3-de-3 multi-assinaturas com três carteiras de hardware do mesmo fornecedor que você mantém no mesmo local não aumentará a segurança e ainda por cima pode incrementar as chances de você perder o acesso aos seus fundos. O mais comum é 2–3 ou 3–5 com HWs de fabricantes diferentes e possivelmente uma wallet de outro tipo, por exemplo mobile wallet ou paper wallet.

Para este tutorial, vamos criar uma multisig 2–3 (requer duas assinaturas de três existentes).

Selecionando o tipo de carteira (Multisig)
Definindo o número de assinaturas existentes e a quantidade necessária para uma transação

Selecione as chaves que poderão assinar transações nesta carteira

Neste tutorial, primeiro foram geradas chaves privadas em cada Hardware Wallet da mesma forma que uma carteira convencional. Os backups das palavras 'recovery seed' para recuperação da carteira em caso de acidente ou perda da HW também foram realizados da maneira padrão.

Para carteiras multisig 3–5, é mais seguro não guardar nenhuma ‘recovery seed’, uma vez que são pontos de vulnerabilidade para qualquer carteira. Neste caso, deve-se usar as próprias assinaturas restantes dos demais dispositivos como recuperação em caso de perda de uma delas.

Em seguida, basta conectar sua HW no computador e selecionar a opção 'Use a hardware device'.

Use a carteira

Como fazer o backup

Se você perder algumas das hardware wallets e respectivas palavras de recuperação (recovery seed), não poderá recuperar seus fundos, a menos que tenha as XPUBs.

Por esse motivo, é essencial fazer o backup do seu arquivo da carteira Electrum. Você pode fazer isso ao acessar Arquivo → Salvar Cópia (Ctrl-Shift-S).

Como realizar transações

Quando você abre a carteira, a Electrum tentará se conectar às HWs plugadas.

Se não conseguir se conectar a um dispositivo, ou se o mesmo estiver indisponível no momento, poderá pular esse dispositivo. Será possível realizar transações desde que tenha o número necessário de dispositivos conectados.

Caso tenha apenas um dos dispositivos no local, poderá assinar a transação, exportar o arquivo e posteriormente completar com as assinaturas necessárias.

A carteira de múltiplas assinaturas, em sua maior parte, funciona como uma carteira normal da Electrum. A principal diferença é que a carteira irá gerar endereços começando com um 3, também conhecido como endereços P2SH.

Você pode reconhecê-las em carteiras que apóiam o SegWit. No entanto, esta carteira multi-assinatura não tem SegWit porque a Electrum não suporta carteiras multi-assinadas SegWit neste momento.

Como restaurar sua carteira multisig

Primeiro, será necessário configurar uma carteira multisig. Certifique-se de utilizar os mesmos parâmetros quando criou sua carteira. Caso contrário, será gerada uma nova carteira sem o acesso aos seus fundos.

Utilize os mesmos parâmetros de sua carteira original

Em seguida, comece a adicionar as co-assinaturas por meio de XPUBs, 'recovery seeds' ou mesmo Hardware Wallets. Não precisa se preocupar com a ordem em que irá adicionar as assinaturas pois a Electrum resolve isso.

Recuperação com as demais Hardware Wallets configuradas

Caso tenha criado uma carteira multisig 2–3 e tenha perdido um dos dispositivos, ainda poderá utilizar as duas HWs disponíveis para mover seus fundos para uma nova carteira multisig com novas chaves privadas. No caso de carteiras 3–5 terá uma margem de segurança um pouco maior, mas caso algo aconteça com um dos dispositivos já seria recomendado criar uma nova carteira com todas as chaves disponíveis para transferir seus fundos.

Recuperação com 'recovery seed'

Você também pode recuperar sua carteira Multisig com algumas ou todas as 'recovery seeds'.

É importante certificar-se de que a “BIP39 seed” está marcada em “Opções”.

Então poderá digitar sua 'recovery seed' e observará a mensagem “BIP39 (checksum: ok)”.

É importante alterar a derivação da carteira na próxima etapa. A Electrum usará o padrão para m / 44 ‘/ 0’ / 0 ‘(que é a derivação de carteira para a conta Bitcoin # 1).

Você precisa alterá-lo para m / 45 ‘/ 0 (que é a derivação de Multisig HWs).

Finalmente, você deve ver seus fundos. Contanto que tenha adicionado o número necessário de 'recovery seeds' ou de HWs, você poderá assinar novas transações.

Recomendações de segurança

  • Antes de transferir todos os seus fundos, realize teste com quantidades mínimas de valor;
  • Transfira um pequeno valor para sua nova carteira multisig;
  • Faça uma transferência deste valor para outra carteira (hot ou cold) para confirmar que sua carteira multisig está funcionando e que você tem controle dos fundos;
  • Realize uma simulação de que tenha perdido um ou mais dispositivos, deletando a carteira e recuperando a mesma com as "recovery seeds";
  • Confirme que conseguiu recuperar a carteira e que tem controle dos fundos por meio das chaves privadas;
  • Faça seu protocolo de segurança e backup (redundância) para recuperação da carteira em geolocalizações distintas;

Agradecimentos

Obrigado ao programador Saleem Rashid e seu tutorial, o qual utilizei como inspiração e referência para publicar esta versão em português.

Este artigo não seria possível sem as contribuições fundamentais dos bitcoinheiros Allan, Becas e Dov.

Sobre os Bitcoinheiros

Um grupo de apaixonados pelo Bitcoin que publica conteúdo educacional por meio de vídeos, podcasts e artigos sobre o tema em português. Nada de ICOs, projetos Blockchain, Altcoins ou qualquer outra distração promovida. Só Bitcoin, sem frescura e direto ao ponto.

--

--

Bitcoinheiros
bitcoinheiros

Tudo o que você sempre quis saber sobre Bitcoin, em português e sem frescura. Nada de ICOs, projetos Blockchain, Altcoins ou qualquer outra distração promovida.