OrionProtocol sofreu um ataque de reentrada de 2,9 milhões de dólares, afetando as redes ETH e BSC.

robot
Geração do resumo em andamento

Análise do incidente de ataque de reentrada do OrionProtocol

Resumo do evento

No dia 2 de fevereiro de 2023, o OrionProtocol sofreu um ataque de reentrada na Ethereum e na Binance Smart Chain, resultando em perdas de cerca de 2,9 milhões de dólares. O atacante explorou uma vulnerabilidade do contrato, roubando 2,844,766 USDT na cadeia Ethereum e 191,606 BUSD na Binance Smart Chain.

Análise de Ataques de Reentrada do OrionProtocol com PoC

Análise do Processo de Ataque

  1. O atacante primeiro implantou um contrato de Token personalizado, preparando-se para o ataque subsequente.

  2. Realizar empréstimos através do método swap do UNI-V2 e chamar o método ExchangeWithAtomic.swapThroughOrionPool para a troca de tokens. O caminho de troca inclui o endereço do contrato do Token criado pelo atacante.

  3. Ao executar o método swapThroughOrionPool, o atacante utiliza a função de callback no contrato Token personalizado para chamar repetidamente o método ExchangeWithAtomic.depositAsset, resultando na adição múltipla do valor depositado.

  4. Por fim, o atacante conclui o lucro através da operação de levantamento.

Análise de Ataques de Reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Fundos

O capital inicial do atacante provém da carteira quente de uma plataforma de negociação. Dos 1.651 ETH obtidos, 657,5 ETH ainda permanecem na carteira do atacante, enquanto o restante foi transferido através de serviços de mistura.

Análise de Ataques de Reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

O problema central reside na função doSwapThroughOrionPool. Esta função, ao executar _doSwapTokens, realiza primeiro a operação de transferência e, em seguida, atualiza a variável curBalance. O atacante aproveita a função transfer do Token personalizado, onde adiciona um callback, chamando novamente a função depositAsset antes da atualização de curBalance, resultando em um cálculo incorreto do saldo.

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 ataque de reentrada do OrionProtocol com PoC

Análise de Ataques 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 Prevenção

  1. Ao projetar contratos, é necessário considerar os riscos de segurança que podem surgir de vários Tokens e caminhos de troca.

  2. Escrever o código do contrato seguindo o padrão "Verificações-Efeitos-Interações" (Checks-Effects-Interactions), ou seja, primeiro realizar a verificação das condições, depois atualizar as variáveis de estado e, por último, realizar chamadas externas.

  3. Adicionar mecanismos de segurança como locks de reentrada para prevenir ataques de reentrada.

  4. Realizar auditorias de código e varreduras de vulnerabilidades regularmente, corrigindo prontamente potenciais riscos de segurança.

  5. Limitar o montante máximo por transação, definir restrições de frequência de transação e outras medidas para reduzir as perdas potenciais causadas por ataques.

Ao adotar essas medidas, a equipe do projeto pode aumentar significativamente a segurança dos contratos e reduzir o risco de sofrer ataques semelhantes. A vigilância contínua sobre a segurança dos contratos inteligentes é crucial para a manutenção do desenvolvimento saudável do ecossistema Web3.

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
  • 5
  • Compartilhar
Comentário
0/400
StakeOrRegretvip
· 07-15 17:28
Outra armadilha de contratos inteligentes
Ver originalResponder0
TokenEconomistvip
· 07-15 07:15
deixe-me explicar: vulnerabilidade clássica de reentrância, basicamente arbitragem econômica, mas com falhas de contrato inteligente
Ver originalResponder0
FreeRidervip
· 07-12 19:16
Outra nova idiota contribuinte
Ver originalResponder0
WenMoon42vip
· 07-12 19:09
Mais um projeto que falhou.
Ver originalResponder0
LiquidationSurvivorvip
· 07-12 19:08
O contrato foi novamente explorado, sem palavras.
Ver originalResponder0
  • Marcar
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)