OrionProtocol sofreu um ataque de reentrada de 2,9 milhões de dólares - Análise do roubo de fundos e recomendações de prevenção.

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 Smart 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 cadeia Ethereum e 191.606 BUSD na cadeia Binance Smart.

Análise do Processo de Ataque

Os atacantes primeiro implantaram um contrato de Token personalizado e realizaram operações de transferência e autorização desse Token, preparando-se para os ataques subsequentes. Em seguida, os atacantes utilizaram a funcionalidade de swap do Uniswap V2 para realizar empréstimos e chamaram o método ExchangeWithAtomic.swapThroughOrionPool do OrionProtocol para a troca de tokens.

Análise de ataque de reentrada do OrionProtocol com PoC

Caminho de troca definido como: USDC → Token personalizado do atacante → USDT

Durante o processo de troca, devido à funcionalidade de callback incluída no contrato Token personalizado do atacante, é possível chamar novamente o método ExchangeWithAtomic.depositAsset durante a transferência de Token. Esse ataque de reentrada leva à contagem duplicada do valor do depósito, permitindo finalmente que o atacante retire fundos que excedem o valor realmente depositado.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Fondos

A origem dos fundos iniciais do atacante provém de uma carteira quente de uma grande plataforma de troca. Dos 1.651 ETH obtidos no ataque, 657,5 ETH ainda permanecem 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 da vulnerabilidade surge na função doSwapThroughOrionPool. Esta função atualiza a variável curBalance após a execução da transferência de tokens, criando condições para ataques de reentrada. O atacante, ao adicionar lógica de callback na função transfer do Token personalizado, consegue chamar repetidamente a função depositAsset antes da atualização de curBalance, resultando em um erro no cálculo do saldo.

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

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 prevenir ataques semelhantes, a equipe do projeto deve atentar para os seguintes pontos:

  1. Implementar um controle de acesso rigoroso e gestão de permissões.
  2. Escrever contratos inteligentes seguindo o padrão "Checks-Effects-Interactions".
  3. Usar um lock de reentrada ou mecanismo semelhante para prevenir ataques de reentrada.
  4. Para as funções que envolvem a troca de tokens, é necessário considerar os riscos de segurança que diferentes tipos de tokens e caminhos de troca podem trazer.
  5. Realizar uma auditoria de segurança abrangente, incluindo análise estática, testes dinâmicos e revisão manual.
  6. Monitorizar continuamente a atividade dos contratos e estabelecer um mecanismo de resposta rápida.

Este incidente reitera que a segurança deve ser sempre a principal preocupação ao desenvolver e implementar contratos inteligentes. As equipes de projeto precisam constantemente melhorar as medidas de segurança para proteger os ativos dos usuários e manter a reputação da plataforma.

TOKEN-2.17%
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
  • 7
  • Repostar
  • Compartilhar
Comentário
0/400
CryptoCrazyGFvip
· 5h atrás
Outra vez, outra vez, outra vez foram roubadas moedas. Não é à toa que é um Bear Market!
Ver originalResponder0
FUD_Vaccinatedvip
· 08-14 03:57
Outra vez a fazer as pessoas de parvas.
Ver originalResponder0
GateUser-aa7df71evip
· 08-13 22:35
Outra idiota lâmina, veja minha análise no mini curso atrás de mim.
Ver originalResponder0
CoinBasedThinkingvip
· 08-13 22:34
É novamente o velho truque da reentrada.
Ver originalResponder0
HalfBuddhaMoneyvip
· 08-13 22:29
Mais um clássico de falha de contratos inteligentes, os idiotas não vão conseguir proteger seu dinheiro.
Ver originalResponder0
NewPumpamentalsvip
· 08-13 22:26
Mais um ataque de reentrada. Quando é que isto acaba?
Ver originalResponder0
ShibaOnTheRunvip
· 08-13 22:23
Fui atacado novamente, estou um pouco nervoso.
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)