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, um ataque de empréstimo flash contra a Euler Finance causou uma enorme perda de cerca de 197 milhões de dólares, envolvendo 6 tipos de tokens. Este ataque explorou uma vulnerabilidade na função donateToReserves do Etoken do projeto, que carecia de um mecanismo de verificação de liquidez necessário.
Análise do Processo de Ataque
O atacante primeiro obteve um empréstimo flash de 30 milhões de DAI de uma determinada plataforma de empréstimos, em seguida, implementou dois contratos-chave: um para operações de empréstimo e outro para liquidação. O processo de ataque é aproximadamente o seguinte:
Colocar 20 milhões de DAI em staking no Euler Protocol, recebendo 19,5 milhões de eDAI.
Utilizando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, emprestar cerca de 1,956 milhões de eDAI e 200 milhões de dDAI.
Usar os restantes 10 milhões de DAI para reembolsar parte da dívida e destruir o dDAI correspondente.
Emprestar novamente a mesma quantidade de eDAI e dDAI.
Doar 100 milhões de eDAI através da função donateToReserves e, em seguida, realizar uma operação de liquidação, obtendo 310 milhões de dDAI e 250 milhões de eDAI.
Por fim, foram retirados cerca de 38,9 milhões de DAI, e após a devolução do empréstimo flash, foi obtido um lucro de cerca de 8,87 milhões de DAI.
Origem da vulnerabilidade
O núcleo deste ataque reside na falta de verificações de liquidez necessárias na função donateToReserves. Em comparação com a função mint, a função donateToReserves não executa o passo checkLiquidity, que deveria chamar o módulo RiskManager para garantir que a quantidade de Etoken do usuário seja maior que a quantidade de Dtoken.
Esta negligência permitiu que os atacantes manipulassem o estado da sua conta, fazendo com que este se adequasse às condições para ser liquidado, e assim obtivessem lucros enormes através do processo de liquidação.
Recomendações de Segurança
Em relação a esse tipo de vulnerabilidade, os projetos DeFi, especialmente as plataformas de empréstimo, devem:
Reforçar a auditoria de segurança dos contratos, garantindo que todas as funções críticas incluam as verificações de segurança necessárias.
Preste especial atenção à segurança das funções principais, como reembolso de fundos, detecção de liquidez e liquidação de dívidas.
Implementar múltiplos mecanismos de segurança para evitar perdas em larga escala causadas por falhas de ponto único.
Realizar avaliações de segurança e testes de stress regularmente para identificar e corrigir potenciais riscos em tempo hábil.
Este incidente destaca novamente a importância da segurança dos contratos inteligentes e a necessidade de se manter vigilante no rápido desenvolvimento do campo DeFi. Os desenvolvedores dos projetos devem aprender com os erros e aprimorar continuamente as medidas de segurança para proteger os ativos dos usuários e manter o desenvolvimento saudável do ecossistema.
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.
10 Curtidas
Recompensa
10
4
Repostar
Compartilhar
Comentário
0/400
BloodInStreets
· 08-17 00:00
O mercado fraco percebeu que o fundo é uma Queda de 50%
Ver originalResponder0
BearMarketSunriser
· 08-16 18:41
Outra vulnerabilidade nos Empréstimos Flash. Eu ainda vou me deitar calmamente.
Euler Finance sofreu ataque de empréstimo flash com perda de quase 200 milhões de dólares.
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, um ataque de empréstimo flash contra a Euler Finance causou uma enorme perda de cerca de 197 milhões de dólares, envolvendo 6 tipos de tokens. Este ataque explorou uma vulnerabilidade na função donateToReserves do Etoken do projeto, que carecia de um mecanismo de verificação de liquidez necessário.
Análise do Processo de Ataque
O atacante primeiro obteve um empréstimo flash de 30 milhões de DAI de uma determinada plataforma de empréstimos, em seguida, implementou dois contratos-chave: um para operações de empréstimo e outro para liquidação. O processo de ataque é aproximadamente o seguinte:
Origem da vulnerabilidade
O núcleo deste ataque reside na falta de verificações de liquidez necessárias na função donateToReserves. Em comparação com a função mint, a função donateToReserves não executa o passo checkLiquidity, que deveria chamar o módulo RiskManager para garantir que a quantidade de Etoken do usuário seja maior que a quantidade de Dtoken.
Esta negligência permitiu que os atacantes manipulassem o estado da sua conta, fazendo com que este se adequasse às condições para ser liquidado, e assim obtivessem lucros enormes através do processo de liquidação.
Recomendações de Segurança
Em relação a esse tipo de vulnerabilidade, os projetos DeFi, especialmente as plataformas de empréstimo, devem:
Este incidente destaca novamente a importância da segurança dos contratos inteligentes e a necessidade de se manter vigilante no rápido desenvolvimento do campo DeFi. Os desenvolvedores dos projetos devem aprender com os erros e aprimorar continuamente as medidas de segurança para proteger os ativos dos usuários e manter o desenvolvimento saudável do ecossistema.