OrionProtocol sofreu um ataque de reentrada, perda de 2,9 milhões de dólares.

robot
Geração do resumo em andamento

Análise do incidente de ataque de reentrada do OrionProtocol

No dia 2 de fevereiro de 2023, às 15:40:20 UTC, o OrionProtocol na Ethereum e na Binance Smart Chain sofreu um ataque de reentrada devido a uma vulnerabilidade no contrato. O atacante lucrou 2.844.766 USDT na cadeia Ethereum e 191.606 BUSD na Binance Smart Chain, totalizando uma perda de cerca de 2,9 milhões de dólares.

Análise do Processo de Ataque

O atacante primeiro implementou um contrato de Token personalizado e realizou os preparativos necessários. Em seguida, o atacante tomou emprestado fundos através da função swap de um determinado DEX, chamando o método ExchangeWithAtomic.swapThroughOrionPool do OrionProtocol para realizar a troca de tokens. O caminho de troca inclui o endereço do contrato Token criado pelo atacante.

Durante o processo de troca, o atacante utiliza a funcionalidade de callback do contrato Token personalizado, chamando repetidamente o método ExchangeWithAtomic.depositAsset, levando a um acúmulo contínuo do montante depositado. No final, o atacante completa o lucro através da operação de retirada.

Análise de Ataques de Reentrada do OrionProtocol com PoC

Fluxo de Capital

Os fundos iniciais do atacante vieram da carteira quente de uma plataforma de negociação. Dos 1.651 ETH obtidos com o 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 reside nas funções doSwapThroughOrionPool e _doSwapTokens do contrato ExchangeWithAtomic. Essas funções atualizam a variável curBalance após a execução da transferência de tokens, violando o padrão "Checks-Effects-Interactions" (. Um atacante pode adicionar lógica de callback na função transfer do Token personalizado, levando à atualização incorreta de curBalance e, assim, permitindo um ataque de reentrada.

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-7e21c34158a85d4c387fcdbec136d31b.webp(

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-24819b5154419e86ea523a25a9101f67.webp(

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-7c4bde9d6a35da4304844a3bbb934fae.webp(

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-7239f8886fe83c1da8b1b42545185811.webp(

Repetição de Ataque

Os pesquisadores forneceram parte do código POC, demonstrando como explorar a vulnerabilidade para realizar ataques. Os resultados dos testes mostraram que os atacantes conseguiram obter USDT adicional.

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-e5042932f0e1b7fa96e3f6e749231957.webp(

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-4bd31735de09c63c490488e887118038.webp(

![Análise de Ataque de Reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-cd401091e63ab21864f39cd650014b97.webp(

![Análise de Ataques de Reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(

![Análise de ataque de reentrada do OrionProtocol com PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(

Recomendações de Segurança

  1. A equipe do projeto, ao implementar a funcionalidade de troca de tokens, deve considerar os riscos de segurança que diferentes tipos de Token e caminhos de troca podem trazer.

  2. Seguir rigorosamente a norma de codificação "verificação-efetivação-interação", garantindo que a atualização das variáveis de estado seja concluída antes das chamadas externas.

  3. Implementar mecanismos de segurança como bloqueios de reentrância para prevenir ataques de reentrância.

  4. Realizar auditorias de código e testes de segurança regularmente, para identificar e corrigir potenciais vulnerabilidades a tempo.

  5. Considerar a introdução de um mecanismo de limite, controlando o valor máximo de uma única transação, para reduzir perdas potenciais.

Este evento lembra-nos mais uma vez que devemos estar sempre atentos ao desenvolver contratos inteligentes e dar importância à segurança. Apenas ao aprimorar continuamente as medidas de segurança podemos garantir um desenvolvimento saudável do ecossistema Web3.

TOKEN-2.68%
ETH0.25%
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
LadderToolGuyvip
· 15h atrás
A segurança dos contratos é muito importante.
Ver originalResponder0
GreenCandleCollectorvip
· 19h atrás
Outra idiotaz limpa.
Ver originalResponder0
LowCapGemHuntervip
· 08-09 16:52
A equipa do projeto foi muito descuidada.
Ver originalResponder0
NeverPresentvip
· 08-07 03:18
Mais uma falha sem palavras
Ver originalResponder0
ProposalDetectivevip
· 08-07 03:17
As falhas de contrato prejudicam as pessoas.
Ver originalResponder0
GateUser-a606bf0cvip
· 08-07 03:14
Grande buraco de contrato!
Ver originalResponder0
GateUser-c802f0e8vip
· 08-07 03:13
Os ativos escaparam novamente.
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)