O projeto 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, resultando em uma enorme perda de cerca de 197 milhões de dólares. O atacante explorou uma vulnerabilidade no contrato do projeto e completou o ataque por meio de várias operações. Atualmente, os fundos roubados ainda permanecem na conta do atacante.
Análise do processo de ataque
O atacante primeiro pegou emprestado 30 milhões de DAI de uma plataforma de empréstimo flash e implantou dois contratos: um contrato de empréstimo e um contrato de liquidação.
O atacante colocou 20 milhões de DAI emprestados como garantia no contrato do Euler Protocol e obteve 19,5 milhões de eDAI.
Utilizando a funcionalidade de alavancagem do Euler Protocol, o atacante emprestou 195,6 milhões de eDAI e 200 milhões de dDAI.
O atacante utilizou os 10 milhões de DAI restantes para reembolsar parte da dívida, destruiu 10 milhões de dDAI e, em seguida, emprestou novamente 195,6 milhões de eDAI e 200 milhões de dDAI.
Passos-chave: O atacante chama a função donateToReserves, doando 100 milhões de eDAI, e depois liquida através da função liquidate, obtendo 310 milhões de dDAI e 250 milhões de eDAI.
Por fim, o atacante extraiu 38,9 milhões de DAI, devolveu 30 milhões de DAI em Empréstimos Flash e obteve um lucro final de 8,87 milhões de DAI.
Causa da Vulnerabilidade
A principal razão pela qual o ataque teve sucesso é a falha na função donateToReserves do contrato da Euler Finance. Em comparação com outras funções chave, esta função carece do passo necessário de verificação de liquidez (checkLiquidity). Esta verificação deveria garantir que o número de eTokens do usuário seja maior do que o número de dTokens, para manter a saúde do contrato.
Devido à falta desta verificação crítica, os atacantes conseguem, através de operações específicas, colocar-se em um estado que pode ser liquidado e, em seguida, aproveitar-se disso para executar o ataque.
Sugestões de Segurança
Para projetos de empréstimo semelhantes, é necessário ter especial atenção a os seguintes pontos-chave:
A segurança do mecanismo de reembolso de fundos
Abrangência da detecção de liquidez
A rigorosidade do processo de liquidação da dívida
Antes do lançamento do contrato, é crucial realizar uma auditoria de segurança completa e profissional. Isso não só pode identificar vulnerabilidades potenciais, mas também garantir a segurança e a estabilidade geral do contrato.
Este evento ressalta novamente a importância da segurança dos contratos no campo das finanças descentralizadas. As equipes de projeto devem sempre priorizar a segurança para proteger os ativos dos usuários e manter o desenvolvimento saudável de todo o 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
7
Compartilhar
Comentário
0/400
SeasonedInvestor
· 4h atrás
Mais um contrato foi esvaziado
Ver originalResponder0
tx_pending_forever
· 16h atrás
contratos inteligentes太不智能
Ver originalResponder0
airdrop_whisperer
· 16h atrás
contratos inteligentes difícil de garantir segurança
Euler Finance sofreu ataque de empréstimo flash com perdas de quase 200 milhões de dólares.
O projeto 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, resultando em uma enorme perda de cerca de 197 milhões de dólares. O atacante explorou uma vulnerabilidade no contrato do projeto e completou o ataque por meio de várias operações. Atualmente, os fundos roubados ainda permanecem na conta do atacante.
Análise do processo de ataque
O atacante primeiro pegou emprestado 30 milhões de DAI de uma plataforma de empréstimo flash e implantou dois contratos: um contrato de empréstimo e um contrato de liquidação.
O atacante colocou 20 milhões de DAI emprestados como garantia no contrato do Euler Protocol e obteve 19,5 milhões de eDAI.
Utilizando a funcionalidade de alavancagem do Euler Protocol, o atacante emprestou 195,6 milhões de eDAI e 200 milhões de dDAI.
O atacante utilizou os 10 milhões de DAI restantes para reembolsar parte da dívida, destruiu 10 milhões de dDAI e, em seguida, emprestou novamente 195,6 milhões de eDAI e 200 milhões de dDAI.
Passos-chave: O atacante chama a função donateToReserves, doando 100 milhões de eDAI, e depois liquida através da função liquidate, obtendo 310 milhões de dDAI e 250 milhões de eDAI.
Por fim, o atacante extraiu 38,9 milhões de DAI, devolveu 30 milhões de DAI em Empréstimos Flash e obteve um lucro final de 8,87 milhões de DAI.
Causa da Vulnerabilidade
A principal razão pela qual o ataque teve sucesso é a falha na função donateToReserves do contrato da Euler Finance. Em comparação com outras funções chave, esta função carece do passo necessário de verificação de liquidez (checkLiquidity). Esta verificação deveria garantir que o número de eTokens do usuário seja maior do que o número de dTokens, para manter a saúde do contrato.
Devido à falta desta verificação crítica, os atacantes conseguem, através de operações específicas, colocar-se em um estado que pode ser liquidado e, em seguida, aproveitar-se disso para executar o ataque.
Sugestões de Segurança
Para projetos de empréstimo semelhantes, é necessário ter especial atenção a os seguintes pontos-chave:
Antes do lançamento do contrato, é crucial realizar uma auditoria de segurança completa e profissional. Isso não só pode identificar vulnerabilidades potenciais, mas também garantir a segurança e a estabilidade geral do contrato.
Este evento ressalta novamente a importância da segurança dos contratos no campo das finanças descentralizadas. As equipes de projeto devem sempre priorizar a segurança para proteger os ativos dos usuários e manter o desenvolvimento saudável de todo o ecossistema.