OrionProtocol sofreu um ataque de reentrada, perdendo 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, uma plataforma DEX foi alvo de um ataque de reentrada devido a uma vulnerabilidade no contrato, na Ethereum e na Binance Smart Chain, 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.

Visão Geral do Processo de Ataque

Os atacantes primeiro implantaram um contrato de token personalizado e realizaram operações de transferência e autorização relacionadas. Em seguida, os atacantes tomaram emprestado fundos através da funcionalidade de swap de um determinado DEX e invocaram o método swapThroughOrionPool da plataforma-alvo para trocar tokens. O caminho de troca incluía o endereço do contrato de token criado pelos atacantes, o que permitiu que os atacantes executassem operações de callback durante o processo de transação.

Durante o processo de troca, o atacante aproveitou a funcionalidade de callback no contrato de token que criou, chamando repetidamente o método depositAsset da plataforma-alvo, resultando na acumulação do montante depositado. No final, o atacante completou o lucro através da operação de retirada.

Análise de Ataque de Reentrada do OrionProtocol com PoC

Fluxo de Capital

A fonte inicial de fundos do atacante veio de uma carteira quente de uma grande 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 a parte restante foi transferida através de serviços de mistura.

Análise de ataques de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

O problema central da vulnerabilidade aparece na função doSwapThroughOrionPool. Esta função atualiza a variável curBalance após a execução da transferência de tokens, mas não considera o risco potencial de ataques de reentrada. Um atacante conseguiu realizar uma chamada de reentrada à função depositAsset, adicionando lógica de callback na função transfer do token personalizado, resultando na atualização incorreta da variável curBalance.

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

Reproduzir Ataques

Os pesquisadores conseguiram reproduzir o processo de ataque e forneceram o código POC relevante. Os resultados dos testes mostraram que os atacantes podiam obter fundos adicionais explorando a vulnerabilidade do contrato.

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 Segurança

Para contratos inteligentes com funcionalidade de troca de tokens, os desenvolvedores precisam considerar os seguintes pontos:

  1. Considerar plenamente as possíveis situações inesperadas que diferentes tipos de tokens e caminhos de troca podem trazer.
  2. Seguir o padrão de codificação "Checks-Effects-Interactions" (Verificações-Efeitos-Interações), ou seja, primeiro realizar a verificação do estado, em seguida atualizar o estado do contrato e, por último, interagir com contratos externos.
  3. Implementar mecanismos de segurança como locks de reentrada para prevenir ataques de reentrada.
  4. Para chamadas externas, especialmente aquelas que envolvem a transferência de fundos, deve-se ter um cuidado especial e realizar uma auditoria de segurança abrangente.

Ao adotar essas medidas, é possível reduzir significativamente o risco de ataques a contratos inteligentes, aumentando a segurança e a estabilidade do projeto. No ecossistema Web3, garantir a segurança dos contratos é fundamental para manter a confiança dos usuários e a segurança dos ativos.

ETH0.13%
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
  • 7
  • Republicar
  • Partilhar
Comentar
0/400
NftRegretMachinevip
· 08-09 01:43
Ataque de reentrada novamente
Ver originalResponder0
AirDropMissedvip
· 08-08 20:39
O auditor ficou confuso, não ficou?
Ver originalResponder0
TokenVelocityvip
· 08-07 01:39
Sem palavras, fui enganado.
Ver originalResponder0
LiquidatedNotStirredvip
· 08-06 03:45
A vulnerabilidade de reentrada é realmente dolorosa
Ver originalResponder0
NFT_Therapyvip
· 08-06 03:36
Mais uma vulnerabilidade de contrato
Ver originalResponder0
GateUser-40edb63bvip
· 08-06 03:29
Mais um que foi hackeado
Ver originalResponder0
NotGonnaMakeItvip
· 08-06 03:24
又变idiotas了
Ver originalResponder0
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)