Back to Blog

Como a BlockSec Recuperou Fundos DeFi Roubados: 3 Estudos de Caso

Phalcon
February 20, 2023
4 min read

Hacks de DeFi ainda estão acontecendo. Para os fundos roubados dos projetos DeFi, geralmente é difícil recuperá-los. Alguns projetos negociam com o hacker para oferecer uma recompensa e prometem abandonar as ações legais. Às vezes funciona, mas estabelece um mau exemplo. É como encorajar pessoas a hackear para obter uma recompensa, em vez de um discurso responsável.

A BlockSec adotou uma abordagem diferente para ajudar múltiplos projetos a recuperar seus fundos roubados. Além da maneira usual de rastrear o fluxo de fundos e cooperar com entidades centralizadas como exchanges, queremos compartilhar nossas três histórias de sucesso na recuperação de fundos roubados puramente por métodos técnicos, incluindo o recente Platypus Finance, TransitSwap, e Saddle Finance.

Platypus Finance: 2,4 Milhões de USD Recuperados

The Block tem uma boa matéria sobre como nossa recuperação de fundos para o Platypusdefi funcionou. Basicamente, o atacante cometeu um erro: não há como mover os fundos do contrato de ataque. Isso ocorre porque o atacante esqueceu de escrever a lógica de código para transferir os tokens do contrato de ataque.

No entanto, nossa equipe descobriu uma maneira de aproveitar o código existente no contrato de ataque para mover USDC do contrato para o contrato do projeto. Basicamente, o contrato do atacante possui uma função que, se invocada, faz com que o contrato de ataque aprove um número fixo de USDC para o contrato do projeto. Este código foi usado para fins de ataque. No entanto, podemos reutilizar essa lógica de código para aprovar o USDC para o contrato do projeto e, em seguida, atualizar o contrato do projeto (é um contrato proxy) para mover o USDC do contrato do atacante.

Avaliamos essa ideia com nosso PoC e compartilhamos as informações com o Platypusdefi. Trabalhamos em estreita colaboração com eles e o método funcionou! 2,4 milhões de USDC foram recuperados na seguinte transação.

TransitSwap: 246 mil USD Recuperados

O TransitSwap na BSC foi atacado em 1º de outubro de 2022. Algumas transações de ataque foram antecipadas por um Bot.

No entanto, descobrimos que este bot era suspeito de estar vulnerável à vulnerabilidade da ferramenta profanity. A vulnerabilidade é causada pela aleatoriedade insuficiente na geração da chave privada. Desenvolvemos uma ferramenta capaz de recuperar a chave privada de endereços vulneráveis dessa forma.

Recuperamos com sucesso a chave privada do bot. No entanto, os fundos estavam no contrato Bot, e não na EoA. Conseguimos descompilar o contrato e encontrar uma função que poderia ser usada para transferir os fundos.

Transferimos os fundos para o endereço oficial de recebimento de fundos da TransitFinance.

Leia mais sobre Como recuperamos os fundos roubados do TransitSwap (e BabySwap)

Saddle Finance: 3,8 Milhões de USD Recuperados

Para o Saddle Finance, adotamos outra abordagem para realizar o resgate. A ideia básica é monitorar o pool pendente do Ethereum, detectar a transação de ataque por meio do nosso sistema de pré-execução de transações Mopsus, bloquear o ataque sintetizando automaticamente uma transação de resgate que move os ativos vulneráveis para nossa conta segura e realizar um front-running da transação de ataque via FlashBot. A figura a seguir mostra a arquitetura.

A linha do tempo a seguir mostra como nosso sistema resgatou 3,8 milhões de USD para o Saddle Finance no final de abril de 2022. Em particular, nosso sistema concluiu todo o processo de detecção da transação de ataque e síntese automática da transação de resgate em menos de um segundo. Devolvemos todos os fundos resgatados ao Saddle Finance. Clique no link para a tx do hack original e nossa tx de resgate.

Leia mais: Protegendo a Web3 por meio da Prevenção Proativa de Ameaças

Resumo

Os três casos acima são apenas exemplos representativos. Na verdade, temos mais casos de sucesso no resgate de fundos.

Sempre acreditamos que a segurança do DeFi não pode ser resolvida por uma única metodologia. Não existe uma solução mágica. A BlockSec desenvolveu algumas ferramentas (e está desenvolvendo mais) e serviços para ajudar a proteger todo o ecossistema. Temos o Phalcon, um explorador de transações para Blockchain, serviço de auditoria de código de segurança (cobrindo Solidity, Rust, Go e Move) e serviços proativos de mitigação de ataques. Desenvolvemos algumas ferramentas para usuários de criptomoedas combaterem ataques de phishing, incluindo o MetaSleuth, uma ferramenta de análise de fundos em cripto, e o MetaSuites, uma extensão de navegador para exploradores de blockchain. Relatamos continuamente URLs de phishing e endereços para a MetaMask e a Etherscan. A BlockSec colaborou com parceiros incluindo Cronos, Forta, Tokenlon, KeyStone, Goplus e outros para proteger todo o ecossistema cripto.

Não hesite em nos contatar se tiver alguma dúvida.

Saiba mais sobre a BlockSec: Site | Documentação | Twitter | Blog | Grupo no TG