Pesquisadores da ZenGo, uma startup que desenvolve carteiras para criptomoedas, descobriram uma vulnerabilidade em algumas das principais carteiras de Bitcoin no mercado. Essa vulnerabilidade poderia ser explorada para realizar gastos duplos ou até mesmo bloquear completamente o uso da carteira. As informações são do CoinDesk.
A vulnerabilidade, que a ZenGo apelidou de BigSpender, permite que atacantes consigam realizar os ataques de gasto duplo ou simplesmente realizarem um ataque chamado de Brick, que inutiliza completamente a carteira.
Essa vulnerabilidade que pode ser explorada está justamente na função de Replace-By-Fee (RBF) do Bitcoin, uma função de segurança que permite que usuários troquem uma transação não confirmada por uma com taxa maior.
A função de RBF se tornou bem comum entre as transações do Bitcoin. Ela foi inicialmente proposta e aceita pela comunidade como uma forma de driblar o tempo de confirmação de transação com o pagamento de taxas mais altas.
De acordo com o CoinDesk, o CEO da ZenGo, Ouriel Ohayon, disse em um e-mail ao site:
“O BigSpender pode levar a perdas financeiras substanciais e em alguns casos, deixar a carteira da vítima completamente inutilizável com nenhuma forma de se protegerem. Por isso, ela pode ser classificada como um ataque de alta severidade.”
Segundo as informações, a ZenGo testou nove diferentes carteiras: a Ledger Live, Trust wallet, Exodus, Edge, Bread, Coinbase, Blockstream Green, Blockchain e Atomic Wallet. Desse grupo de teste, três estavam vulneráveis, Ledger, Bread e Edge.
No entanto, os pesquisadores destacaram que não testaram todas as carteiras disponíveis no mercado. Com um grupo de testes pequeno, é bem possível que as vulnerabilidades estejam em muitas outras carteiras.
Como é de praxe, a Ohayon avisou previamente as desenvolvedoras e deram um prazo de 90 dias para que a vulnerabilidade fosse corrigida antes de divulgarem o problema.
Como funciona o ataque através da vulnerabilidade nas carteiras
Esse caso tem uma vulnerabilidade bem especifica e que está diretamente ligada com a interfase visual e de usuário da carteira e não exatamente com a rede ou então com parte do código.
O ataque funciona de forma simples.
Os atacantes enviam um pagamento em Bitcoin para a vítima, mas coloca as taxas de transação muito baixas, garantindo que a transação não será confirmada rapidamente. Enquanto a transação está pendente, ela é cancelada.
Nas carteiras vulneráveis, essa transação pendente aparece como parte do saldo na carteira do usuário, o que faria com que eles pensassem que a transação tinha sido concluída. Em teoria, isso poderia enganar a pessoa a entregar produtos e serviços sem realmente ter recebido o dinheiro.
O ataque pode ser alavancado em um outro nível. Várias transações canceladas em sequência poderiam dessincronizar a carteira com o seu balanço real, travando o dispositivo.