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

robot
Geração de resumo em curso

Análise do incidente de ataque de reentrada do OrionProtocol

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

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 fez um empréstimo através do método swap de um certo DEX e chamou o método ExchangeWithAtomic.swapThroughOrionPool do OrionProtocol para trocar tokens. O caminho de troca foi definido como [USDC, Token do atacante, USDT].

Durante o processo de troca, devido à lógica de callback incluída no contrato Token criado pelo atacante, uma chamada de reentrância é acionada para o método ExchangeWithAtomic.depositAsset durante a operação de Transfer, resultando na acumulação múltipla do montante depositado. No final, o atacante completa o lucro através da operação de retirada.

Análise de ataque de reentrada do OrionProtocol com PoC

Fluxo de Capital

Os fundos iniciais do atacante vêm da conta da carteira quente de uma plataforma de negociação. Dos 1.651 ETH lucrativos, 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

O problema central reside na função doSwapThroughOrionPool do contrato ExchangeWithAtomic. Esta função atualiza a variável curBalance após a execução da transferência de Token, o que cria condições para um ataque de reentrada. O atacante aproveita o callback da função transfer do Token personalizado para chamar o método depositAsset, resultando na atualização incorreta de curBalance. No final, após reembolsar o empréstimo relâmpago, o atacante extraiu fundos excessivos 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 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

  1. Na concepção do contrato, devem ser consideradas as potenciais riscos de segurança que várias Tokens e caminhos de troca podem trazer.

  2. Siga o padrão "Checks-Effects-Interactions"(Checks-Effects-Interactions) ao escrever o código do contrato, ou seja, faça primeiro a verificação das condições, depois atualize as variáveis de estado e, por último, execute as chamadas externas.

  3. Implementar um bloqueio de reentrada nas funções críticas para evitar ataques de reentrada.

  4. Para contratos de Token chamados externamente, deve ser realizada uma auditoria de segurança rigorosa e uma gestão de lista branca.

  5. Realizar auditorias de segurança de contratos regularmente, detectando e corrigindo rapidamente vulnerabilidades potenciais.

Ao adotar essas medidas, é possível reduzir efetivamente o risco de ataques a contratos inteligentes e aumentar a segurança geral do projeto.

TOKEN-6.52%
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
DevChivevip
· 9h atrás
Outra máquina de fazer as pessoas de parvas está a esfriar.
Ver originalResponder0
GasWastervip
· 9h atrás
Outra máquina de fazer as pessoas de parvas condenou
Ver originalResponder0
SleepTradervip
· 10h atrás
又 fazer as pessoas de parvas uma onda idiotas啊
Ver originalResponder0
BearMarketLightningvip
· 10h atrás
Outra vez foram usados os Cupões de Recorte.
Ver originalResponder0
DoomCanistervip
· 10h atrás
Outra vez a velha questão dos contratos inteligentes.
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)