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

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 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ú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
  • 5
  • Repostar
  • Compartilhar
Comentário
0/400
GateUser-4745f9cevip
· 08-18 13:15
Mais um ataque de reentrada! Está tudo estragado.
Ver originalResponder0
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
  • 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)