Euler Finance sofreu ataque de empréstimo flash com uma perda de quase 200 milhões de dólares

robot
Geração do resumo em andamento

O projeto Euler Finance sofreu um ataque de empréstimo flash, resultando em perdas de quase 200 milhões de dólares.

No dia 13 de março de 2023, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato, resultando em perdas de até 197 milhões de dólares. O atacante explorou a falha na função donateToReserves do contrato do projeto, que não tinha verificação de liquidez, para obter lucros maciços através de múltiplas operações.

Análise de vulnerabilidades da 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 pediu emprestado 30 milhões de DAI de uma plataforma de empréstimos flash e implementou dois contratos: contrato de empréstimo e contrato de liquidação.

  2. O atacante colocou 20 milhões de DAI emprestados em um contrato do Euler Protocol, recebendo 195 mil eDAI.

  3. Utilizando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, o atacante emprestou 1.956.000 eDAI e 2.000.000 dDAI.

  4. O atacante usou os 10 milhões de DAI restantes para pagar parte da dívida, destruiu a quantidade correspondente de dDAI e, em seguida, tomou emprestado novamente a mesma quantidade de eDAI e dDAI.

  5. Passos chave: O atacante chama a função donateToReserves, doa 1 milhão de eDAI, e em seguida liquida através da função liquidate, obtendo 3,1 milhões de dDAI e 2,5 milhões de eDAI.

  6. Por fim, o atacante extraiu 389 mil DAI, devolveu 300 mil DAI de empréstimos flash, e obteve um lucro final de 88,7 mil DAI.

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

Análise de Vulnerabilidade do Euler Finance: Como Sofrer um Ataque de Empréstimo Flash, Perda de 1,97 Bilhões de Dólares!

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

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

Análise de Vulnerabilidade do Euler Finance: Como Sofreu um ataque de empréstimo flash, com perdas de 1,97 milhões de dólares!

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

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

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

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

Causa da vulnerabilidade

A vulnerabilidade central deste ataque reside na falta de verificações de liquidez necessárias na função donateToReserves do contrato Euler Finance. Ao contrário de outras funções críticas como mint, a função donateToReserves não executa a operação checkLiquidity. Isso permite que os atacantes contornem as verificações de liquidez normais, criando artificialmente um estado que pode ser liquidado e, em seguida, completando a liquidação para obter lucro.

Normalmente, a função checkLiquidity chama o módulo RiskManager, garantindo que a quantidade de Etoken do usuário seja maior que a quantidade de Dtoken, a fim de manter a segurança do contrato. No entanto, devido à falta deste passo crítico na função donateToReserves, os atacantes conseguiram explorar essa vulnerabilidade para realizar ataques.

Análise de Vulnerabilidades da Euler Finance: Como sofrer um ataque de empréstimo flash, perda de 1,97 milhão de dólares!

Sugestões de Segurança

Para esse tipo de ataque, recomendamos que os projetos de blockchain:

  1. Realizar uma auditoria de segurança abrangente antes do lançamento do contrato, garantindo a segurança do contrato.

  2. Para projetos de empréstimo, é necessário prestar atenção especial aos aspectos críticos como reembolso de fundos, detecção de liquidez e liquidação de dívidas.

  3. Assegure-se de que todas as funções que possam afetar o estado dos ativos dos utilizadores incluam as verificações de segurança necessárias, como a verificação de liquidez.

  4. Realizar revisões e atualizações de código regularmente, corrigindo prontamente as vulnerabilidades identificadas.

  5. Estabelecer um mecanismo de resposta a emergências para que possa reagir e lidar rapidamente em caso de incidentes de segurança.

Ao adotar essas medidas, a equipe do projeto pode reduzir significativamente o risco de sofrer ataques semelhantes, aumentando a segurança geral do contrato.

EUL0.29%
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
  • 5
  • Repostar
  • Compartilhar
Comentário
0/400
WhaleWatchervip
· 08-11 16:40
Outra vez um idiota entrou no mercado.
Ver originalResponder0
Lonely_Validatorvip
· 08-10 08:22
Blockchain segurança agora está tão ruim? Sem palavras.
Ver originalResponder0
StakeWhisperervip
· 08-10 08:10
Outra armadilha de comer moeda
Ver originalResponder0
GweiWatchervip
· 08-10 07:58
Mais uma vez a plataforma é lançada sem verificar o contrato?
Ver originalResponder0
HalfBuddhaMoneyvip
· 08-10 07:54
Outro projeto a cair para zero... cão ligado
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)