Falha 'Red Pill' na Coinbase Wallet permitia ataques evitarem detecção
22 de Março de 2023

A carteira Coinbase e outros aplicativos descentralizados de criptomoedas (dapps) foram encontrados vulneráveis a "ataques de pílula vermelha", um método que pode ser usado para esconder comportamentos maliciosos de contratos inteligentes das medidas de segurança.

A Coinbase é uma das principais exchanges de criptomoedas que oferece um aplicativo de carteira cripto para usuários armazenarem, gerenciarem e interagirem com uma ampla variedade de ativos digitais que podem ser adquiridos na plataforma, incluindo Bitcoin, Ethereum e tokens ERC-20.

Pesquisadores de segurança da ZenGo Wallet descobriram que dapps, incluindo a Coinbase Wallet, estavam vulneráveis a um novo ataque que permite que contratos inteligentes escondam comportamentos maliciosos durante simulações de transações.

Isso faz com que o usuário acredite que a transação será segura e permita que ela continue, apenas para descobrir mais tarde que o contrato inteligente roubou seus ativos.

A vulnerabilidade foi relatada à Coinbase, que desde então abordou os problemas de segurança relatados e concedeu à ZenGo Wallet várias recompensas por bugs para sua divulgação responsável.

Os contratos inteligentes Web3 são programas que executam automaticamente quando uma criptomoeda é realizada, permitindo que os desenvolvedores tenham uma ampla variedade de funcionalidades para sites e ativos cripto.

Por exemplo, os contratos inteligentes podem ser usados para enviar automaticamente uma NFT para alguém após o recebimento de um pagamento, "taxar" usuários por vender um ativo muito cedo após a compra ou escrever automaticamente conteúdo em um site com base na transação.

Basicamente, qualquer coisa que possa ser programada pode ser executada pelo contrato inteligente.

No entanto, atores de ameaças também usam contratos inteligentes por motivos maliciosos, usando-os para roubar criptomoedas enviadas ou esvaziar uma carteira de ativos.

Essas solicitações de assinatura de contrato maliciosas são difíceis de distinguir das legítimas, tornando desafiador para os detentores de criptomoedas navegar pelos perigos.

Para evitar esses ataques, os desenvolvedores de dapps introduziram soluções de transações simuladas para simular a assinatura de uma transação e prever o resultado antes que o usuário a aprove.

O resultado dessas simulações é então apresentado ao usuário, permitindo que eles vejam o que acontecerá e decidam se desejam permitir que a transação continue.

No entanto, como destaca o relatório da ZenGo Wallet, alguns contratos inteligentes maliciosos podem detectar quando estão sendo simulados e demonstrar comportamento inautêntico para parecer benigno ou lucrativo para o alvo, enganando assim o sistema de segurança de emulação web3.

Os analistas explicam que os atores de ameaças poderiam implementar "pílulas vermelhas" em contratos maliciosos para alterar seu comportamento quando simulados e roubar dinheiro dos alvos quando aprovados na realidade.

Este ataque é realizado preenchendo variáveis em um contrato inteligente com dados "seguros" durante as simulações e, em seguida, trocando-os por dados "maliciosos" durante uma transação ao vivo.

Isso faria com que uma simulação mostrasse um contrato inteligente como seguro durante a simulação, mas durante uma transação ao vivo, ele roubaria a criptomoeda dos usuários.

"A instrução 'COINBASE' contém o endereço do minerador atual do bloco.

Como durante a simulação não há bloco real e, portanto, nenhum minerador, algumas implementações de simulação simplesmente o definem como o endereço nulo (endereço de todos os zeros)", explica o relatório da ZenGo.

"Portanto, um contrato inteligente malicioso pode usar essa 'pílula vermelha' do 'COINBASE' da seguinte maneira: pedir aos usuários que enviem algumas moedas nativas para o contrato, se COINBASE for zero (o que significa simulação em Polygon), o contrato enviará de volta algumas moedas em troca, tornando a transação potencialmente lucrativa para o usuário quando a carteira a simula".

"Entretanto, quando o usuário realmente envia a transação na cadeia, COINBASE é preenchido com o endereço não nulo do minerador atual e o contrato simplesmente pega as moedas enviadas".

Os pesquisadores também divulgaram o seguinte vídeo para demonstrar esse ataque.

Observe que a simulação indica que o usuário receberá 0,016 WETH (US$ 30) se aprovar a solicitação de transação.

No entanto, eles não recebem nada em troca ao realizar a transação ao vivo.

Ao explorar esses cenários de "ataques de pílula vermelha", a ZenGo Wallet encontrou seis dapps de carteira de criptomoedas vulneráveis à exploração.

Esses são a carteira Coinbase, Rabby Wallet, Blowfish, PocketUniverse, Fire Extension e uma extensão não nomeada que ainda não corrigiu o problema.

Todos os outros fornecedores mencionados acima implementaram correções em sua simulação de transação logo após receberem o relatório da ZenGo Wallet.

A correção para esse ataque é parar de usar valores arbitrários para variáveis vulneráveis, impedindo seu uso como "pílulas vermelhas" em contratos maliciosos.

Publicidade

Pentest do Zero ao Profissional

O mais completo curso de Pentest e Hacking existente no Brasil, ministrado por instrutores de referência no mercado. Oferece embasamento sólido em computação, redes, Linux e programação. Passe por todas as fases de um Pentest utilizando ambientes realísticos. Se prepare para o mercado através da certificação SYCP. Saiba mais...