Euler Finance foi alvo de um ataque de empréstimo flash de 197 milhões de dólares devido a uma vulnerabilidade na função donateToReserves.

robot
Geração de resumo em curso

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

No dia 13 de março de 2023, o projeto Euler Finance sofreu um grande ataque de empréstimo flash. De acordo com os dados de monitoramento on-chain, o atacante explorou uma vulnerabilidade no contrato do projeto e conseguiu roubar cerca de 197 milhões de dólares em fundos, envolvendo 6 tipos diferentes de tokens.

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

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, e em seguida, implementou dois contratos-chave: um para operações de empréstimo e outro para liquidação.

Os principais passos do ataque são os seguintes:

  1. Coloque 20 milhões de DAI em um contrato do Euler Protocol para obter 19,5 milhões de eDAI.

  2. Utilizando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, emprestar 195,6 milhões de eDAI e 200 milhões de dDAI.

  3. Utilizar os restantes 10 milhões de DAI para reembolsar parte da dívida e destruir a respetiva dDAI.

  4. Novamente emprestar a mesma quantidade de eDAI e dDAI.

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

  6. Por fim, retirou 38,9 milhões de DAI, devolveu 30 milhões de Empréstimos Flash, com um lucro líquido de cerca de 8,87 milhões de DAI.

Análise de vulnerabilidade do 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 ataque de empréstimo flash, perda de 197 milhões de dólares!

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

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

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

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

Análise de vulnerabilidades do 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 sofreu um ataque de empréstimo flash, resultando em uma perda de 1,97 bilhões de dólares!

Análise da causa da vulnerabilidade

A vulnerabilidade central deste ataque reside na falta de uma verificação de liquidez necessária na função donateToReserves do contrato Euler Finance. Em comparação com outras funções críticas (como a função mint), a função donateToReserves não executa a operação checkLiquidity, o que permite que o atacante manipule o estado da sua própria conta, tornando-o elegível para liquidação.

Normalmente, a função checkLiquidity chama o módulo RiskManager para garantir que o número de eTokens do usuário seja sempre maior que o número de dTokens. No entanto, devido à falta deste passo crucial na função donateToReserves, os atacantes conseguiram contornar o mecanismo de segurança e obter lucros indevidos.

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

Sugestões de Segurança

Para este tipo de ataque, as equipes de projetos de blockchain devem:

  1. Realizar uma auditoria de segurança abrangente antes do lançamento do contrato, assegurando a qualidade e segurança do código.

  2. Preste especial atenção a aspectos críticos como reembolso de fundos, detecção de liquidez e liquidação de dívidas em projetos de empréstimo.

  3. Certifique-se de que todas as funções que possam afetar o estado dos ativos dos usuários incluam os passos de verificação de segurança necessários.

  4. Realizar revisões de código e varreduras de vulnerabilidades regularmente, corrigindo prontamente os riscos potenciais.

  5. Considere a introdução de mecanismos de múltiplas assinaturas ou bloqueios temporais como medidas de segurança adicionais, para reservar tempo de amortecimento em situações de emergência.

Este incidente destaca novamente a importância da segurança dos contratos inteligentes. As equipas do projeto devem sempre priorizar a segurança, através de práticas de segurança contínuas e inovação tecnológica, para construir em conjunto um ecossistema Web3 mais seguro e fiável.

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

Ver original
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.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
liquidation_surfervip
· 07-11 22:36
Empréstimos Flash novamente teve problemas.
Ver originalResponder0
ZKSherlockvip
· 07-11 21:59
A auditoria de contratos não é rigorosa o suficiente
Ver originalResponder0
ResearchChadButBrokevip
· 07-10 21:58
É realmente difícil proteger contra falhas em contratos.
Ver originalResponder0
UnluckyMinervip
· 07-10 21:51
A revisão de código não é rigorosa.
Ver originalResponder0
ForumMiningMastervip
· 07-10 21:49
Outra vulnerabilidade foi explorada.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)