Euler Finance sofreu um ataque de 200 milhões de dólares através de Empréstimos Flash, com a vulnerabilidade dos contratos inteligentes sendo a raiz do problema.

robot
Geração do resumo em andamento

Euler Finance sofreu ataque de empréstimo flash, com perdas de quase 200 milhões de dólares.

Recentemente, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato inteligente, resultando em grandes perdas financeiras. Este artigo fará uma análise detalhada do incidente.

Análise de vulnerabilidades do Euler Finance: como sofrer um ataque de empréstimo flash, perdas de 1,97 bilhões de dólares!

Resumo do Evento

No dia 13 de março de 2023, a função donateToReserves do contrato Etoken do projeto Euler Finance carecia de uma verificação de liquidez necessária, sendo explorada por atacantes para realizar um ataque de empréstimo flash. Os atacantes, através de várias operações com diferentes moedas, causaram uma perda de aproximadamente 197 milhões de dólares, envolvendo 6 tipos de tokens. Atualmente, os fundos roubados ainda estão retidos na conta dos atacantes.

Análise de vulnerabilidades do Euler Finance: como sofrer um ataque de empréstimo flash, perda de 1,97 milhões de dólares!

Análise do Processo de Ataque

  1. O atacante primeiro tomou emprestado 30 milhões de DAI de uma plataforma de empréstimo flash e implantou um contrato de empréstimo e um contrato de liquidação.

  2. Através da função deposit, deposite 20 milhões de DAI no contrato do Euler Protocol, recebendo 19,5 milhões de eDAI.

Análise de Vulnerabilidades do Euler Finance: Como Sofrer um Ataque de Empréstimo Flash, Perda de 197 Milhões de Dólares!

  1. Utilizando a funcionalidade de alavancagem de 10x do Euler Protocol, emprestar 195.6 milhões de eDAI e 200 milhões de dDAI.

Análise de vulnerabilidade do Euler Finance: como sofrer um ataque de empréstimo flash, perda de 1,97 bilhões de dólares!

  1. Usar os restantes 10 milhões de DAI para reembolsar parte da dívida e destruir a correspondente dDAI, em seguida, emprestar novamente a mesma quantidade de eDAI e dDAI.

Análise de vulnerabilidades do Euler Finance: Como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

  1. Chamar a função donateToReserves para doar 100 milhões de eDAI, e em seguida liquidar através da função liquidate, obtendo 310 milhões de dDAI e 250 milhões de eDAI.

Análise de vulnerabilidade do Euler Finance: como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

  1. Por fim, através da função withdraw, foram retirados 38,9 milhões de DAI, devolvendo 300 mil DAI de Empréstimos Flash, resultando em um lucro líquido de 8,87 milhões de DAI.

Análise de vulnerabilidades da Euler Finance: como sofreu um ataque de empréstimo flash, perda de 1,97 bilhões de dólares!

Análise das causas da vulnerabilidade

Após a revisão do código, descobriu-se que o problema está na função donateToReserves. Em comparação com outras funções-chave, como mint, a função donateToReserves carece do importante passo checkLiquidity.

Análise de vulnerabilidades do Euler Finance: como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

A função checkLiquidity geralmente chamará o módulo RiskManager para verificar o usuário, garantindo que a quantidade de Etokens seja maior do que a quantidade de Dtokens. Como a função donateToReserves não executa essa verificação, o atacante consegue utilizar algumas funcionalidades do protocolo para se colocar primeiro em um estado que pode ser liquidado, e depois completar a liquidação para obter lucro.

Análise de Vulnerabilidade do Euler Finance: Como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

Recomendações de Segurança

Em relação a este tipo de ataque, a equipe do projeto deve prestar atenção aos seguintes pontos:

  1. Antes de o contrato ser lançado, deve ser realizada uma auditoria de segurança abrangente para garantir a segurança do contrato.

  2. Projetos de empréstimo devem prestar especial atenção a aspectos chave como reembolso de fundos, detecção de liquidez e liquidação de dívidas.

  3. Todas as funções que possam afetar o estado dos ativos dos usuários devem incluir os mecanismos de verificação de segurança necessários.

  4. Realizar regularmente revisões de código e um programa de recompensas por vulnerabilidades, para identificar e corrigir rapidamente ameaças potenciais.

  5. Estabelecer um mecanismo de resposta a emergências, para que, uma vez ocorrido um ataque, sejam rapidamente tomadas medidas de remediação.

Análise de vulnerabilidade da Euler Finance: como sofreu um ataque de empréstimo flash, perda de 197 milhões de dólares!

Com o constante desenvolvimento dos projetos DeFi, as questões de segurança tornam-se cada vez mais importantes. As equipes dos projetos devem manter-se sempre alertas e adotar medidas de proteção abrangentes para garantir a segurança dos ativos dos usuários.

Análise de vulnerabilidades da Euler Finance: como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

EUL6.48%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 3
  • Compartilhar
Comentário
0/400
BagHolderTillRetirevip
· 07-24 17:19
Brincar com projetos hardcore não é melhor do que comprar na baixa BTC comigo.
Ver originalResponder0
RadioShackKnightvip
· 07-22 00:56
Outra idiota foi feita de parva.
Ver originalResponder0
Blockblindvip
· 07-22 00:52
Outra RATS venenosa apareceu.
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)