||| Página inicial Grupo de SinaisPrivacidade Online Softwares Comprar Artigos|Tutoriais|Notícias Depoimentos Quem Somos Contato Doar

Como assinar transações offline monero na Feather Wallet - ITP logo
feather wallet offline-tx-signing

Como assinar transações offline monero na Feather Wallet


Transformando o Tails Linux na Hardware Wallet caseira mais segura no pendrive offline! Setup de cibersegurança defensiva com Monero! O Monero no Tails, utilizando a interface gráfica (GUI) ou a Feather Wallet, oferece uma segurança excepcional, considerando que o sistema operacional não possui acesso root e é roteado pela rede Tor. No entanto, isso não elimina completamente a possibilidade de ataques online ou via supply chain nas wallets Feather ou Monero GUI ou no próprio Tails! Uma solução avançada para aumentar a segurança é utilizar a assinatura offline de transações, conhecida como offline line signing wallet, offline Transaction Signing ou Sign Offline. Esse método oferece o mesmo nível de proteção que uma hardware wallet. A spendkey (seed) permanece em um computador offline (air-gapped) e nunca se conecta à internet. Já a view wallet, que serve apenas para visualizar os fundos, finaliza as transações assinadas offline no computador air-gapped. Tudo é feito utilizando dois sistemas Tails Linux ou outros sistemas Linux: um offline e outro online. Neste tutorial inédito com a Feather Wallet, vamos explicar como realizar esse processo usando arquivos em vez de QR codes. Além disso, detalharemos as medidas de segurança mais avançadas para criar um setup superior a qualquer hardware wallet, apesar de ser mais trabalhoso.


Criando Cold Wallet Air-Gapped no pc offline e View Wallet no pc online!

Feather Wallet - interface gráfica - offline Transaction Signing (sem QR code).
Usando 100% de outputs, key images, unsigned transaction e sign transaction 100% por arquivos transportados por pendrive! Sem nenhum cabo, sem câmeras, sem QR codes!
Esse guia considera que você já sabe como baixar e instalar a Feather Wallet no Linux pelo site https://featherwallet.org/ e criar uma wallet para usá-la no Tails!

Recomendação de Segurança Máxima

Use um PC sem placas Wi-Fi ou Bluetooth para ficar totalmente air-gapped (offline) para a cold wallet que assinará offline.
Use o PC dentro de uma Faraday Cage Room (avançado)!
A Coinbase usa Faraday Cage Rooms nas cold wallets: consulte mais informações em https://btctranscripts.com/andreas-antonopoulos/2019-02-01-andreas-antonopoulos-hardware-wallet-security.
No podcast Let?s Talk Bitcoin, Andreas Antonopoulos afirmou que mantinha suas hardware wallets em uma Faraday Cage Bag: https://shop.privacypros.io/blogs/billfodl/7-things-to-know-about-faraday-bags.

Configuração Básica

Dois computadores: sem placas Wi-Fi, Bluetooth etc...
Um offline e outro para a view wallet online.
SO: Tails de preferência!
O mesmo setup pode ser feito no Windows ou Mac, mas como são sistemas fechados, é mais seguro usar 100% Linux ou, de preferência, o Tails, que é open source!

Passos

Coloque fundos na sua wallet.
Crie uma cold wallet air-gapped no PC offline air-gapped: anote a seed offline em um papel ou codificada na escrita!
Codificação da escrita é um código ou setup personalizado que o usuário inventa, impedindo que invasores em sua casa coletem as anotações e roubem seus fundos! Se anotar normalmente, qualquer um que acessar ou encontrar a seed anotada em sua casa poderá roubar seus fundos! Você fica vulnerável fisicamente! Em certos países, agentes governamentais ditatoriais poderão achar suas seeds escondidas e roubar seus fundos!
Vá em /settings/disable all network (para operar com offline transaction). Sua wallet está pronta para gerar key images offline e assinaturas offline!

Criando View Wallet

Ainda na cold wallet no PC offline com Tails no modo persistente, vá em: wallet, keys e anote em um gerenciador de senhas como o KeePass de preferência para criptografar por segurança ou anote offline em papel (+ difícil):

Primary Address:
Secret View Key:

Salve o arquivo do KeePass e copie no PC com Tails Linux online para a view wallet. Instale a Feather Wallet nele, abra a Feather e vá em
restore wallet from keys.
Tipo de Wallet: View Only.
Coloque o primary address e secret view key anotados no KeePass!
Em Settings, Network, libere a internet! Desmarque offline!
Sincronize a wallet online.

Importante contra recuperação forense maliciosa por ataque físico! Se você anotar a secret view key e primary address em um pendrive ou HD externo sem criptografia, quem acessar o HD ou pendrive poderá recuperar o arquivo mesmo depois de deletado e poderão checar seu saldo Monero sempre! Por isso, é bom usar o KeePass ou um HD criptografado com a secret view key em um .txt!

Exportação e Importação de Arquivos

Os arquivos da view wallet para a cold wallet e vice-versa devem ser transportados, de preferência, em uma partição criptografada de um HD externo, mas também podem ser transportados em um pendrive criptografado para proteger contra acesso físico e recuperação forense!


Os 5 Passos para Realizar a Assinatura Offline e Enviar as XMR

Alerta: A funcionalidade de offline transaction signing na Feather só vai funcionar se for usada com uma carteira (wallet) que possua a spend key e que nunca tenha sincronizado ou nunca tenha se conectado à internet.
Se você sempre utilizou uma carteira XMR e já a sincronizou uma ou várias vezes, ao tentar usar essa mesma carteira para assinatura offline na Feather, provavelmente não funcionará.
Se você já utiliza uma wallet XMR que já ficou online, será necessário criar uma nova para operar 100% com assinatura offline e transferir os fundos para ela. Nesse caso, você precisará:
a. Crie uma carteira offline (offline wallet) e uma carteira somente para visualização (view wallet).
b. Sincronize apenas a view wallet.
c. Transfira os fundos da antiga carteira Monero para essa nova!

1. View Wallet Online - Ir em Enviar, Send, XMR Address, quantidade para enviar etc...
Anote a quantidade exata de enviar e o endereço para recolocar na view wallet se precisar!
Exporte os outputs para pendrive ou HD externo.

2. Offline Wallet - Em Settings, coloque Disable All Network.
Aparecerá as opções de Air-Gapped Transactions.
Importe o arquivo de output do pendrive ou HD externo.
Exporte o arquivo de key_image para pendrive ou HD externo.

3. View Wallet Online
Importe o key_image do pendrive ou HD externo.
Exporte o unsigned transaction para pendrive ou HD externo.

4. Offline Wallet
Importe o unsigned transaction do pendrive ou HD externo.
Assine a transação na offline wallet e exporte o signed transaction para pendrive ou HD externo.

5. View Wallet Online
Verifique endereço e quantidade preenchidas.
Em Send, Enviar, importe o signed transaction do pendrive ou HD externo.
Aguarde a transação finalizar!
6. Sempre faça nessa ordem!
7. Se o HD com Linux deu defeito, corrompeu os dados ou deu algum problema que impede o acesso às wallets, reinstale tudo e faça tudo na mesma ordem!


Por que Offline Transaction Signing com Tails é Mais Seguro que Hardware Wallet?

Hardware wallets podem ser interceptadas e trojanizadas durante o transporte.
Brechas podem estar sendo exploradas em nível de hardware, permitindo resgatar a seed e roubar os fundos por meio de ataques físicos posteriores (ex.: governos ou terceiros maliciosos).
Casos reais: https://livecoins.com.br/ledger-divulga-vulnerabilidade-nas-carteiras-trezor-mas-empresa-diz-que-usuarios-estao-seguros/.
Dark Skippy: https://darkskippy.com/.
Falha Trezor 3 pode permitir ataques via supply chain, comprometendo fundos mesmo que comprados da fonte oficial. Governos ou terceiros podem modificar o dispositivo durante o transporte, tornando-o vulnerável. Ser open source reduz alguns riscos, mas não elimina completamente as vulnerabilidades.

Tails offline air-gapped sem placas Wi-Fi e Bluetooth:
Sistema operacional (SO) open source.
Um ataque de supply chain seria via software e poderia ser descoberto rapidamente, pois muitos estão usando o Tails. Seria similar à backdoor da tarball no Linux, que foi identificada e corrigida em apenas dois dias!
Já um ataque de supply chain na Trezor poderia ser específico ou individual, direcionado a um grupo ou pessoa específica durante o transporte. Isso torna a identificação muito mais difícil!

As wallets offline e view wallet podem ser armazenadas em HDs criptografados e acessadas no Tails com a Feather Wallet instalada. Os arquivos das wallets podem ser apagados permanentemente com secure erase.
Já as hardware wallets utilizam mídia de armazenamento semelhante à tecnologia de SD cards e SSDs. Se uma backdoor for implantada na hardware wallet, ela pode permitir a extração forense de várias wallets criadas anteriormente. Isso ocorre porque essas mídias de armazenamento geralmente não aplicam secure erase de forma plena, deixando vestígios recuperáveis.
No caso de cold wallets offline criadas em HDs, todas podem ser aniquiladas com shred ou zero fill usando o comando `dd` no Linux ou Tails, impedindo qualquer recuperação forense. Apagar dados com segurança, em certos contextos, é mais seguro do que mantê-los criptografados. Com hardware wallets, devido às limitações da mídia de armazenamento, essa vantagem não é possível.
A offline wallet não requer sincronização e pode ser armazenada em um HD externo. Após o uso, o HD pode ser apagado com shred ou secure erase, garantindo que nenhum dado seja recuperável.
Isso impede que, em caso de acesso físico, o atacante tenha apenas a barreira da senha para acessar a wallet! Por exemplo, o LUKS1 ficou vulnerável, e era possível abrir o pendrive do Tails, mesmo criptografado, e acessar os dados. Por isso, o Tails passou a usar o LUKS2. Digamos que o LUKS2 também fique vulnerável; nesse caso, a única barreira seria a senha do arquivo da wallet! Em cenários sensíveis, é mais seguro apagar permanentemente os dados sem chance de recuperação. O uso de HDs é mais confiável nesse aspecto do que mídias similares ao SSD ou memória flash.
Além disso, a seed deve ser codificada na escrita para evitar que invasores coletem as anotações e roubem seus fundos!

Tails Amnésico com Cold Wallet em Cada Acesso e Setup Mais Seguro

O arquivo da cold wallet, que contém a seed da spendkey, é o mais sensível! Mesmo criptografado, é melhor que ele não esteja acessível a ninguém, nem por recuperação forense ou falhas como a do LUKS1 antigo.

Setup mais robusto para impedir o acesso aos arquivos das keys da cold wallet offline por acesso físico:
-> Gere a cold offline wallet para assinar as transações offline no diretório /tmp do Tails. Tudo ficará na memória RAM.
-> Entre com a seed, coloque a senha, faça a assinatura offline e, quando terminar, desligue o Tails!
-> Tudo desapareceu, pois estava na memória RAM e não foi gravado em nenhuma mídia de armazenamento, impedindo a recuperação dos arquivos pelas falhas mencionadas anteriormente.
-> Na próxima operação, você precisará fazer tudo de novo? Sim! Sempre gere a cold wallet em modo failsafe ou 100% na RAM, faça a operação e desligue o Tails!

Tails é programado contra cold boot attack:
Basta remover o pendrive, e tudo da memória RAM será aniquilado em segundos! O Tails é programado para isso!
Durante uma operação de offline transaction signing, sua moradia poderá ser invadida para tentar um cold boot attack e recuperar arquivos, senhas ou acessar seu dispositivo. No entanto, ao perceber o ataque iminente, basta remover o pendrive e os arquivos da cold wallet desaparecerão com o desligamento imediato do Tails.
O sistema anti cold boot attack do Tails não é garantido, mas foi projetado para neutralizar esse tipo de ataque.
Lembre-se: Sua seed precisa estar codificada na escrita para neutralizar ataques físicos e garantir que todo o setup funcione corretamente.
Com tudo isso, o arquivo da cold wallet ficará sempre seguro, pois ele não existirá após cada uso! Esse setup é trabalhoso, mas viável para máxima segurança e ideal para operar com wallets temporárias, principalmente quando você precisará impedir qualquer tipo de rastro.
Com hardware wallets convencionais, não há como fazer isso, pois quase nenhuma delas é amnésica como o Tails, e nenhuma está adaptada para neutralizar um cold boot attack.
Tails + offline transaction signing com cold wallet 100% na RAM é muito mais seguro que qualquer hardware wallet! Só não é conveniente e confortável!


Tails Não é Infalível: Riscos de Trojanização e Interceptação do Hardware do seu PC

Tails não é infalível se seu PC ou hardware foi trojanizado de fábrica ou interceptado.
Se você comprar um PC, monitor, cabos etc. pela internet, eles também podem ser interceptados no transporte e atacados a nível de hardware, assim como ocorre com hardware wallets!
Então, é importante que você tenha ciência de que estará seguro no PC offline para assinar transações Monero offline apenas se seu hardware estiver seguro! O ideal é montar um PC simples, sem placa Wi-Fi ou Bluetooth, e usá-lo em uma Faraday Cage Room para garantir que ele ficará 100% offline! Mesmo que o hardware tenha sido hackeado sofisticadamente para enviar sinais remotamente via RF, Wi-Fi ou Bluetooth, isso seria impedido por uma Faraday Cage Room! Esse é o contexto mais seguro!

Nenhum Sistema Operacional Pode Proteger Contra Ataques de BIOS e Firmware

O firmware inclui o BIOS ou UEFI e outros softwares armazenados em chips eletrônicos no computador. Todos os sistemas operacionais, incluindo o Tails, dependem do firmware para iniciar e funcionar, então nenhum sistema operacional pode proteger contra um ataque de firmware. Da mesma forma que um carro depende da qualidade da estrada em que está trafegando, os sistemas operacionais dependem de seu firmware.
Manter seu computador em um local seguro pode proteger contra alguns ataques de firmware, mas outros ataques de firmware podem ser realizados remotamente.

Referências e Fontes

Warnings: Tails is safe but not magic! (https://tails.net/doc/about/warnings/index.en.html)
LightEater Demo: Stealing GPG keys/emails in Tails via remote firmware infection (https://www.youtube.com/watch?v=sNYsfUNegEA)


Saiba mais tópicos avançados sobre o Tails e muito mais segredos: Clique aqui!

Se inscrever em nossos cursos gravados de anonimidade e segurança online avançados? Clique aqui!

Doar monero para ajudar no crescimento desse projeto: Clique aqui!

Contato:
Clique aqui