Análisis del incidente de ataque de flash loan a Cellframe Network
El 1 de junio de 2023 a las 10:07:55 (UTC+8), Cellframe Network fue atacada por hackers en la cadena inteligente debido a un problema de cálculo de la cantidad de tokens durante el proceso de migración de liquidez. Este ataque permitió a los hackers obtener una ganancia de aproximadamente 76,112 dólares.
Causas fundamentales del ataque
El problema de cálculo durante el proceso de migración de liquidez es la principal causa de este ataque.
Detalles del proceso de ataque
El atacante primero obtiene 1000 BNB y 500,000 tokens New Cell a través de Flash Loans. Luego, intercambian todos los tokens New Cell por BNB, lo que hace que la cantidad de BNB en la piscina se acerque a cero. Finalmente, el atacante intercambia 900 BNB por tokens Old Cell.
Cabe destacar que el atacante añadió liquidez de Old Cell y BNB antes de iniciar el ataque, obteniendo Old lp.
A continuación, el atacante llama a la función de migración de liquidez. En este momento, casi no hay BNB en el nuevo grupo, y casi no hay tokens Old Cell en el antiguo grupo. El proceso de migración incluye: eliminar la liquidez antigua y devolver la cantidad correspondiente de tokens al usuario; luego, agregar nueva liquidez según la proporción del nuevo grupo. Dado que en el antiguo grupo prácticamente no hay tokens Old Cell, la cantidad de BNB obtenida al retirar liquidez aumenta, mientras que la cantidad de tokens Old Cell disminuye. Esto lleva a que el usuario solo necesite agregar una pequeña cantidad de BNB y tokens New Cell para obtener liquidez, mientras que el exceso de BNB y tokens Old Cell se devuelve al usuario.
Por último, el atacante retira la liquidez del nuevo fondo y cambia los tokens Old Cell devueltos por BNB. En este momento, hay una gran cantidad de tokens Old Cell en el fondo antiguo, pero casi no hay BNB, por lo que el atacante vuelve a cambiar los tokens Old Cell por BNB y completa su ganancia. Luego, el atacante repite la operación de migración.
Consejos de seguridad
Al migrar liquidez, se debe considerar exhaustivamente el cambio en la cantidad de dos tokens en los nuevos y antiguos fondos, así como el precio actual de los tokens. Calcular directamente utilizando la cantidad de los dos tokens en el par de negociación puede ser manipulativo.
Antes de lanzar el código, es imprescindible realizar una auditoría de seguridad completa y rigurosa para prevenir la aparición de vulnerabilidades similares.
Este evento vuelve a enfatizar la necesidad de tener en cuenta la seguridad de manera excepcional y completa al manejar operaciones complejas de DeFi, especialmente aquellas que implican la migración de liquidez y otras operaciones sensibles.
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.
14 me gusta
Recompensa
14
7
Compartir
Comentar
0/400
nft_widow
· 07-15 08:09
Otro tonto que ha sido tomado a la gente por tonta.
Ver originalesResponder0
GateUser-74b10196
· 07-15 05:46
La billetera de vulnerabilidad ha vuelto a ascender.
Cellframe Network sufrió un ataque de flash loan con una pérdida de 76,000 dólares.
Análisis del incidente de ataque de flash loan a Cellframe Network
El 1 de junio de 2023 a las 10:07:55 (UTC+8), Cellframe Network fue atacada por hackers en la cadena inteligente debido a un problema de cálculo de la cantidad de tokens durante el proceso de migración de liquidez. Este ataque permitió a los hackers obtener una ganancia de aproximadamente 76,112 dólares.
Causas fundamentales del ataque
El problema de cálculo durante el proceso de migración de liquidez es la principal causa de este ataque.
Detalles del proceso de ataque
El atacante primero obtiene 1000 BNB y 500,000 tokens New Cell a través de Flash Loans. Luego, intercambian todos los tokens New Cell por BNB, lo que hace que la cantidad de BNB en la piscina se acerque a cero. Finalmente, el atacante intercambia 900 BNB por tokens Old Cell.
Cabe destacar que el atacante añadió liquidez de Old Cell y BNB antes de iniciar el ataque, obteniendo Old lp.
A continuación, el atacante llama a la función de migración de liquidez. En este momento, casi no hay BNB en el nuevo grupo, y casi no hay tokens Old Cell en el antiguo grupo. El proceso de migración incluye: eliminar la liquidez antigua y devolver la cantidad correspondiente de tokens al usuario; luego, agregar nueva liquidez según la proporción del nuevo grupo. Dado que en el antiguo grupo prácticamente no hay tokens Old Cell, la cantidad de BNB obtenida al retirar liquidez aumenta, mientras que la cantidad de tokens Old Cell disminuye. Esto lleva a que el usuario solo necesite agregar una pequeña cantidad de BNB y tokens New Cell para obtener liquidez, mientras que el exceso de BNB y tokens Old Cell se devuelve al usuario.
Por último, el atacante retira la liquidez del nuevo fondo y cambia los tokens Old Cell devueltos por BNB. En este momento, hay una gran cantidad de tokens Old Cell en el fondo antiguo, pero casi no hay BNB, por lo que el atacante vuelve a cambiar los tokens Old Cell por BNB y completa su ganancia. Luego, el atacante repite la operación de migración.
Consejos de seguridad
Al migrar liquidez, se debe considerar exhaustivamente el cambio en la cantidad de dos tokens en los nuevos y antiguos fondos, así como el precio actual de los tokens. Calcular directamente utilizando la cantidad de los dos tokens en el par de negociación puede ser manipulativo.
Antes de lanzar el código, es imprescindible realizar una auditoría de seguridad completa y rigurosa para prevenir la aparición de vulnerabilidades similares.
Este evento vuelve a enfatizar la necesidad de tener en cuenta la seguridad de manera excepcional y completa al manejar operaciones complejas de DeFi, especialmente aquellas que implican la migración de liquidez y otras operaciones sensibles.