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

robot
Geração do resumo em andamento

Análise do ataque de reentrada ao OrionProtocol

No dia 2 de fevereiro de 2023 à tarde, os contratos OrionProtocol na Ethereum e na Binance Smart Chain foram alvo de um ataque de reentrada devido a uma vulnerabilidade. O atacante lucrou 2.844.766 USDT na cadeia Ethereum e 191.606 BUSD na cadeia Binance Smart Chain, totalizando cerca de 2,9 milhões de dólares.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise do Processo de Ataque

O atacante primeiro implantou um contrato de Token personalizado e realizou os preparativos necessários. Em seguida, o atacante utilizou a funcionalidade de swap de um DEX para fazer um empréstimo e invocou o método swapThroughOrionPool do OrionProtocol para a troca de tokens. O caminho de troca incluía o endereço do contrato de Token criado pelo atacante, o que preparou o terreno para um ataque de callback subsequente.

Ao executar o método swapThroughOrionPool, devido à lógica de callback contida no contrato Token do atacante, uma ataque de reentrada foi acionado durante o processo de transferência. O atacante utilizou o método Token.Transfer para chamar repetidamente a função ExchangeWithAtomic.depositAsset, fazendo com que o valor do depósito se acumulasse continuamente. No final, o atacante obteve lucro através da operação de retirada.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Capital

O capital inicial do atacante veio de uma hot wallet de uma plataforma de negociação. Dos 1.651 ETH obtidos no ataque, 657,5 ainda estão no endereço da carteira do atacante, enquanto o restante foi transferido através de um serviço de mistura.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

O problema central está na função doSwapThroughOrionPool. Esta função apresenta uma falha lógica ao executar a operação _doSwapTokens. Especificamente, o contrato atualiza a variável curBalance apenas após a conclusão da transferência, o que oferece uma oportunidade para o atacante. O atacante consegue, através da adição de lógica de callback na função transfer do Token personalizado, chamar repetidamente a função depositAsset, resultando em uma atualização incorreta do curBalance. No final, após devolver o empréstimo relâmpago, o atacante conseguiu retirar fundos em excesso.

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 Reentrante 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

Para evitar ataques semelhantes, a equipe do projeto deve prestar atenção aos seguintes pontos ao projetar o contrato:

  1. Ao implementar a funcionalidade de troca de moedas digitais, é necessário considerar de forma abrangente os riscos de segurança que diferentes tipos de Token e caminhos de troca podem trazer.

  2. Seguir rigorosamente as normas de codificação "Checks-Effects-Interactions", ou seja, primeiro realizar a verificação de estado, em seguida atualizar o estado do contrato e, por fim, executar chamadas externas.

  3. Implementar um bloqueio de reentrada em operações críticas para prevenir a ocorrência de ataques de reentrada.

  4. Realizar auditorias de código regularmente para identificar e corrigir rapidamente potenciais vulnerabilidades de segurança.

  5. Considerar a introdução de um mecanismo de levantamento de fundos com atraso, para proporcionar a oportunidade de intervenção manual em transações anómalas.

Ao adotar essas medidas, é possível aumentar significativamente a segurança dos contratos inteligentes e reduzir o risco de ataques. No ecossistema Web3, a segurança é sempre a principal consideração.

TOKEN-8.24%
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
LidoStakeAddictvip
· 07-17 03:22
Mais um porco pertence a isso.
Ver originalResponder0
NervousFingersvip
· 07-14 05:42
Outra vez um projeto foi alvo de Cupões de Recorte...
Ver originalResponder0
TokenUnlockervip
· 07-14 04:00
Mais uma vulnerabilidade de reentrada não bloqueada?
Ver originalResponder0
GasSavingMastervip
· 07-14 03:59
A tecnologia atual também não é grande coisa.
Ver originalResponder0
PanicSeller69vip
· 07-14 03:58
Outra explosão, meu Deus!
Ver originalResponder0
PortfolioAlertvip
· 07-14 03:37
Mais uma vítima de vulnerabilidades em contratos...
Ver originalResponder0
SerumSqueezervip
· 07-14 03:36
Quantas vezes é esta que está cheio de buracos e vazamentos?
Ver originalResponder0
ForkTonguevip
· 07-14 03:33
Mais um ataque de reentrada, esses projetos ainda não aprenderam a lição?
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)