Análisis del incidente de ataque del Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue atacado por un Hacker, lo que generó una amplia atención en la industria. Un equipo de expertos en seguridad realizó un análisis profundo de este incidente y concluyó que los atacantes no llevaron a cabo el ataque a través de la filtración de claves privadas, sino que aprovecharon una vulnerabilidad en el contrato para modificar parámetros clave.
Ataque al núcleo
El atacante, a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, pasó datos cuidadosamente elaborados y logró modificar la dirección del keeper del contrato EthCrossChainData. Esta operación permitió al atacante obtener permisos para extraer los fondos del contrato.
Detalles del ataque
La clave del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones específicas entre cadenas a través de la función _executeCrossChainTx.
El owner del contrato EthCrossChainData es el contrato EthCrossChainManager, por lo que este último puede llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
El atacante utiliza la función verifyHeaderAndExecuteTx, pasando datos personalizados, lo que hace que la función _executeCrossChainTx ejecute la operación de modificar la dirección del keeper.
Una vez que se haya reemplazado con éxito la dirección del keeper, el atacante podrá construir transacciones para extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante primero llamó a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando al keeper.
A continuación, el atacante utilizó los nuevos permisos de keeper para realizar múltiples operaciones de extracción de fondos.
Después de que se complete el ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios son rechazadas.
Modos de ataque similares también se reproducen en la red de Ethereum.
Conclusión
El núcleo de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y que la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este mecanismo para construir datos específicos, logrando así modificar la dirección del keeper y, por lo tanto, obtener el control de los fondos del contrato.
Este evento destaca nuevamente la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente en escenarios complejos como las operaciones entre cadenas, donde es necesario realizar una revisión exhaustiva y rigurosa de la lógica del contrato para prevenir riesgos de seguridad potenciales.
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.
14 me gusta
Recompensa
14
7
Compartir
Comentar
0/400
GmGnSleeper
· hace6h
Las vulnerabilidades están por todas partes, mejor dormir.
Ver originalesResponder0
CryptoAdventurer
· hace6h
Otra ronda de tomar a la gente por tonta ha terminado.
Ver originalesResponder0
BearMarketSurvivor
· hace6h
Otro esquema Ponzi ha colapsado.
Ver originalesResponder0
BlockchainFoodie
· hace6h
sabe a una sopa de contrato inteligente mal cocinada... necesita más sazonador de seguridad fr
Análisis del ataque del hacker de Poly Network: la vulnerabilidad del contrato llevó al robo de fondos cross-chain.
Análisis del incidente de ataque del Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue atacado por un Hacker, lo que generó una amplia atención en la industria. Un equipo de expertos en seguridad realizó un análisis profundo de este incidente y concluyó que los atacantes no llevaron a cabo el ataque a través de la filtración de claves privadas, sino que aprovecharon una vulnerabilidad en el contrato para modificar parámetros clave.
Ataque al núcleo
El atacante, a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, pasó datos cuidadosamente elaborados y logró modificar la dirección del keeper del contrato EthCrossChainData. Esta operación permitió al atacante obtener permisos para extraer los fondos del contrato.
Detalles del ataque
La clave del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones específicas entre cadenas a través de la función _executeCrossChainTx.
El owner del contrato EthCrossChainData es el contrato EthCrossChainManager, por lo que este último puede llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
El atacante utiliza la función verifyHeaderAndExecuteTx, pasando datos personalizados, lo que hace que la función _executeCrossChainTx ejecute la operación de modificar la dirección del keeper.
Una vez que se haya reemplazado con éxito la dirección del keeper, el atacante podrá construir transacciones para extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante primero llamó a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando al keeper.
A continuación, el atacante utilizó los nuevos permisos de keeper para realizar múltiples operaciones de extracción de fondos.
Después de que se complete el ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios son rechazadas.
Modos de ataque similares también se reproducen en la red de Ethereum.
Conclusión
El núcleo de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y que la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este mecanismo para construir datos específicos, logrando así modificar la dirección del keeper y, por lo tanto, obtener el control de los fondos del contrato.
Este evento destaca nuevamente la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente en escenarios complejos como las operaciones entre cadenas, donde es necesario realizar una revisión exhaustiva y rigurosa de la lógica del contrato para prevenir riesgos de seguridad potenciales.