A Jarvis Network sofreu um ataque de reentrada através de Empréstimos Flash, resultando em uma perda de 66 mil MATIC.

robot
Geração de resumo em curso

Análise do Ataque de Reentrada de Empréstimos Flash ao Jarvis Network

No dia 15 de janeiro de 2023, o projeto Jarvis_Network sofreu um ataque significativo, resultando na perda de 663,101 MATIC. Este ataque explorou uma combinação de Empréstimos Flash e ataques de reentrada, expondo uma grave vulnerabilidade no contrato do projeto.

Análise do evento de ataque de reinjeção de Empréstimos Flash da Jarvis Network

O atacante explorou habilidosamente uma vulnerabilidade na função remove_liquidity. Esta função devolve os tokens adicionados pelo usuário ao remover liquidez. Como a rede Polygon é compatível com EVM, quando MATIC é transferido para o contrato, isso aciona a lógica de reentrada do contrato.

Análise do Evento de Ataque de Reentrada do Empréstimos Flash da Jarvis Network

A análise revelou que a chave do ataque reside na chamada da função getUnderlyingPrice. Esta função retornou preços significativamente diferentes antes e depois da reinicialização: antes da reinicialização era 1002157321772769944, e depois da reinicialização subiu para 10091002696492234934, com uma diferença de quase 10 vezes.

Análise do evento de ataque de reentrada do Empréstimos Flash da Jarvis Network

A raiz do problema está no momento inadequado da atualização da variável self.D no contrato. A ordem de execução da função remove_liquidity é: 1) destrói os tokens LP do usuário; 2) envia os fundos apostados para o usuário; 3) atualiza self.D. O atacante realizou uma reentrada na segunda etapa, aproveitando o valor de self.D que ainda não havia sido atualizado para obter informações de preço incorretas, o que permitiu operações de empréstimo lucrativas.

Análise de Evento de Ataque de Reentrada Empréstimos Flash da Jarvis Network

Análise do evento de ataque de reentrada Empréstimos Flash da Jarvis Network

Embora a função remove_liquidity utilize o decorador @nonreentrant('lock') para prevenir reentrância, essa medida de proteção falhou devido ao ataque envolver operações entre contratos.

Análise do evento de ataque de reentrada do Empréstimos Flash da Jarvis Network

Este evento destacou vários princípios de segurança chave:

  1. A modificação de variáveis deve ser concluída antes da chamada externa, para evitar inconsistências de estado.
  2. O mecanismo de obtenção de preços deve utilizar múltiplas fontes de dados para aumentar a fiabilidade.
  3. A lógica do código deve seguir o padrão "Checks-Effects-Interactions"(, ou seja, primeiro realizar a verificação das condições, depois modificar as variáveis de estado e, por último, fazer chamadas externas.

![Análise do incidente de ataque de reentrada de Empréstimos Flash da Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-a0f03c13dd2d37ba67ccf538fec62aa0.webp(

![Análise do evento de ataque de reentrada do Empréstimos Flash Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-fcd66f4cc03bb8e822c9414526681442.webp(

![Análise do evento de ataque de reentrada do Empréstimos Flash Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-9b2de9b00c52d3ff96d5a361df65769a.webp(

![Análise do evento de ataque de reentrada do Empréstimos Flash do Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-88f9283ee0923cff2a22405715721cd2.webp(

![Jarvis Network Empréstimos Flash重入攻击事件分析])https://img-cdn.gateio.im/webp-social/moments-d41ac025ee561569cce3b941d7e07967.webp(

Este ataque mais uma vez prova que a auditoria de segurança de contratos inteligentes é crucial. As equipes de projeto devem prestar mais atenção à segurança dos contratos, garantindo que o código passe por uma auditoria completa e rigorosa, para prevenir a ocorrência de vulnerabilidades semelhantes.

![Análise do evento de ataque de reentrada do Empréstimos Flash Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-2c4474781d661306bc8c432dad3942c0.webp(

Ver original
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.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)