Euler Finance sofreu um ataque de empréstimo flash de 197 milhões de dólares. Segurança das Finanças Descentralizadas volta a acender um alerta.

robot
Geração do resumo em andamento

Euler Finance sofreu um 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 ataque de empréstimo flash significativo, resultando em perdas de aproximadamente 197 milhões de dólares. Este ataque envolveu 6 tipos diferentes de tokens, sendo um dos maiores eventos de segurança no espaço DeFi recentemente.

Análise de vulnerabilidades da Euler Finance: como sofrer um ataque de empréstimo flash, com perdas de 1,97 bilhõ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 depois implantou 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 staking no Protocolo Euler e receba 19,5 milhões de eDAI.

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

  3. Usar os restantes 10 milhões de DAI para pagar parte da dívida e destruir o dDAI correspondente.

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

  5. Doar 100 milhões de eDAI através da função donateToReserves, em seguida, acionar a liquidação e obter 310 milhões de dDAI e 250 milhões de eDAI.

  6. Por fim, foram retirados 38,9 milhões de DAI, devolvendo o principal do Empréstimos Flash de 30 milhões de DAI, com um lucro líquido de cerca de 8,87 milhões de DAI.

Análise de Vulnerabilidades da Euler Finance: Como sofrer um ataque de empréstimo flash, com perdas de 1,97 mil milhões de dólares!

Análise de vulnerabilidade da 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 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, resultando em uma perda de 197 milhões de dólares!

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

Análise de Vulnerabilidade da 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 vulnerabilidades do Euler Finance: como sofrer um ataque de empréstimo flash, perda de 197 milhões de dólares!

Causa da vulnerabilidade

O problema central deste ataque reside na ausência de verificações de liquidez necessárias na função donateToReserves do Euler Finance. Em comparação com outras funções-chave (como mint), donateToReserves não chama a função checkLiquidity para validar a situação dos ativos do usuário.

Normalmente, a checkLiquidity chamará o módulo RiskManager para garantir que a quantidade de eToken do usuário seja sempre maior do que a quantidade de dToken. No entanto, devido à função donateToReserves ter pulado esta etapa, o atacante conseguiu manipular sua própria conta para entrar em um estado que poderia ser liquidado, permitindo assim a realização do ataque.

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

Sugestões de Segurança

Para projetos DeFi, especialmente plataformas que envolvem funcionalidades de empréstimo, é necessário ter atenção especial aos seguintes pontos:

  1. Certifique-se de que todas as funções-chave incluam as verificações de segurança necessárias, especialmente a validação de liquidez.

  2. Realizar uma auditoria de segurança abrangente antes do lançamento do contrato, com foco em aspectos centrais como reembolso de fundos, deteção de liquidez e liquidação de dívidas.

  3. Realizar revisões de código e varreduras de vulnerabilidades regularmente, para identificar e corrigir rapidamente riscos potenciais.

  4. Estabelecer um mecanismo de gestão de riscos sólido e definir limites de empréstimo e limiares de liquidação razoáveis.

  5. Considere a introdução de medidas de segurança adicionais, como assinaturas múltiplas ou bloqueios de tempo, para evitar a rápida perda de grandes quantias de dinheiro.

Este incidente destaca novamente a importância da segurança em DeFi. As equipes de projeto devem continuar a reforçar a consciência de segurança e adotar medidas de proteção em múltiplos níveis para garantir a segurança dos ativos dos usuários. Ao mesmo tempo, os usuários que participam de projetos DeFi também devem manter-se alertas e entender os riscos potenciais.

EUL-0.36%
DEFI0.85%
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
  • 6
  • Repostar
  • Compartilhar
Comentário
0/400
DAOdreamervip
· 07-26 01:35
Manter a segurança em primeiro lugar, a auditoria é realmente muito importante.
Ver originalResponder0
StakeHouseDirectorvip
· 07-25 22:05
Mais um projeto foi levado embora. Escapuliu, escapuliu.
Ver originalResponder0
GasWastervip
· 07-23 02:23
O hacker malicioso apareceu novamente.
Ver originalResponder0
MemecoinResearchervip
· 07-23 02:19
analisando o sentimento... e já se foi
Ver originalResponder0
ForkThisDAOvip
· 07-23 02:14
Mais um que foi lançado sem passar pela verificação de segurança.
Ver originalResponder0
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)