OrionProtocol sofreu um ataque de reentrada, com perdas de 2,9 milhões de dólares. As cadeias ETH e BSC foram afetadas.

robot
Geração do resumo em andamento

Análise do incidente de ataque de reentrada do OrionProtocol

No dia 2 de fevereiro de 2023, à tarde, o OrionProtocol na Ethereum e na Binance Smart Chain sofreu um ataque de reentrada devido a uma vulnerabilidade no contrato, resultando em perdas de cerca de 2,9 milhões de dólares. O atacante aproveitou a função de callback do contrato de token criado por eles, chamando repetidamente a função de depósito durante o processo de negociação, resultando na extração de fundos que foram incorretamente acumulados.

Processo de Ataque

  1. O atacante primeiro criou um contrato de Token personalizado e realizou as operações necessárias de transferência e autorização.

Token criado pelo atacante

  1. Durante o processo de troca, o contrato Token do atacante utiliza a função transfer para acionar um callback, chamando repetidamente a função ExchangeWithAtomic.depositAsset, resultando na acumulação incorreta do montante depositado.

  2. Por fim, o atacante retira fundos excessivos através da função withdraw, completando o ataque.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

A vulnerabilidade reside principalmente nas funções doSwapThroughOrionPool e _doSwapTokens do contrato ExchangeWithAtomic. A questão-chave é:

  1. O contrato atualiza a variável curBalance apenas após a execução da transferência.
  2. Não conseguiu prevenir eficazmente ataques de reentrada, permitindo a execução de funções de callback durante o processo de transferência.

Isto permite que os atacantes chamem repetidamente a função depositAsset antes da atualização do curBalance, causando erros no cálculo dos fundos.

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

Análise de Ataque de Reentrada do OrionProtocol com PoC

Impacto do ataque

  • Perda de 2.844.766 USDT na cadeia Ethereum
  • Perda de 191,606 BUSD na Binance Smart Chain
  • Total de aproximadamente 2,9 milhões de dólares

Fluxo de Capital

Dos 1.651 ETH lucrados pelo atacante, 657,5 estão ainda na carteira, enquanto o restante foi transferido através de um serviço de mistura. Os fundos iniciais vieram de uma conta de carteira quente de uma plataforma de troca.

Sugestões de segurança

  1. Seguir estritamente o modelo "Verificações- Efeitos- Interações" (Checks-Effects-Interactions) ao escrever contratos inteligentes.
  2. Implementar um bloqueio de reentrada para evitar que a função seja chamada repetidamente durante a execução.
  3. Ao realizar a troca de tokens, considere os vários tipos de Token e caminhos de troca possíveis, e prepare-se para lidar com situações excepcionais.
  4. Realizar auditorias de segurança de contratos inteligentes regularmente, identificando e corrigindo rapidamente potenciais vulnerabilidades.

Este evento lembra novamente aos desenvolvedores que, ao criar contratos inteligentes que envolvem a interação de fundos, devem prestar alta atenção à segurança, adotando medidas de proteção abrangentes para minimizar ao máximo os riscos do contrato.

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
  • 8
  • Compartilhar
Comentário
0/400
AirdropHustlervip
· 07-18 17:53
Zé, este contrato inteligente é tão frágil quanto papel.
Ver originalResponder0
MerkleDreamervip
· 07-18 06:45
Foi roubado novamente? Não é surpresa.
Ver originalResponder0
rekt_but_resilientvip
· 07-16 11:57
Outra vez foi tirado 290w
Ver originalResponder0
LiquidationWatchervip
· 07-15 21:48
Mais uma vez um ataque de reentrada, não aprende!
Ver originalResponder0
ForkTonguevip
· 07-15 21:48
Os projetos confiáveis todos explodiram. Quando é que isso vai acabar?
Ver originalResponder0
OnchainFortuneTellervip
· 07-15 21:44
Passaram tantos anos e a falha ainda não foi corrigida?
Ver originalResponder0
AirdropChaservip
· 07-15 21:38
Ser enganado por idiotas novamente
Ver originalResponder0
MentalWealthHarvestervip
· 07-15 21:22
Ai, aconteceu mais uma coisa??
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)