Poolz sofre ataque de vulnerabilidade de overflow aritmético, com perdas de cerca de 66,5 mil dólares.
Na madrugada de 15 de março de 2023, a Poolz foi atacada nas redes Ethereum, BNB Chain e Polygon, resultando na perda de vários ativos de tokens, com um valor total de aproximadamente 665 mil dólares. Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente, conseguindo contornar as restrições de transferência de fundos.
De acordo com a monitorização de dados na blockchain, este ataque envolve vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, entre outros. Os atacantes já trocaram alguns dos tokens lucrativos por BNB, mas atualmente esses fundos ainda não foram transferidos.
O processo de ataque é principalmente dividido em três etapas:
O atacante primeiro trocou uma pequena quantidade de tokens MNZ através de um DEX.
Em seguida, foi chamada a função CreateMassPools do contrato Poolz. Esta função deveria ser utilizada para criar em massa pools de liquidez e fornecer liquidez inicial, mas contém uma falha crítica.
A vulnerabilidade aparece na função getArraySum. Esta função acumula valores percorrendo o array _StartAmount, mas não considera a possibilidade de overflow. Um atacante construiu cuidadosamente um array que causa um overflow de uint256, fazendo com que o valor de retorno da função seja 1, enquanto o valor real registrado em _StartAmount é um número enorme.
Por fim, o atacante chama a função withdraw para retirar fundos, completando todo o processo de ataque.
Este evento destaca novamente o perigo do problema de estouro aritmético em contratos inteligentes. Para prevenir ataques semelhantes, os desenvolvedores devem considerar as seguintes recomendações:
Utilize uma versão mais recente do compilador Solidity, que possui um mecanismo de verificação de estouro embutido.
Em versões anteriores do Solidity, é possível importar bibliotecas de segurança de terceiros, como o SafeMath da OpenZeppelin, para lidar com operações inteiras.
Realizar uma auditoria de código abrangente, com especial atenção às partes que envolvem cálculos matemáticos.
Implementar medidas de segurança adicionais, como multiassinatura, para adicionar uma camada de proteção a operações críticas.
Este evento serve novamente como um lembrete de que, no ecossistema de blockchain, o código é a lei. As equipes de desenvolvimento devem manter-se sempre alerta e aprimorar continuamente as práticas de segurança para proteger os ativos dos usuários e a reputação do projeto.
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.
17 gostos
Recompensa
17
6
Partilhar
Comentar
0/400
DataPickledFish
· 1h atrás
Um típico novato na redação de contratos.
Ver originalResponder0
AltcoinMarathoner
· 2h atrás
Outro obstáculo na maratona DeFi
Ver originalResponder0
TokenVelocity
· 2h atrás
Por que a nossa proteção é tão fraca?
Ver originalResponder0
ImpermanentPhobia
· 2h atrás
O contrato tem uma falha novamente, transbordando.
Ver originalResponder0
ForkYouPayMe
· 2h atrás
Mais um exemplo de estouro aritmético
Ver originalResponder0
degenonymous
· 2h atrás
As vulnerabilidades de contratos são difíceis de evitar.
Poolz sofre ataque de estouro aritmético, com perdas de 665 mil dólares. Ativos de múltiplas cadeias foram afetados.
Poolz sofre ataque de vulnerabilidade de overflow aritmético, com perdas de cerca de 66,5 mil dólares.
Na madrugada de 15 de março de 2023, a Poolz foi atacada nas redes Ethereum, BNB Chain e Polygon, resultando na perda de vários ativos de tokens, com um valor total de aproximadamente 665 mil dólares. Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente, conseguindo contornar as restrições de transferência de fundos.
De acordo com a monitorização de dados na blockchain, este ataque envolve vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, entre outros. Os atacantes já trocaram alguns dos tokens lucrativos por BNB, mas atualmente esses fundos ainda não foram transferidos.
O processo de ataque é principalmente dividido em três etapas:
O atacante primeiro trocou uma pequena quantidade de tokens MNZ através de um DEX.
Em seguida, foi chamada a função CreateMassPools do contrato Poolz. Esta função deveria ser utilizada para criar em massa pools de liquidez e fornecer liquidez inicial, mas contém uma falha crítica.
A vulnerabilidade aparece na função getArraySum. Esta função acumula valores percorrendo o array _StartAmount, mas não considera a possibilidade de overflow. Um atacante construiu cuidadosamente um array que causa um overflow de uint256, fazendo com que o valor de retorno da função seja 1, enquanto o valor real registrado em _StartAmount é um número enorme.
Por fim, o atacante chama a função withdraw para retirar fundos, completando todo o processo de ataque.
Este evento destaca novamente o perigo do problema de estouro aritmético em contratos inteligentes. Para prevenir ataques semelhantes, os desenvolvedores devem considerar as seguintes recomendações:
Utilize uma versão mais recente do compilador Solidity, que possui um mecanismo de verificação de estouro embutido.
Em versões anteriores do Solidity, é possível importar bibliotecas de segurança de terceiros, como o SafeMath da OpenZeppelin, para lidar com operações inteiras.
Realizar uma auditoria de código abrangente, com especial atenção às partes que envolvem cálculos matemáticos.
Implementar medidas de segurança adicionais, como multiassinatura, para adicionar uma camada de proteção a operações críticas.
Este evento serve novamente como um lembrete de que, no ecossistema de blockchain, o código é a lei. As equipes de desenvolvimento devem manter-se sempre alerta e aprimorar continuamente as práticas de segurança para proteger os ativos dos usuários e a reputação do projeto.