OrionProtocol sofreu um ataque de reentrada, com perdas de 2,9 milhões de dólares.

robot
Geração do resumo em andamento

OrionProtocol sofreu um ataque de reentrada resultando em uma perda de 2.9 milhões de dólares

No dia 2 de fevereiro de 2023, o OrionProtocol sofreu um ataque de reentrada devido a uma vulnerabilidade de contrato na Ethereum e na Binance Smart Chain, resultando em uma perda total de cerca de 2,9 milhões de dólares. O atacante utilizou um contrato Token criado por ele para realizar callbacks, conseguindo contornar os mecanismos de segurança do contrato.

Análise do Processo de Ataque

O atacante primeiro criou um contrato de Token personalizado e fez uma série de preparativos. Em seguida, o atacante pegou um empréstimo através do método swap de algum DEX e chamou o método swapThroughOrionPool do OrionProtocol para a troca de tokens. O caminho de troca incluía o endereço do contrato Token criado pelo atacante.

Durante o processo de troca, o atacante utiliza o método transfer do Token criado por ele para ativar o callback, chamando novamente o método depositAsset do OrionProtocol. Isso resulta na contagem duplicada do montante depositado, permitindo que o atacante retire fundos que excedem o valor realmente depositado.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Fundos

Os fundos iniciais do atacante vieram da carteira quente de uma plataforma de negociação. Dos 1651 ETH obtidos com o ataque, 657,5 ainda estão no endereço da carteira do atacante, enquanto o restante foi transferido através de serviços de mistura.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

O cerne da vulnerabilidade está nas funções doSwapThroughOrionPool e _doSwapTokens. O contrato atualiza a variável curBalance apenas após a execução da operação de transferência, o que dá ao atacante a oportunidade de explorar um ataque de reentrada. O atacante, ao adicionar lógica de callback na função transfer do Token personalizado, faz com que curBalance seja atualizado incorretamente, levando à retirada excessiva.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Ataques de Reentrada do OrionProtocol com PoC

Repetição de Ataque

Os pesquisadores forneceram parte do código POC, demonstrando como explorar a vulnerabilidade para realizar ataques. Os resultados dos testes coincidem com a pilha de chamadas de ataques reais, confirmando a existência e a explorabilidade da vulnerabilidade.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de ataque de reentrância do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Sugestões de Segurança

Para contratos inteligentes com funcionalidade de troca de tokens, os desenvolvedores precisam considerar os riscos de segurança que podem surgir de múltiplos tokens e caminhos de troca. Recomenda-se seguir a norma de codificação "verificar primeiro, depois gravar variáveis, e, em seguida, realizar chamadas externas" (modelo Checks-Effects-Interactions) para aumentar a segurança e estabilidade do contrato.

Este evento enfatiza novamente a importância de dar atenção à segurança no desenvolvimento de contratos inteligentes, especialmente ao lidar com a movimentação de fundos. As equipes de projeto devem reforçar a auditoria de código e considerar a contratação de uma equipe de segurança em blockchain especializada para uma avaliação completa, a fim de minimizar os riscos potenciais.

TOKEN4.21%
Ver original
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.
  • Recompensa
  • 3
  • Repostar
  • Compartilhar
Comentário
0/400
ZeroRushCaptainvip
· 10h atrás
Mais um cartão de saque que me ensinou a recuar no campo de batalha
Ver originalResponder0
AirdropChaservip
· 10h atrás
Mais um?
Ver originalResponder0
ForkLibertarianvip
· 10h atrás
Se foi aproveitado, é o que mereceu, quem mandou ser tão arrogante.
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)