Euler Finance sofreu um ataque de empréstimo flash, com perdas próximas a 200 milhões de dólares
Recentemente, um grande ataque de empréstimo flash chocou o mundo das criptomoedas. De acordo com os dados de monitoramento on-chain, em 13 de março de 2023, o projeto Euler Finance foi atacado por hackers devido a uma vulnerabilidade em seu contrato inteligente, resultando em uma perda de aproximadamente 197 milhões de dólares.
Os atacantes exploraram uma vulnerabilidade na função donateToReserves do contrato da Euler Finance, que não tinha uma verificação de liquidez. Ao chamar várias vezes as funções relacionadas a diferentes moedas, os hackers conseguiram obter uma grande quantidade de fundos desse projeto. O ataque envolveu 6 tipos de tokens e, atualmente, esses fundos roubados ainda permanecem na conta dos atacantes.
O processo de ataque é aproximadamente o seguinte:
O hacker primeiro emprestou 30 milhões de DAI na plataforma Aave através de um Empréstimos Flash.
Em seguida, foram implementados dois contratos: um para operações de empréstimo e outro para operações de liquidação.
Depositar 20 milhões de DAI emprestados no contrato do Euler Protocol, obtendo aproximadamente 19,5 milhões de eDAI.
Utilizando a funcionalidade de 10x de alavancagem do Euler Protocol, empreste uma grande quantidade de eDAI e dDAI.
Através de manobras engenhosas, repetir múltiplas vezes o processo de empréstimo e reembolso.
A chamada final para a função donateToReserves vulnerável, doando 10 vezes o valor reembolsado.
Acionar o mecanismo de liquidação, obter grandes quantidades de dDAI e eDAI.
Por fim, retirei quase 39 milhões de DAI, após devolver o Empréstimos Flash, lucrando cerca de 8,87 milhões de DAI.
Ao analisar o código do contrato, os pesquisadores descobriram que o problema estava na função donateToReserves. Em comparação com outras funções chave, essa função carecia do passo checkLiquidity, o que permitiu aos usuários contornar a verificação de liquidez, criando artificialmente um estado que poderia ser liquidado. Normalmente, a função checkLiquidity chamaria o módulo RiskManager, garantindo que o Etoken do usuário fosse sempre maior que o Dtoken, para manter a segurança do sistema.
Este incidente destaca novamente a importância da auditoria de segurança de contratos inteligentes. Para projetos de empréstimos, é especialmente importante prestar atenção à segurança de etapas críticas, como reembolso de fundos, detecção de liquidez e liquidação de dívidas. Os desenvolvedores do projeto devem realizar uma auditoria de segurança abrangente antes do lançamento, a fim de prevenir riscos semelhantes.
Como parte do ecossistema de criptomoedas, devemos aprender com este evento. Ele nos lembra que, no mundo em rápida evolução da blockchain, a segurança é sempre a prioridade número um. Os desenvolvedores precisam ser mais cautelosos ao projetar e implementar contratos inteligentes, e os investidores também devem estar mais alertas para possíveis riscos de segurança. Somente ao aumentar continuamente a consciência de segurança e o nível técnico de toda a indústria, podemos estabelecer um sistema financeiro descentralizado mais robusto e confiável.
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.
16 Curtidas
Recompensa
16
7
Repostar
Compartilhar
Comentário
0/400
NightAirdropper
· 07-16 06:36
Outra vez a fazer as pessoas de parvas~
Ver originalResponder0
LiquidityWhisperer
· 07-15 19:06
Por que é que sou incomodado todos os dias?
Ver originalResponder0
CryptoTherapist
· 07-14 19:31
desempacotando esse trauma... caso clássico de ansiedade de separação de contrato inteligente, para ser honesto
Ver originalResponder0
PermabullPete
· 07-13 10:37
又躺平一个Finanças Descentralizadas
Ver originalResponder0
PerpetualLonger
· 07-13 10:31
comprar na baixa é agora. Nunca em posição curta. O sobrevivente final sou eu.
Ver originalResponder0
CounterIndicator
· 07-13 10:26
equipa do projeto desceu a mão realmente rápido...
Ver originalResponder0
ForkTongue
· 07-13 10:24
Mais uma vez, os contratos inteligentes estão com problemas.
Euler Finance sofreu um ataque de empréstimo flash, com uma perda de 197 milhões de dólares.
Euler Finance sofreu um ataque de empréstimo flash, com perdas próximas a 200 milhões de dólares
Recentemente, um grande ataque de empréstimo flash chocou o mundo das criptomoedas. De acordo com os dados de monitoramento on-chain, em 13 de março de 2023, o projeto Euler Finance foi atacado por hackers devido a uma vulnerabilidade em seu contrato inteligente, resultando em uma perda de aproximadamente 197 milhões de dólares.
Os atacantes exploraram uma vulnerabilidade na função donateToReserves do contrato da Euler Finance, que não tinha uma verificação de liquidez. Ao chamar várias vezes as funções relacionadas a diferentes moedas, os hackers conseguiram obter uma grande quantidade de fundos desse projeto. O ataque envolveu 6 tipos de tokens e, atualmente, esses fundos roubados ainda permanecem na conta dos atacantes.
O processo de ataque é aproximadamente o seguinte:
O hacker primeiro emprestou 30 milhões de DAI na plataforma Aave através de um Empréstimos Flash.
Em seguida, foram implementados dois contratos: um para operações de empréstimo e outro para operações de liquidação.
Depositar 20 milhões de DAI emprestados no contrato do Euler Protocol, obtendo aproximadamente 19,5 milhões de eDAI.
Utilizando a funcionalidade de 10x de alavancagem do Euler Protocol, empreste uma grande quantidade de eDAI e dDAI.
Através de manobras engenhosas, repetir múltiplas vezes o processo de empréstimo e reembolso.
A chamada final para a função donateToReserves vulnerável, doando 10 vezes o valor reembolsado.
Acionar o mecanismo de liquidação, obter grandes quantidades de dDAI e eDAI.
Por fim, retirei quase 39 milhões de DAI, após devolver o Empréstimos Flash, lucrando cerca de 8,87 milhões de DAI.
Ao analisar o código do contrato, os pesquisadores descobriram que o problema estava na função donateToReserves. Em comparação com outras funções chave, essa função carecia do passo checkLiquidity, o que permitiu aos usuários contornar a verificação de liquidez, criando artificialmente um estado que poderia ser liquidado. Normalmente, a função checkLiquidity chamaria o módulo RiskManager, garantindo que o Etoken do usuário fosse sempre maior que o Dtoken, para manter a segurança do sistema.
Este incidente destaca novamente a importância da auditoria de segurança de contratos inteligentes. Para projetos de empréstimos, é especialmente importante prestar atenção à segurança de etapas críticas, como reembolso de fundos, detecção de liquidez e liquidação de dívidas. Os desenvolvedores do projeto devem realizar uma auditoria de segurança abrangente antes do lançamento, a fim de prevenir riscos semelhantes.
Como parte do ecossistema de criptomoedas, devemos aprender com este evento. Ele nos lembra que, no mundo em rápida evolução da blockchain, a segurança é sempre a prioridade número um. Os desenvolvedores precisam ser mais cautelosos ao projetar e implementar contratos inteligentes, e os investidores também devem estar mais alertas para possíveis riscos de segurança. Somente ao aumentar continuamente a consciência de segurança e o nível técnico de toda a indústria, podemos estabelecer um sistema financeiro descentralizado mais robusto e confiável.