Poolz sofre ataque de transbordamento aritmético, com perdas de cerca de 66,5 mil dólares.
Recentemente, um ataque ao Poolz ocorreu nas redes Ethereum, Binance Smart Chain e Polygon. De acordo com a monitorização de dados na blockchain, o ataque aconteceu às 3h16 do dia 15 de março de 2023, hora UTC (. Este ataque envolveu vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, totalizando uma perda de cerca de 665 mil dólares.
![Poolz sofreu um ataque devido a um problema de overflow aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(
Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente Poolz. Especificamente, o problema está na função getArraySum dentro da função CreateMassPools. Essa função falhou em lidar corretamente com a situação de estouro resultante da soma de grandes números ao calcular a liquidez inicial fornecida pelo usuário ao criar pools em massa.
O processo de ataque é o seguinte:
O atacante primeiro trocou uma pequena quantidade de tokens MNZ em uma determinada exchange descentralizada.
Em seguida, chame a função CreateMassPools, passando os parâmetros cuidadosamente elaborados. O array _StartAmount contém dois valores: um número grande próximo ao limite superior do uint256 e uma quantidade normal de tokens.
Devido à operação de soma acumulada na função getArraySum, o valor de retorno final é 1. No entanto, o contrato ainda usou o valor original de _StartAmount ao registrar as propriedades do pool.
Isso fez com que o atacante transferisse apenas 1 token, mas registrou uma quantidade enorme de liquidez no contrato.
Por fim, o atacante chama a função withdraw para retirar os tokens, completando o ataque.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(
Para evitar que tais problemas ocorram novamente, recomenda-se que os desenvolvedores adotem as seguintes medidas:
Utilize versões mais recentes do compilador Solidity, que realizam verificações de estouro automaticamente.
Se você precisar usar uma versão antiga do Solidity, pode introduzir bibliotecas de segurança de terceiros para lidar com operações inteiras, como a biblioteca SafeMath da OpenZeppelin.
Ao lidar com a entrada do usuário, especialmente em cenários que envolvem operações com grandes números, deve-se realizar uma verificação rigorosa de limites e tratamento de exceções.
Realizar auditorias de código regularmente, com especial atenção às partes que podem envolver estouro de inteiro.
Considerar a introdução de mecanismos como assinaturas múltiplas ou bloqueios temporais para ganhar tempo na resposta em situações de emergência.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(
Este incidente lembra-nos mais uma vez que, no desenvolvimento de contratos inteligentes, a segurança deve ser sempre a principal consideração. Mesmo operações aritméticas que parecem simples podem tornar-se uma brecha a ser explorada por atacantes.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com uma perda de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(
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.
16 gostos
Recompensa
16
4
Partilhar
Comentar
0/400
zkProofInThePudding
· 07-31 01:15
Muito escuro e perdendo, está muito fraco, não está?
Ver originalResponder0
DaisyUnicorn
· 07-31 01:15
Vejam o grande espetáculo das flores de vulnerabilidades florescendo~ Mais um honeypot que não foi bem calculado transbordou!
Ver originalResponder0
CryptoPhoenix
· 07-31 01:14
Mais um projeto caiu... vai levar tempo para reconstruir a fé[翻白眼] mas o mercado sempre consegue se reerguer!
Ver originalResponder0
ChainWanderingPoet
· 07-31 00:55
66w... já não consigo escrever um poema de cheiro a cobre
Poolz sofre ataque de estouro aritmético com perda de 665 mil dólares, ativos multichain afetados.
Poolz sofre ataque de transbordamento aritmético, com perdas de cerca de 66,5 mil dólares.
Recentemente, um ataque ao Poolz ocorreu nas redes Ethereum, Binance Smart Chain e Polygon. De acordo com a monitorização de dados na blockchain, o ataque aconteceu às 3h16 do dia 15 de março de 2023, hora UTC (. Este ataque envolveu vários tokens, incluindo MEE, ESNC, DON, ASW, KMON, POOLZ, totalizando uma perda de cerca de 665 mil dólares.
![Poolz sofreu um ataque devido a um problema de overflow aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(
Os atacantes exploraram uma vulnerabilidade de estouro aritmético no contrato inteligente Poolz. Especificamente, o problema está na função getArraySum dentro da função CreateMassPools. Essa função falhou em lidar corretamente com a situação de estouro resultante da soma de grandes números ao calcular a liquidez inicial fornecida pelo usuário ao criar pools em massa.
O processo de ataque é o seguinte:
O atacante primeiro trocou uma pequena quantidade de tokens MNZ em uma determinada exchange descentralizada.
Em seguida, chame a função CreateMassPools, passando os parâmetros cuidadosamente elaborados. O array _StartAmount contém dois valores: um número grande próximo ao limite superior do uint256 e uma quantidade normal de tokens.
Devido à operação de soma acumulada na função getArraySum, o valor de retorno final é 1. No entanto, o contrato ainda usou o valor original de _StartAmount ao registrar as propriedades do pool.
Isso fez com que o atacante transferisse apenas 1 token, mas registrou uma quantidade enorme de liquidez no contrato.
Por fim, o atacante chama a função withdraw para retirar os tokens, completando o ataque.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(
Para evitar que tais problemas ocorram novamente, recomenda-se que os desenvolvedores adotem as seguintes medidas:
Utilize versões mais recentes do compilador Solidity, que realizam verificações de estouro automaticamente.
Se você precisar usar uma versão antiga do Solidity, pode introduzir bibliotecas de segurança de terceiros para lidar com operações inteiras, como a biblioteca SafeMath da OpenZeppelin.
Ao lidar com a entrada do usuário, especialmente em cenários que envolvem operações com grandes números, deve-se realizar uma verificação rigorosa de limites e tratamento de exceções.
Realizar auditorias de código regularmente, com especial atenção às partes que podem envolver estouro de inteiro.
Considerar a introdução de mecanismos como assinaturas múltiplas ou bloqueios temporais para ganhar tempo na resposta em situações de emergência.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com perdas de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(
Este incidente lembra-nos mais uma vez que, no desenvolvimento de contratos inteligentes, a segurança deve ser sempre a principal consideração. Mesmo operações aritméticas que parecem simples podem tornar-se uma brecha a ser explorada por atacantes.
![Poolz sofreu um ataque devido a um problema de estouro aritmético, com uma perda de cerca de 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(