Poolz sofre ataque de exploração de estouro aritmético, com perdas de cerca de 66,5 mil dólares.
Recentemente, um ataque ao Poolz chamou a atenção da comunidade de criptomoedas. De acordo com os dados de monitoramento on-chain, o ataque ocorreu em 15 de março de 2023, envolvendo várias cadeias como Ethereum, BNB Chain e Polygon. Este ataque resultou em perdas de vários tokens, totalizando cerca de 66,5 mil dólares.
Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente Poolz. Especificamente, o problema reside na função getArraySum dentro da função CreateMassPools. Esta função, ao calcular a quantidade de tokens, devido a um problema de estouro, resulta em uma discrepância entre a quantidade de tokens realmente transferidos e a quantidade registrada.
O processo de ataque é aproximadamente o seguinte:
O atacante primeiro trocou alguns tokens MNZ em uma determinada exchange descentralizada.
Em seguida, foi chamada a função CreateMassPools. Esta função deveria permitir que os usuários criassem pools de liquidez em massa e fornecessem liquidez inicial.
No processo de CreatePool, devido a um problema de overflow na função getArraySum, o atacante só precisa transferir 1 token, mas o sistema registra um valor muito maior do que a quantidade real.
Por fim, o atacante extraiu tokens muito além da quantidade que realmente depositou através da função withdraw, completando assim o ataque.
Este evento destaca novamente a importância e os riscos potenciais das operações aritméticas em contratos inteligentes. Para evitar problemas semelhantes, os desenvolvedores devem considerar usar versões mais recentes do compilador Solidity, que realizam automaticamente verificações de estouro. Para projetos que utilizam versões mais antigas do Solidity, recomenda-se a adoção da biblioteca SafeMath da OpenZeppelin para lidar com operações inteiras, a fim de evitar riscos de estouro.
Este evento nos lembra que, no desenvolvimento de blockchain e contratos inteligentes, a segurança deve sempre ser a principal consideração. Auditorias de código regulares, o uso de bibliotecas verificadas e a adoção de medidas de segurança abrangentes são cruciais para proteger os ativos dos usuários e manter 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.
5 gostos
Recompensa
5
2
Partilhar
Comentar
0/400
GweiTooHigh
· 9h atrás
Mais uma vez overflow. Agora ainda há projetos que cometem esse erro básico.
Ver originalResponder0
bridge_anxiety
· 9h atrás
Este velho projeto também tem falhas? Difícil de suportar.
Poolz sofre ataque de estouro aritmético com perda de 66,5 mil dólares
Poolz sofre ataque de exploração de estouro aritmético, com perdas de cerca de 66,5 mil dólares.
Recentemente, um ataque ao Poolz chamou a atenção da comunidade de criptomoedas. De acordo com os dados de monitoramento on-chain, o ataque ocorreu em 15 de março de 2023, envolvendo várias cadeias como Ethereum, BNB Chain e Polygon. Este ataque resultou em perdas de vários tokens, totalizando cerca de 66,5 mil dólares.
Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente Poolz. Especificamente, o problema reside na função getArraySum dentro da função CreateMassPools. Esta função, ao calcular a quantidade de tokens, devido a um problema de estouro, resulta em uma discrepância entre a quantidade de tokens realmente transferidos e a quantidade registrada.
O processo de ataque é aproximadamente o seguinte:
O atacante primeiro trocou alguns tokens MNZ em uma determinada exchange descentralizada.
Em seguida, foi chamada a função CreateMassPools. Esta função deveria permitir que os usuários criassem pools de liquidez em massa e fornecessem liquidez inicial.
No processo de CreatePool, devido a um problema de overflow na função getArraySum, o atacante só precisa transferir 1 token, mas o sistema registra um valor muito maior do que a quantidade real.
Por fim, o atacante extraiu tokens muito além da quantidade que realmente depositou através da função withdraw, completando assim o ataque.
Este evento destaca novamente a importância e os riscos potenciais das operações aritméticas em contratos inteligentes. Para evitar problemas semelhantes, os desenvolvedores devem considerar usar versões mais recentes do compilador Solidity, que realizam automaticamente verificações de estouro. Para projetos que utilizam versões mais antigas do Solidity, recomenda-se a adoção da biblioteca SafeMath da OpenZeppelin para lidar com operações inteiras, a fim de evitar riscos de estouro.
Este evento nos lembra que, no desenvolvimento de blockchain e contratos inteligentes, a segurança deve sempre ser a principal consideração. Auditorias de código regulares, o uso de bibliotecas verificadas e a adoção de medidas de segurança abrangentes são cruciais para proteger os ativos dos usuários e manter a reputação do projeto.