Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un ataque de Hacker, lo que generó una amplia atención en la industria. Según el análisis del equipo de seguridad, este ataque no fue causado por la filtración de la clave privada del keeper, sino que el atacante modificó cuidadosamente los datos para alterar la dirección del keeper del contrato EthCrossChainData.
Ataque al núcleo
La clave del ataque radica en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones específicas de cross-chain a través de la función _executeCrossChainTx. Dado que el propietario del contrato EthCrossChainData es el contrato EthCrossChainManager, este último puede llamar a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData para modificar el keeper del contrato.
El atacante utiliza la función verifyHeaderAndExecuteTx para pasar datos personalizados, lo que provoca que la función _executeCrossChainTx llame a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Al completar este paso, el atacante puede construir transacciones para extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante cambió el keeper al llamar a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager.
A continuación, el atacante llevó a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechazó la ejecución de las transacciones normales de otros usuarios.
Métodos de ataque similares también se han utilizado en la red de Ethereum, donde los atacantes también modificaron el keeper y llevaron a cabo el ataque.
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 contrato puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este mecanismo para modificar la dirección del keeper del contrato EthCrossChainData al construir datos específicos, logrando así su objetivo de ataque.
Este evento vuelve a recordar la importancia de la seguridad en los protocolos de cadena cruzada, especialmente en la gestión de roles clave y el control de permisos. En el futuro, proyectos similares deben ser diseñados con más cuidado para evitar vulnerabilidades que podrían ser explotadas por hackers.
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.
8 me gusta
Recompensa
8
4
Republicar
Compartir
Comentar
0/400
NotSatoshi
· hace12h
Cadena de bloques嫖老师
Ver originalesResponder0
GateUser-7b078580
· hace12h
Otra vulnerabilidad de los contratos inteligentes. ¿Cuántos contratos más se pueden confiar?
Poly Network fue atacado por un Hacker: el keeper del contrato EthCrossChainData fue alterado.
Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un ataque de Hacker, lo que generó una amplia atención en la industria. Según el análisis del equipo de seguridad, este ataque no fue causado por la filtración de la clave privada del keeper, sino que el atacante modificó cuidadosamente los datos para alterar la dirección del keeper del contrato EthCrossChainData.
Ataque al núcleo
La clave del ataque radica en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones específicas de cross-chain a través de la función _executeCrossChainTx. Dado que el propietario del contrato EthCrossChainData es el contrato EthCrossChainManager, este último puede llamar a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData para modificar el keeper del contrato.
El atacante utiliza la función verifyHeaderAndExecuteTx para pasar datos personalizados, lo que provoca que la función _executeCrossChainTx llame a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Al completar este paso, el atacante puede construir transacciones para extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante cambió el keeper al llamar a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager.
A continuación, el atacante llevó a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechazó la ejecución de las transacciones normales de otros usuarios.
Métodos de ataque similares también se han utilizado en la red de Ethereum, donde los atacantes también modificaron el keeper y llevaron a cabo el ataque.
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 contrato puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este mecanismo para modificar la dirección del keeper del contrato EthCrossChainData al construir datos específicos, logrando así su objetivo de ataque.
Este evento vuelve a recordar la importancia de la seguridad en los protocolos de cadena cruzada, especialmente en la gestión de roles clave y el control de permisos. En el futuro, proyectos similares deben ser diseñados con más cuidado para evitar vulnerabilidades que podrían ser explotadas por hackers.