OrionProtocol sofreu um ataque de reentrada, resultando na perda de 2,9 milhões de dólares em encriptação.

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 uma perda total de cerca de 2,9 milhões de dólares em ativos criptográficos, incluindo 2.844.766 USDT na Ethereum e 191.606 BUSD na Binance Smart Chain.

Análise do processo de ataque

Os atacantes primeiro implementaram um contrato de Token personalizado e realizaram as transferências e autorizações necessárias para preparar o ataque subsequente. Em seguida, os atacantes tomaram emprestado fundos através da funcionalidade de swap de um DEX e chamaram o método ExchangeWithAtomic.swapThroughOrionPool do OrionProtocol para a troca de tokens. O caminho de troca foi definido como [USDC, Token do atacante, USDT].

Durante o processo de troca, o contrato Token do atacante utilizou sua função transfer para chamar o método ExchangeWithAtomic.depositAsset, realizando um ataque de reentrada. Isso resultou na contagem duplicada do valor depositado, e o atacante posteriormente obteve lucros excessivos 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 vem da carteira quente de uma plataforma de negociação. Dos 1.651 ETH obtidos com o ataque, 657,5 ETH ainda estão na 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

A vulnerabilidade central reside nas funções doSwapThroughOrionPool e _doSwapTokens. O problema chave é que o contrato atualiza a variável curBalance apenas após a execução da operação de transferência, o que cria condições para um ataque de reentrada. O atacante adiciona lógica de callback na função transfer do Token personalizado, fazendo com que a função depositAsset seja chamada repetidamente, resultando em uma atualização incorreta de curBalance.

Análise de Ataques 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 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

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. Seguir o padrão "Verificações-Efeitos-Interações" (Checks-Effects-Interactions), garantindo que a atualização das variáveis de estado ocorra antes das chamadas externas.

  2. Implementar um lock de reentrada para evitar que a função seja chamada novamente durante a execução.

  3. Considerar de forma abrangente os riscos de segurança que podem ser trazidos por vários tipos de Tokens e caminhos de troca.

  4. Reforçar as restrições e monitorização de chamadas externas, especialmente nas operações que envolvem transferências de fundos.

  5. Realizar auditorias de segurança regulares para identificar e corrigir potenciais vulnerabilidades a tempo.

Este evento enfatiza novamente a importância de seguir rigorosamente as normas de codificação de segurança ao desenvolver contratos inteligentes. As equipes de projeto devem continuar a se concentrar na segurança dos contratos, adotando múltiplas medidas de proteção para minimizar o risco de ataques.

TOKEN1.18%
ETH1.29%
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
  • Repostar
  • Compartilhar
Comentário
0/400
New_Ser_Ngmivip
· 07-13 12:19
Outra vez os hackers estão a usar cupões de recorte.
Ver originalResponder0
DegenMcsleeplessvip
· 07-13 03:32
Mais um projeto faliu~
Ver originalResponder0
SatoshiSherpavip
· 07-12 13:26
Outra vez a adquirir contratos inteligentes, tsk tsk
Ver originalResponder0
VCsSuckMyLiquidityvip
· 07-10 17:44
Mais um que caiu, não é surpresa.
Ver originalResponder0
GasFeeDodgervip
· 07-10 17:37
Mais um projeto desapareceu, fugiu, fugiu.
Ver originalResponder0
FOMOSapienvip
· 07-10 17:16
Outra captura de ferro.
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)