Euler Finance sofreu um ataque de empréstimo flash com perdas de 1,97 bilhões de dólares
No dia 13 de março, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato inteligente, resultando em perdas de até 197 milhões de dólares. Este ataque envolveu 6 tipos de tokens e é um dos maiores eventos de ataque DeFi recentes.
Análise do Processo de Ataque
O atacante primeiro obteve um empréstimo flash de 30 milhões de DAI de uma plataforma de empréstimos, depois implementou o contrato de empréstimo e o contrato de liquidação. Em seguida, depositou 20 milhões de DAI no Euler Protocol para obter 19,5 milhões de eDAI.
Utilizando a alavancagem de 10x do Euler Protocol, o atacante tomou emprestado 195.6 milhões de eDAI e 200 milhões de dDAI. Em seguida, usou os 10 milhões de DAI restantes para pagar parte da dívida e destruir a quantidade correspondente de dDAI, emprestando novamente a mesma quantidade de eDAI e dDAI.
O passo chave é chamar a função donateToReserves para doar 100 milhões de eDAI, em seguida, liquidar através da função liquidate para obter 310 milhões de dDAI e 250 milhões de eDAI. Por fim, retirar 38,9 milhões de DAI, devolver 30 milhões de Empréstimos Flash, com um lucro líquido de cerca de 8,87 milhões de DAI.
Análise das causas da vulnerabilidade
A vulnerabilidade existe na função donateToReserves da Euler Finance. Ao contrário de outras funções como mint, a donateToReserves não possui o passo crucial de checkLiquidity. Isso permite que os usuários contornem a verificação de liquidez, criando artificialmente condições de liquidação e lucrando com isso.
Normalmente, a checkLiquidity chamará o módulo RiskManager para verificar se o eToken do usuário é maior que o dToken, a fim de garantir a saúde da conta. A falta deste passo permite que os atacantes manipulem o estado de suas contas, levando a liquidações indevidas.
Sugestões de Segurança
Para ataques desse tipo, os projetos DeFi devem se concentrar nos seguintes aspectos:
Realizar uma auditoria de segurança abrangente antes do lançamento do contrato, com especial atenção às fases críticas como reembolso de fundos, verificação de liquidez e liquidação de dívidas.
Adicionar as verificações de segurança necessárias em todas as funções que possam afetar o estado dos ativos dos usuários.
Realizar revisões de código regularmente, para identificar e corrigir potenciais vulnerabilidades a tempo.
Estabelecer um mecanismo de gestão de riscos eficaz, definindo limites de empréstimo e limiares de liquidação razoáveis.
Considerar a introdução de mecanismos como assinaturas múltiplas para aumentar a dificuldade de ataque.
Com o contínuo desenvolvimento do ecossistema DeFi, as equipes dos projetos precisam dar mais atenção à segurança dos contratos inteligentes e adotar medidas de proteção abrangentes para minimizar esses riscos.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
19 Curtidas
Recompensa
19
8
Compartilhar
Comentário
0/400
rekt_but_not_broke
· 07-07 15:13
Vulnerabilidades fazem as pessoas de parvas e atingem um novo pico.
Ver originalResponder0
Layer2Observer
· 07-07 04:02
Mais uma rodada de exploração de vulnerabilidades em contratos, o código nunca engana.
Ver originalResponder0
GasFeeWhisperer
· 07-06 16:17
contratos inteligentes também não são inteligentes.
Ver originalResponder0
ForeverBuyingDips
· 07-06 16:16
fazer as pessoas de parvas fazer as pessoas de parvas fazer as pessoas de parvas Outra vez é a época da colheita.
Ver originalResponder0
ser_we_are_ngmi
· 07-06 16:16
Foi novamente derrubado por Empréstimos Flash.
Ver originalResponder0
TradFiRefugee
· 07-06 16:12
Finanças Descentralizadas uma surpresa três vezes ao dia
Ver originalResponder0
TokenBeginner'sGuide
· 07-06 16:11
Pequeno lembrete: a importância da segurança dos contratos inteligentes foi novamente comprovada. Os dados mostram que 85% dos projetos não realizaram uma auditoria completa antes do lançamento.
Euler Finance sofreu ataque de empréstimo flash de 197 milhões de dólares, as Finanças Descentralizadas soam o alarme de segurança novamente.
Euler Finance sofreu um ataque de empréstimo flash com perdas de 1,97 bilhões de dólares
No dia 13 de março, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato inteligente, resultando em perdas de até 197 milhões de dólares. Este ataque envolveu 6 tipos de tokens e é um dos maiores eventos de ataque DeFi recentes.
Análise do Processo de Ataque
O atacante primeiro obteve um empréstimo flash de 30 milhões de DAI de uma plataforma de empréstimos, depois implementou o contrato de empréstimo e o contrato de liquidação. Em seguida, depositou 20 milhões de DAI no Euler Protocol para obter 19,5 milhões de eDAI.
Utilizando a alavancagem de 10x do Euler Protocol, o atacante tomou emprestado 195.6 milhões de eDAI e 200 milhões de dDAI. Em seguida, usou os 10 milhões de DAI restantes para pagar parte da dívida e destruir a quantidade correspondente de dDAI, emprestando novamente a mesma quantidade de eDAI e dDAI.
O passo chave é chamar a função donateToReserves para doar 100 milhões de eDAI, em seguida, liquidar através da função liquidate para obter 310 milhões de dDAI e 250 milhões de eDAI. Por fim, retirar 38,9 milhões de DAI, devolver 30 milhões de Empréstimos Flash, com um lucro líquido de cerca de 8,87 milhões de DAI.
Análise das causas da vulnerabilidade
A vulnerabilidade existe na função donateToReserves da Euler Finance. Ao contrário de outras funções como mint, a donateToReserves não possui o passo crucial de checkLiquidity. Isso permite que os usuários contornem a verificação de liquidez, criando artificialmente condições de liquidação e lucrando com isso.
Normalmente, a checkLiquidity chamará o módulo RiskManager para verificar se o eToken do usuário é maior que o dToken, a fim de garantir a saúde da conta. A falta deste passo permite que os atacantes manipulem o estado de suas contas, levando a liquidações indevidas.
Sugestões de Segurança
Para ataques desse tipo, os projetos DeFi devem se concentrar nos seguintes aspectos:
Realizar uma auditoria de segurança abrangente antes do lançamento do contrato, com especial atenção às fases críticas como reembolso de fundos, verificação de liquidez e liquidação de dívidas.
Adicionar as verificações de segurança necessárias em todas as funções que possam afetar o estado dos ativos dos usuários.
Realizar revisões de código regularmente, para identificar e corrigir potenciais vulnerabilidades a tempo.
Estabelecer um mecanismo de gestão de riscos eficaz, definindo limites de empréstimo e limiares de liquidação razoáveis.
Considerar a introdução de mecanismos como assinaturas múltiplas para aumentar a dificuldade de ataque.
Com o contínuo desenvolvimento do ecossistema DeFi, as equipes dos projetos precisam dar mais atenção à segurança dos contratos inteligentes e adotar medidas de proteção abrangentes para minimizar esses riscos.