OrionProtocol sofreu um ataque de reentrada, com perdas de 2,9 milhões de USDT e BUSD.

robot
Geração de resumo em curso

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 Chain sofreu um ataque de reentrada devido a uma vulnerabilidade do contrato, resultando em uma perda de aproximadamente 2,9 milhões de dólares. As perdas específicas incluem 2.844.766 USDT na Ethereum e 191.606 BUSD na Binance Chain.

Análise do Processo de Ataque

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

O caminho de troca é definido como [USDC, Token criado pelo atacante, USDT]. Durante o processo de troca, devido à função de callback existente no contrato do Token criado pelo atacante, o atacante conseguiu continuar chamando o método depositAsset do contrato ExchangeWithAtomic através do método Transfer do Token, permitindo assim um ataque de reentrância, fazendo com que o valor do depósito se acumulasse continuamente. No final, o atacante completou o lucro através da operação de retirada.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

O cerne da vulnerabilidade reside na função doSwapThroughOrionPool do contrato ExchangeWithAtomic. Esta função apresenta os seguintes problemas ao executar _doSwapTokens:

  1. A variável curBalance só é atualizada após a operação de transferência.
  2. Não seguiu o padrão "Verificações-Efeitos-Interações" (Checks-Effects-Interactions).

Os atacantes exploraram esta vulnerabilidade, adicionando uma funcionalidade de callback na função transfer do contrato Token falsificado, fazendo com que chamasse a função depositAsset durante a transferência. Isso resultou na atualização incorreta da variável curBalance, permitindo que os atacantes retirassem fundos em excesso 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

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 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 vem da conta da carteira quente de uma determinada plataforma de negociação. Dos 1.651 ETH obtidos, 657,5 ainda permanecem no endereço da carteira do atacante, enquanto o restante foi transferido através de serviços de mistura.

Sugestões de prevenção

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

  1. Ao projetar o contrato, é necessário considerar as possíveis situações inesperadas que podem surgir devido a vários Tokens e caminhos de troca.
  2. Seguir rigorosamente a norma de codificação "verificação-efeito-interação", garantindo que primeiro se faça a avaliação, depois se atualizem as variáveis de estado e, por último, se efetue a chamada externa.
  3. Implementar verificações de segurança e restrições mais rigorosas para operações críticas envolvendo transferências de fundos.
  4. Realizar auditorias de segurança de contratos regularmente, para detectar e corrigir vulnerabilidades potenciais a tempo.

Este evento lembra-nos mais uma vez que a segurança é fundamental no desenvolvimento de contratos inteligentes. As equipas de projeto devem manter-se sempre alerta e adotar múltiplas medidas de proteção para minimizar ao máximo os riscos dos contratos.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 4
  • Republicar
  • Partilhar
Comentar
0/400
OptionWhisperervip
· 08-16 06:37
Já se foi outra vez
Ver originalResponder0
CryptoGoldminevip
· 08-16 06:37
Vulnerabilidade é rendimento negativo de ativos
Ver originalResponder0
RektButSmilingvip
· 08-16 06:35
Mais uma vulnerabilidade.
Ver originalResponder0
GasSavingMastervip
· 08-16 06:35
Mais um ataque de reentrada?
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)