SwapSpace – Trocas de criptomoedas cross-chain

Vulnerabilidades de Smart Contracts: DAO, DeFi e Ataque de Reentrada

John Martin

,

Atualizado: ,6 min

O espaço de finanças descentralizadas apresentou crescimento exponencial ao longo do último ano, passando de um total de US$ 540 milhões registrado em março do ano passado para mais de US$ 47,6 bilhões no momento do lançamento deste artigo.

O crescimento da esfera DeFi abriu novas oportunidades para usuários, desenvolvedores e para o setor como um todo, mas também trouxe novos riscos dos quais os investidores talvez não saibam, mas com os quais, ainda assim, precisam lidar.

A maioria dos protocolos DeFi é construída na blockchain Ethereum. Ethereum é a segunda maior criptomoeda em valor de mercado, perdendo apenas para o próprio Bitcoin. Graças ao Ethereum, em particular ao uso de smart contracts Turing-complete, os projetos de blockchain se tornaram mais programáveis.

Smart contracts são, na verdade, contratos autoexecutáveis. O código previsto nesses contratos permite realizar automaticamente transações e acordos predefinidos entre partes pseudônimas dentro de certos parâmetros e sem qualquer risco para a contraparte.

Esses contratos autoexecutáveis foram propostos pela primeira vez em 1994 por Nick Szabo, criador do Bit Gold, precursor do Bitcoin, e permitiram a criação de muitas aplicações descentralizadas que abriram novas oportunidades para os usuários de criptomoedas, seja a emissão de stablecoins construídas de acordo com um determinado algoritmo, a concessão de empréstimos de criptomoedas ou empréstimos com garantia em cripto. E isso é apenas uma pequena parte.

Exchanges descentralizadas com modelos de gestão descentralizados só se tornaram possíveis graças a esses smart contracts, como resultado dos quais surgiu um novo mundo digital, que deu origem a produtos como Binance Smart Chain, Polkadot e Avalanche.

Protocolos como Aave, Compound, Uniswap e 1 Inch.exchange permitem que os usuários obtenham rendimento sobre seus investimentos e negociem criptoativos e até instrumentos complexos, como derivativos descentralizados.

Todos esses novos produtos empolgantes criaram o setor DeFi mencionado acima, que está sacudindo o mundo financeiro e permitindo que instituições financeiras tradicionais ganhem dinheiro.

Esse novo território de possibilidades, como já mencionado, é controlado por código escrito pelos desenvolvedores de smart contracts. A maioria dos projetos DeFi tem código open source e até passa por revisão por pares e auditoria, enquanto outros, pelo contrário, não têm. Muitas vezes, até mesmo no código testado, podem ser encontradas vulnerabilidades que permitem o uso de vetores de ataque desconhecidos, o que leva a enormes perdas para empresas e usuários comuns.

Como as vulnerabilidades de smart contracts afetam os usuários?

Para garantir a segurança dos smart contracts, você só pode analisar todas as opções de sua execução. Ao executar smart contracts em linguagens Turing-complete, é preciso ter certeza de que o programa de computador não contém bugs, o que é quase impossível. Portanto, ao trabalhar com smart contracts ou criá-los, será necessário auditá-los.

Vulnerabilidades em smart contracts da Ethereum podem ter consequências catastróficas. Embora protocolos como Aave sejam geridos por profissionais e verificados regularmente, as falhas de segurança ainda representam o risco de um ataque hacker com a perda de criptoativos em valores enormes, afetando negativamente a confiança dos investidores no protocolo e, posteriormente, causando perdas financeiras para usuários/empresas e volatilidade de preço.

Essas vulnerabilidades decorrem da complexidade da linguagem nativa de smart contracts da Ethereum e de seu sistema contábil, que, ao contrário do sistema UTXO do Bitcoin, é muito mais flexível e, portanto, mais suscetível a vulnerabilidades adicionais e vetores de ataque.

Como Solidity e outras linguagens de smart contracts são novas e extremamente complexas, seria incorreto atribuir essas vulnerabilidades aos desenvolvedores.

Há mais de 80 plataformas DeFi construídas na Ethereum, com novos projetos sendo lançados toda semana. Os smart contracts que elas utilizam certamente terão vulnerabilidades, especialmente se não forem devidamente escritos e testados.

Uma investigação conduzida pela CyberNews revelou que quase 3.800 smart contracts da Ethereum tinham vulnerabilidades que permitiriam aos atacantes roubar pelo menos US$ 1 milhão em criptoativos. O estudo também mostrou que existem, no total, 13 tipos diferentes de vulnerabilidades, e quatro delas têm grande probabilidade de serem exploradas por hackers.

A popular plataforma Avalanche descobriu uma vulnerabilidade no início deste ano. Assim, durante o lançamento da nova exchange descentralizada Pangolin e a sobrecarga da rede, ocorreu um erro que levou a uma falha da emissão, o que causou pânico generalizado. Outras plataformas conhecidas, incluindo Solana, Flow, Zilliqa e Fantom, como se descobriu, também tinham erros em seus contratos.

DAO e ataque de reentrada

Reentrada é uma vulnerabilidade comum de smart contracts. Embora possa existir em smart contracts em várias plataformas de blockchain, ela é mais frequentemente associada à blockchain Ethereum.

Os ataques de reentrada são mais conhecidos pelo famoso hack da DAO em 2016 na blockchain Ethereum.

O primeiro e mais catastrófico erro em um smart contract ocorreu em 2016. A organização autônoma descentralizada (DAO) funcionava com smart contracts e havia arrecadado mais de US$ 150 milhões naquela época.

Um atacante desconhecido conseguiu retirar o ether (ETH) arrecadado por meio de crowdfunding. O valor dos danos chegou a mais de US$ 150 milhões.

Esse caso é o exemplo mais famoso de um ataque de Re-entry. Ataque de repetição significa que o atacante envia uma transação, como resultado da qual o contrato é executado repetidamente até que os recursos da conta do contrato se esgotem.

Se o projeto que solicitou financiamento recebeu apoio suficiente da comunidade DAO, o endereço Ethereum desse projeto podia sacar ether da DAO. Infelizmente para a DAO, o mecanismo de transferência enviou o ether para um endereço externo antes de atualizar seu estado interno e registrar que o saldo já havia sido transferido. Isso permitiu que os atacantes retirassem mais ether.

No total, 3,6 milhões de ETH foram retirados das carteiras da DAO. Agora, esses tokens valem mais de US$ 6,4 bilhões. O hack levou a um hard fork que dividiu a rede em duas partes: Ethereum e Ethereum Classic.

Enquanto alguns concordaram que o melhor era mitigar os danos e mover os fundos para endereços aos quais seus proprietários originais pudessem acessar, outros argumentaram que a imutabilidade da blockchain não deveria ser violada, caso contrário isso levaria a uma divisão tecnológica e ideológica dentro da comunidade.

A blockchain original da Ethereum, agora conhecida como Ethereum Classic, deixou os tokens roubados da DAO nas mãos de um hacker, optando pela imutabilidade, enquanto a Ethereum permitiu que a comunidade votasse e devolveu os fundos aos seus proprietários originais, colocando o consenso da blockchain em primeiro lugar.

Outros exemplos de ataques de reentrada além da DAO

No entanto, essas vulnerabilidades também foram encontradas em inúmeros hacks de smart contracts, incluindo vários protocolos DeFi.

Alguns exemplos de hacks DeFi recentes envolvendo vulnerabilidades de reentrada incluem:

  • Fei Protocol: Em abril de 2022, o protocolo Fei foi vítima de um hack de cerca de US$ 80 milhões viabilizado pelo uso de código de terceiros contendo vulnerabilidades de reentrada.
  • Paraluni: O hack do smart contract da Paraluni em março de 2022 usou uma vulnerabilidade de reentrada e uma verificação deficiente de dados não confiáveis do usuário para roubar tokens no valor de cerca de US$ 1,7 milhão.
  • Grim Finance: Em dezembro de 2021, a vulnerabilidade de reentrada na função safeTransferFrom do Grim Finance foi usada para obter tokens no valor de cerca de US$ 30 milhões.
  • The SIREN Protocol: A vulnerabilidade de reentrada nos smart contracts do pool AMM do protocolo SIREN foi usada em setembro de 2021 para tokens no valor de cerca de US$ 3,5 milhões.
  • CREAM Finance: Em agosto de 2021, um atacante usou um exploit de reentrada para entrar no sistema de integração do token AMP da CREAM Finance e roubar tokens no valor de cerca de US$ 18,8 milhões.

Esses estão longe de ser os únicos exemplos de hacks DeFi que exploraram vulnerabilidades durante a reentrada. Embora esse seja um risco antigo e amplamente divulgado, vulnerabilidades de reentrada ainda aparecem em novos smart contracts hoje.

Vamos resumir

A confiança tanto dos usuários comuns quanto dos grandes investidores no próprio conceito de DeFi dependerá de como a indústria cripto lidará com desafios desse tipo.

O que está acontecendo agora é natural e em breve levará a um aumento no nível de segurança dos projetos de blockchain, mas periodicamente ainda veremos notícias sobre ataques hackers bem-sucedidos.

Compartilhar:

Artigos relacionados

Curioso para saber mais?

Inscreva-se na nossa newsletter — fique informado e no controle.