OrionProtocol sofreu um ataque de reentrada, quase 3 milhões de dólares em fundos foram roubados.

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, os contratos OrionProtocol na Ethereum e na Binance Chain sofreram um ataque de reentrada devido a uma vulnerabilidade. O atacante conseguiu roubar cerca de 2,9 milhões de dólares em fundos, incluindo 2.844.766 USDT na Ethereum e 191.606 BUSD na BSC.

Análise do processo de ataque

O atacante primeiro criou um contrato de Token especial e realizou operações de transferência e autorização, preparando-se para o ataque subsequente. Em seguida, o atacante tomou emprestado usando o método swap do UNI-V2 e chamou o método swapThroughOrionPool do contrato ExchangeWithAtomic para trocar tokens.

O caminho de troca é definido como [USDC, Token criado pelo atacante, USDT]. Durante o processo de troca, devido à funcionalidade de callback incluída no contrato do Token criado pelo atacante, um ataque de reentrada foi desencadeado durante a execução do método ExchangeWithAtomic.swapThroughOrionPool. O atacante continuou a chamar o método ExchangeWithAtomic.depositAsset através do Token.Transfer, fazendo com que o montante do depósito acumulasse continuamente, e, finalmente, completou o lucro através da operação de retirada.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Fundos

O capital inicial do atacante vem da conta da carteira quente de uma determinada plataforma de negociação. Dos 1.651 ETH obtidos com o ataque, 657,5 ainda permanecem 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 problema central da vulnerabilidade aparece na função doSwapThroughOrionPool. Esta função atualiza a variável curBalance após a execução da transferência de tokens, o que cria uma oportunidade para o atacante. O atacante adicionou uma função de callback na função transfer do contrato Token que criou, que chama novamente a função depositAsset. Isso leva à atualização errônea da variável curBalance, permitindo ao atacante retirar fundos adicionais através da função withdraw após reembolsar o empréstimo relâmpago.

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

Reproduzindo o Ataque

Os pesquisadores forneceram parte do código POC, simulando o processo de ataque. Os resultados dos testes mostraram que o atacante conseguiu explorar uma vulnerabilidade do contrato para obter USDT extra.

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 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 este tipo de ataques, recomenda-se que os desenvolvedores do projeto considerem os seguintes pontos ao projetar o contrato:

  1. Avaliar de forma abrangente os riscos de segurança que podem surgir de vários Tokens e caminhos de troca.
  2. Seguir a norma de codificação "primeiro avaliar, depois escrever na variável e, em seguida, realizar chamadas externas" (modo Checks-Effects-Interactions).
  3. Ao implementar a funcionalidade de troca de tokens, preste especial atenção para prevenir ataques de reentrada.
  4. Realizar auditorias de código regularmente para identificar e corrigir vulnerabilidades potenciais a tempo.
  5. Considerar a implementação de limites de montante de transação ou outras medidas de controle de risco.

Este evento destaca novamente a importância da segurança dos contratos inteligentes. As equipes de projeto devem manter um foco contínuo na segurança dos contratos e tomar medidas proativas para proteger os ativos dos usuários, a fim de preservar o desenvolvimento saudável de todo o ecossistema Web3.

TOKEN-5.39%
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
  • 6
  • Compartilhar
Comentário
0/400
SybilSlayervip
· 07-28 15:34
Mais uma vez reentrada, que aborrecido.
Ver originalResponder0
CantAffordPancakevip
· 07-28 11:05
Mais uma falha de contrato, estou rendido.
Ver originalResponder0
GateUser-26d7f434vip
· 07-25 18:03
Parece que vai puxar o tapete~
Ver originalResponder0
OvertimeSquidvip
· 07-25 17:55
Outra vez contratos a serem Cupões de Recorte, estou tonto.
Ver originalResponder0
BrokenYieldvip
· 07-25 17:55
outro dia, outro hack de defi... as vulnerabilidades do protocolo nunca dormem
Ver originalResponder0
SerumSquirrelvip
· 07-25 17:40
Outro sacrifício puxou o tapete~
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)