OrionProtocol sofreu um ataque de reentrada de 290 milhões, com fundos já parcialmente a fluir para o misturador de criptomoedas

robot
Geração de resumo em curso

Análise do incidente de ataque por reentrada do OrionProtocol

No dia 2 de fevereiro de 2023 à tarde, o OrionProtocol sofreu um ataque de reentrada devido a uma vulnerabilidade no contrato nas redes Ethereum e Binance Smart Chain, resultando em uma perda total de aproximadamente 2,9 milhões de dólares. As perdas específicas incluem 2.844.766 USDT na rede Ethereum e 191.606 BUSD na Binance Smart Chain.

Análise do Processo de Ataque

O atacante primeiro implantou um contrato de Token personalizado e realizou operações de transferência e autorização relacionadas, preparando-se para o ataque subsequente. Em seguida, o atacante tomou emprestado usando o método swap de um determinado DEX e chamou o método ExchangeWithAtomic.swapThroughOrionPool para a troca de tokens. O caminho de troca foi definido como [USDC, Token do atacante, USDT].

Durante o processo de troca, o atacante utilizou a funcionalidade de callback do contrato de Token personalizado, chamando repetidamente a função ExchangeWithAtomic.depositAsset através do método Token.Transfer, resultando na acumulação contínua do montante depositado. No final, o atacante completou o lucro através da operação de saque.

Análise de Ataques de Reentrada do OrionProtocol com PoC

Fluxo de Capital

A fonte inicial de capital do atacante vem da conta da carteira quente de uma determinada 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 serviços de mistura.

Análise de ataque de reentrada do OrionProtocol com PoC

Análise de Vulnerabilidades

A questão central está na função doSwapThroughOrionPool. Esta função chama a função _doSwapTokens, que atualiza a variável curBalance após a transferência de tokens. O atacante adicionou uma lógica de callback na função transfer do Token personalizado, chamando a função depositAsset, o que resultou na atualização incorreta de curBalance. O atacante, em seguida, chamou a função withdraw para retirar os fundos após reembolsar o empréstimo relâmpago, completando o ataque.

Análise de Ataque de Reentrada do OrionProtocol com PoC

Análise de ataque de reentrada do OrionProtocol com PoC

Reproduzir Ataques

O atacante cria um contrato de token ERC20 personalizado e utiliza a funcionalidade de empréstimos relâmpago de uma DEX para realizar o ataque. Os principais passos incluem:

  1. Criar um Token personalizado e estabelecer pares de negociação com USDC e USDT
  2. Preparar o capital inicial e fornecer liquidez
  3. Chamar as funções depositAsset e swapThroughOrionPool do contrato ExchangeWithAtomic
  4. Adicionar lógica de callback na função transfer do Token personalizado
  5. Finalmente, retire os lucros através da função withdraw.

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

Análise de ataque de reentrância do OrionProtocol com PoC

Recomendações de Segurança

Para evitar ataques semelhantes, a equipe do projeto deve ter em atenção os seguintes pontos:

  1. Na concepção de contratos, é necessário considerar os riscos de segurança que podem surgir de múltiplos tokens e caminhos de troca.
  2. Seguir a norma de codificação "verificação primeiro, depois efeitos, e por último interações" (Checks-Effects-Interactions)
  3. Implementar auditorias de segurança abrangentes, com foco especial no risco de ataques de reentrada.
  4. Considere usar mecanismos de segurança como bloqueios de reentrada
  5. Realizar regularmente varreduras de vulnerabilidades em contratos e avaliações de segurança

Este evento sublinha novamente a importância da segurança dos contratos inteligentes, os projetos devem prestar atenção contínua e melhorar suas medidas de segurança para proteger os ativos dos usuários e manter a reputação da plataforma.

TOKEN-4.94%
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
  • Partilhar
Comentar
0/400
AirdropF5Brovip
· 20h atrás
Armadilha em ação, já há um novo objetivo~
Ver originalResponder0
ProbablyNothingvip
· 20h atrás
O contrato pode ser ainda pior?
Ver originalResponder0
CountdownToBrokevip
· 20h atrás
Mais uma empresa que faliu.
Ver originalResponder0
StablecoinAnxietyvip
· 21h atrás
Ai, lá vem mais um Hacker estilo juiz
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)