Poolz sufre un ataque de desbordamiento aritmético, con pérdidas de aproximadamente 66.5 mil dólares
Recientemente, se produjo un ataque contra Poolz en las redes de Ethereum, Binance Smart Chain y Polygon. Según el monitoreo de datos en cadena, el ataque ocurrió el 15 de marzo de 2023 a las 3:16 AM UTC (. Este ataque involucró varios tokens, incluidos MEE, ESNC, DON, ASW, KMON, POOLZ, entre otros, con una pérdida total de aproximadamente 665,000 dólares.
![Poolz sufrió un ataque debido a un problema de desbordamiento aritmético, ¡con pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(
Los atacantes explotaron una vulnerabilidad de desbordamiento aritmético en el contrato inteligente de Poolz. En concreto, el problema radica en la función getArraySum dentro de la función CreateMassPools. Esta función no maneja correctamente la situación de desbordamiento que resulta de la suma de números grandes al calcular la liquidez inicial proporcionada por los usuarios al crear grupos en masa.
El proceso de ataque es el siguiente:
El atacante primero intercambió una pequeña cantidad de tokens MNZ en un intercambio descentralizado.
Luego se llama a la función CreateMassPools, pasando parámetros cuidadosamente construidos. El arreglo _StartAmount contiene dos valores: uno que se acerca al límite superior de uint256 y otro que es una cantidad normal de tokens.
Debido a la operación de acumulación en la función getArraySum que provoca un desbordamiento, el valor de retorno final es 1. Sin embargo, el contrato aún utiliza el valor original de _StartAmount al registrar las propiedades del fondo.
Esto llevó a que el atacante realmente solo transfiriera 1 token, pero se registró una gran cantidad de liquidez en el contrato.
Finalmente, el atacante llama a la función withdraw para retirar los tokens y completar el ataque.
![Poolz fue atacado debido a un problema de desbordamiento aritmético, ¡con pérdidas de aproximadamente 665K dólares! ])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(
Para evitar que este tipo de problemas vuelva a ocurrir, se recomienda a los desarrolladores que tomen las siguientes medidas:
Utiliza una versión más reciente del compilador de Solidity, ya que estas versiones realizan automáticamente la verificación de desbordamiento.
Si es necesario utilizar una versión antigua de Solidity, se pueden introducir bibliotecas de seguridad de terceros para manejar operaciones de enteros, como la biblioteca SafeMath de OpenZeppelin.
Al manejar la entrada del usuario, especialmente en escenarios que involucren operaciones con números grandes, se deben realizar comprobaciones de límites estrictas y un manejo de excepciones adecuado.
Realizar auditorías de código regularmente, prestando especial atención a las partes que pueden involucrar desbordamientos de enteros.
Considerar la introducción de mecanismos como la firma múltiple o el bloqueo temporal para ganar tiempo en la respuesta en situaciones de emergencia.
![Poolz sufre un ataque debido a un problema de desbordamiento aritmético, ¡pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(
Este incidente nos recuerda una vez más que la seguridad debe ser siempre la principal consideración en el desarrollo de contratos inteligentes. Incluso las operaciones aritméticas que parecen simples pueden convertirse en un punto de entrada que los atacantes pueden aprovechar.
![Poolz sufrió un ataque debido a un problema de desbordamiento aritmético, con pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
16 me gusta
Recompensa
16
4
Compartir
Comentar
0/400
zkProofInThePudding
· 07-31 01:15
Demasiado negro y en pérdida, ¿no es un poco malo?
Ver originalesResponder0
DaisyUnicorn
· 07-31 01:15
¡Mira el gran espectáculo de flores de fallos que está por venir! Otro honeypot ha desbordado porque no se calculó bien.
Ver originalesResponder0
CryptoPhoenix
· 07-31 01:14
Otro proyecto ha caído... levantarse tomará tiempo para restaurar la fe[翻白眼] pero el mercado siempre puede reconstruirse!
Ver originalesResponder0
ChainWanderingPoet
· 07-31 00:55
66w...no puedo ni escribir poesía sobre el olor a cobre.
Poolz sufre un ataque de desbordamiento aritmético, con pérdidas de 665,000 dólares, activos de múltiples cadenas afectados.
Poolz sufre un ataque de desbordamiento aritmético, con pérdidas de aproximadamente 66.5 mil dólares
Recientemente, se produjo un ataque contra Poolz en las redes de Ethereum, Binance Smart Chain y Polygon. Según el monitoreo de datos en cadena, el ataque ocurrió el 15 de marzo de 2023 a las 3:16 AM UTC (. Este ataque involucró varios tokens, incluidos MEE, ESNC, DON, ASW, KMON, POOLZ, entre otros, con una pérdida total de aproximadamente 665,000 dólares.
![Poolz sufrió un ataque debido a un problema de desbordamiento aritmético, ¡con pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(
Los atacantes explotaron una vulnerabilidad de desbordamiento aritmético en el contrato inteligente de Poolz. En concreto, el problema radica en la función getArraySum dentro de la función CreateMassPools. Esta función no maneja correctamente la situación de desbordamiento que resulta de la suma de números grandes al calcular la liquidez inicial proporcionada por los usuarios al crear grupos en masa.
El proceso de ataque es el siguiente:
El atacante primero intercambió una pequeña cantidad de tokens MNZ en un intercambio descentralizado.
Luego se llama a la función CreateMassPools, pasando parámetros cuidadosamente construidos. El arreglo _StartAmount contiene dos valores: uno que se acerca al límite superior de uint256 y otro que es una cantidad normal de tokens.
Debido a la operación de acumulación en la función getArraySum que provoca un desbordamiento, el valor de retorno final es 1. Sin embargo, el contrato aún utiliza el valor original de _StartAmount al registrar las propiedades del fondo.
Esto llevó a que el atacante realmente solo transfiriera 1 token, pero se registró una gran cantidad de liquidez en el contrato.
Finalmente, el atacante llama a la función withdraw para retirar los tokens y completar el ataque.
![Poolz fue atacado debido a un problema de desbordamiento aritmético, ¡con pérdidas de aproximadamente 665K dólares! ])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(
Para evitar que este tipo de problemas vuelva a ocurrir, se recomienda a los desarrolladores que tomen las siguientes medidas:
Utiliza una versión más reciente del compilador de Solidity, ya que estas versiones realizan automáticamente la verificación de desbordamiento.
Si es necesario utilizar una versión antigua de Solidity, se pueden introducir bibliotecas de seguridad de terceros para manejar operaciones de enteros, como la biblioteca SafeMath de OpenZeppelin.
Al manejar la entrada del usuario, especialmente en escenarios que involucren operaciones con números grandes, se deben realizar comprobaciones de límites estrictas y un manejo de excepciones adecuado.
Realizar auditorías de código regularmente, prestando especial atención a las partes que pueden involucrar desbordamientos de enteros.
Considerar la introducción de mecanismos como la firma múltiple o el bloqueo temporal para ganar tiempo en la respuesta en situaciones de emergencia.
![Poolz sufre un ataque debido a un problema de desbordamiento aritmético, ¡pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(
Este incidente nos recuerda una vez más que la seguridad debe ser siempre la principal consideración en el desarrollo de contratos inteligentes. Incluso las operaciones aritméticas que parecen simples pueden convertirse en un punto de entrada que los atacantes pueden aprovechar.
![Poolz sufrió un ataque debido a un problema de desbordamiento aritmético, con pérdidas de aproximadamente 665K dólares!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(