Euler Finance sofreu um ataque de empréstimo flash de 197 milhões de dólares, com a vulnerabilidade da função donateToReserves como causa do desastre.

robot
Geração de resumo em curso

Análise do incidente de vulnerabilidade da Euler Finance: ataque de empréstimo flash leva a uma perda de 197 milhões de dólares

Em 13 de março de 2023, o projeto Euler Finance sofreu um grande incidente de segurança. De acordo com os dados de monitoramento na blockchain, devido a uma vulnerabilidade de verificação de liquidez na função donateToReserves do Etoken, o projeto foi alvo de um ataque de empréstimo flash. O atacante, através de várias operações com diferentes moedas, causou uma perda colossal de até 197 milhões de dólares, envolvendo 6 tipos de tokens. Atualmente, esses fundos ainda permanecem na conta do atacante.

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 do Processo de Ataque

  1. O atacante primeiro obteve um Empréstimos Flash de 30 milhões de Dai de uma plataforma de empréstimos, e em seguida, implantou dois contratos: um para empréstimos e o outro para liquidação.

  2. O atacante colocou 20 milhões de Dai emprestados em um contrato do Euler Protocol, obtendo cerca de 19,5 milhões de eDAI.

  3. Utilizando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, o atacante pediu emprestado 195,6 milhões de eDAI e 200 milhões de dDAI.

  4. O atacante utiliza os 10 milhões de DAI restantes para pagar parte da dívida e queimar a quantidade correspondente de dDAI, em seguida, volta a emprestar 195,6 milhões de eDAI e 200 milhões de dDAI.

  5. Passos-chave: o atacante chama a função donateToReserves, doando 10 vezes o valor do capital a ser reembolsado, ou seja, 100 milhões de eDAI. Em seguida, o atacante aciona a função de liquidação, obtendo 310 milhões de dDAI e 250 milhões de eDAI.

  6. Por fim, o atacante extraiu 38,9 milhões de Dai, devolveu 30 milhões de Empréstimos Flash e lucrou cerca de 8,87 milhões de Dai.

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 Vulnerabilidade do Euler Finance: Como Sofrer um Ataque de Empréstimo Flash, Perda de 1.97 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 da vulnerabilidade do Euler Finance: como sofreu 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 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 sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

Análise de Vulnerabilidade da Euler Finance: Como Sofreu um ataque de empréstimo flash, com uma perda de 197 milhõ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 das causas da vulnerabilidade

O problema central deste ataque reside na função donateToReserves. Comparada a outras funções críticas (como a função mint), a função donateToReserves carece de um passo crucial: checkLiquidity.

A função checkLiquidity chama o módulo RiskManager para verificar o usuário, garantindo que o Etoken seja maior que o Dtoken, assegurando assim a situação de liquidez do usuário. Normalmente, essa verificação é necessária a cada operação. No entanto, a função donateToReserves carece deste passo, permitindo que atacantes se coloquem em um estado que pode ser liquidado e, em seguida, realizem a operação de liquidação.

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

Sugestões de Segurança

Para vulnerabilidades desse tipo, recomendamos que as equipes de projeto realizem uma auditoria de segurança abrangente antes do lançamento, para garantir a segurança do contrato. Para projetos de empréstimo, é especialmente importante prestar atenção aos seguintes aspectos:

  1. A integridade do mecanismo de reembolso de fundos
  2. Abrangência da detecção de liquidez
  3. Segurança do processo de liquidação de dívidas

Só através de auditorias de segurança rigorosas e avaliações de risco abrangentes, é possível minimizar a probabilidade de ocorrência de eventos de segurança semelhantes, garantindo a segurança dos fundos do projeto e dos usuários.

EUL0.92%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 3
  • Partilhar
Comentar
0/400
AirdropChaservip
· 12h atrás
fazer as pessoas de parvas fazer as pessoas de parvas todos os dias
Ver originalResponder0
DefiSecurityGuardvip
· 12h atrás
*suspiro* mais um dia, outro protocolo rekt pela vulnerabilidade básica donateToReserves... chamei isso há meses, para ser honesto. lembrete crítico: SEMPRE sanitize as verificações de liquidez, pelo amor de Deus. esses erros amadores continuam a custar 9 dígitos, que raiva.
Ver originalResponder0
GasGrillMastervip
· 12h atrás
Irmão, essa defesa básica não está a par, é mesmo fraca.
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)