O projeto Euler Finance foi alvo de ataque de empréstimo flash, com perdas de quase 200 milhões de dólares.
No dia 13 de março, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato inteligente, resultando em uma perda de cerca de 197 milhões de dólares. Este incidente envolveu 6 tipos de tokens, sendo um dos maiores ataques DeFi recentes.
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, em seguida, implementou dois contratos, um para empréstimos e outro para liquidações. O ataque é principalmente dividido nas seguintes etapas:
Colocar 20 milhões de DAI em staking no Euler Protocol para obter 19,5 milhões de eDAI.
Usando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, emprestar 195,6 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 a correspondente dDAI, e depois emprestar novamente a mesma quantidade de eDAI e dDAI.
Doar 100 milhões de eDAI através da função donateToReserves e executar imediatamente a operação de liquidação, obtendo 310 milhões de dDAI e 250 milhões de eDAI.
Finalmente, retirei 38,9 milhões de DAI e, após reembolsar o Empréstimos Flash, obtive um lucro de cerca de 8,87 milhões de DAI.
Causa da vulnerabilidade
A vulnerabilidade central deste ataque reside na função donateToReserves do Euler Protocol, que carece das verificações de liquidez necessárias. Em comparação com outras funções críticas como mint, a função donateToReserves não chama checkLiquidity para a validação da liquidez do usuário. Isso permite que o atacante manipule o estado da sua conta de forma a satisfazer as condições para ser liquidado, possibilitando assim a execução do ataque.
A função checkLiquidity geralmente chama o módulo RiskManager, garantindo que a quantidade de Etokens do usuário seja maior do que a quantidade de Dtokens. No entanto, devido ao fato de a função donateToReserves ter pulado essa etapa, os atacantes conseguiram explorar essa vulnerabilidade para obter lucros enormes.
Sugestões de Segurança
Em relação a este tipo de ataque, os projetos DeFi devem prestar atenção especial aos seguintes pontos:
Reforçar a auditoria de segurança dos contratos inteligentes, com especial atenção a aspectos críticos como reembolso de fundos, deteção de liquidez e liquidação de dívidas.
Certifique-se de que todas as funções que envolvem operações de ativos dos usuários incluam as verificações de segurança necessárias.
Realizar regularmente auditorias de código e programas de recompensas por vulnerabilidades, para identificar e corrigir riscos potenciais de forma oportuna.
Estabelecer um mecanismo de resposta a emergências, capaz de responder rapidamente a possíveis eventos de segurança.
Este evento enfatiza novamente a importância da segurança dos projetos DeFi. Com o contínuo desenvolvimento do setor, as equipes dos projetos precisam prestar mais atenção ao design e implementação seguros dos contratos inteligentes, a fim de proteger a segurança dos ativos dos usuários.
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.
13 gostos
Recompensa
13
9
Republicar
Partilhar
Comentar
0/400
MainnetDelayedAgain
· 08-14 02:16
De acordo com a base de dados, este é o 13º projeto a ser ensinado a ser uma pessoa este ano.
Ver originalResponder0
AirdropHunter
· 08-13 12:46
Fui novamente apanhado.
Ver originalResponder0
BearMarketGardener
· 08-12 05:01
Outro enviado
Ver originalResponder0
OvertimeSquid
· 08-12 01:52
Mais uma vulnerabilidade de contrato?
Ver originalResponder0
GasFeeNightmare
· 08-11 08:12
Mais um grande projeto fracassado.
Ver originalResponder0
SigmaBrain
· 08-11 08:11
Já quebrou os 200 milhões outra vez, muito brutal.
Ver originalResponder0
LiquidityWitch
· 08-11 08:09
mmm... a observar as artes sombrias dos flash loans a reclamar outra alma. o grimório proibido ataca novamente
Euler Finance sofreu um ataque de empréstimo flash, com uma perda de quase 200 milhões de dólares.
O projeto Euler Finance foi alvo de ataque de empréstimo flash, com perdas de quase 200 milhões de dólares.
No dia 13 de março, o projeto Euler Finance sofreu um ataque de empréstimo flash devido a uma vulnerabilidade no contrato inteligente, resultando em uma perda de cerca de 197 milhões de dólares. Este incidente envolveu 6 tipos de tokens, sendo um dos maiores ataques DeFi recentes.
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, em seguida, implementou dois contratos, um para empréstimos e outro para liquidações. O ataque é principalmente dividido nas seguintes etapas:
Colocar 20 milhões de DAI em staking no Euler Protocol para obter 19,5 milhões de eDAI.
Usando a funcionalidade de alavancagem de 10 vezes do Euler Protocol, emprestar 195,6 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 a correspondente dDAI, e depois emprestar novamente a mesma quantidade de eDAI e dDAI.
Doar 100 milhões de eDAI através da função donateToReserves e executar imediatamente a operação de liquidação, obtendo 310 milhões de dDAI e 250 milhões de eDAI.
Finalmente, retirei 38,9 milhões de DAI e, após reembolsar o Empréstimos Flash, obtive um lucro de cerca de 8,87 milhões de DAI.
Causa da vulnerabilidade
A vulnerabilidade central deste ataque reside na função donateToReserves do Euler Protocol, que carece das verificações de liquidez necessárias. Em comparação com outras funções críticas como mint, a função donateToReserves não chama checkLiquidity para a validação da liquidez do usuário. Isso permite que o atacante manipule o estado da sua conta de forma a satisfazer as condições para ser liquidado, possibilitando assim a execução do ataque.
A função checkLiquidity geralmente chama o módulo RiskManager, garantindo que a quantidade de Etokens do usuário seja maior do que a quantidade de Dtokens. No entanto, devido ao fato de a função donateToReserves ter pulado essa etapa, os atacantes conseguiram explorar essa vulnerabilidade para obter lucros enormes.
Sugestões de Segurança
Em relação a este tipo de ataque, os projetos DeFi devem prestar atenção especial aos seguintes pontos:
Reforçar a auditoria de segurança dos contratos inteligentes, com especial atenção a aspectos críticos como reembolso de fundos, deteção de liquidez e liquidação de dívidas.
Certifique-se de que todas as funções que envolvem operações de ativos dos usuários incluam as verificações de segurança necessárias.
Realizar regularmente auditorias de código e programas de recompensas por vulnerabilidades, para identificar e corrigir riscos potenciais de forma oportuna.
Estabelecer um mecanismo de resposta a emergências, capaz de responder rapidamente a possíveis eventos de segurança.
Este evento enfatiza novamente a importância da segurança dos projetos DeFi. Com o contínuo desenvolvimento do setor, as equipes dos projetos precisam prestar mais atenção ao design e implementação seguros dos contratos inteligentes, a fim de proteger a segurança dos ativos dos usuários.