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

robot
Geração de resumo em curso

Análise do incidente de ataque de reentrada do OrionProtocol

No dia 2 de fevereiro de 2023, à tarde, o Orion Protocol na Ethereum e na Binance Smart Chain sofreu um ataque de reentrada devido a uma vulnerabilidade de contrato, resultando em uma perda total de cerca de 2,9 milhões de dólares em ativos, incluindo 2.844.766 USDT na Ethereum e 191.606 BUSD na Binance Smart Chain.

Análise do processo de ataque

O atacante primeiro implementou um contrato de Token personalizado e realizou as operações de transferência e autorização relacionadas, preparando-se para o ataque subsequente. Em seguida, o atacante realizou um empréstimo através da função swap do Uniswap V2 e chamou o método ExchangeWithAtomic.swapThroughOrionPool do OrionProtocol para a troca de tokens.

O caminho de troca é definido como [USDC, Token do Atacante, USDT], onde o Token do Atacante é utilizado para executar a operação de callback. Durante o processo de troca, devido à lógica de callback incluída no contrato do Token do Atacante, ocorre que, ao executar o método ExchangeWithAtomic.swapThroughOrionPool, o Token.Transfer continua a chamar a função ExchangeWithAtomic.depositAsset, permitindo assim um ataque de reentrada. Isso resulta na soma repetida do montante depositado, e, por fim, o atacante obtém lucros através da operação de retirada.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Capital

A origem dos fundos iniciais do atacante vem de uma grande plataforma de negociação com uma carteira quente. Dos 1.651 ETH ganhos com o ataque, 657,5 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 aparece na função doSwapThroughOrionPool. Esta função chama a função _doSwapTokens, que atualiza a variável curBalance após a execução da operação de transferência. O atacante aproveitou a lógica de callback adicionada na função transfer do Token personalizado, chamando novamente a função depositAsset durante o processo de transferência, o que resulta na atualização incorreta da variável curBalance. Isso permite que o atacante retire fundos adicionais 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 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 Segurança

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

  1. Ao implementar a funcionalidade de troca de tokens, é necessário considerar os riscos de segurança que podem resultar de vários tipos de tokens e caminhos de troca.

  2. Seguir rigorosamente o padrão de codificação "Checks-Effects-Interactions", ou seja, primeiro realizar a verificação do estado, depois atualizar o estado do contrato e, por último, interagir com contratos externos.

  3. Implementar mecanismos de segurança, como bloqueios de reentrada, para prevenir a ocorrência de ataques de reentrada.

  4. Para funções críticas que envolvem operações financeiras, deve ser realizada uma auditoria de segurança e testes abrangentes.

  5. Considere a introdução de medidas de segurança adicionais, como retiradas com atraso ou multi-assinaturas, para aumentar a dificuldade de ataques.

Ao adotar essas medidas, é possível reduzir significativamente o risco de ataques a contratos inteligentes e aumentar a segurança geral do projeto. No ecossistema Web3, a segurança deve sempre ser uma consideração primordial.

TOKEN6.37%
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
  • 5
  • Partilhar
Comentar
0/400
EntryPositionAnalystvip
· 12h atrás
Mais uma vez a equipe foi descuidada, aprendendo com os erros.
Ver originalResponder0
BearMarketSurvivorvip
· 12h atrás
O campo de batalha principal foi atacado novamente, com perdas de 290w.
Ver originalResponder0
PaperHandSistervip
· 12h atrás
Outra vez Rekt. Por que continuar a explorar as falhas dos contratos?
Ver originalResponder0
NeverVoteOnDAOvip
· 12h atrás
Mais uma falha de contrato, sem fim à vista.
Ver originalResponder0
BearMarketSurvivorvip
· 12h atrás
Ficou escuro de novo? Que carteiras ainda são seguras?
Ver originalResponder0
  • Pino
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)