Análisis detallado del ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un ataque de un Hacker, lo que generó una amplia atención. El equipo de seguridad realizó un análisis exhaustivo de este evento y determinó que los atacantes modificaron el rol de keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados, y no por la filtración de la clave privada del keeper como se había rumoreado anteriormente.
Ataque central
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. Dado que el owner 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 solo necesita pasar datos cuidadosamente diseñados a la función verifyHeaderAndExecuteTx, lo que permite que la función _executeCrossChainTx invoque la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Una vez completado el reemplazo de la dirección del rol de keeper, el atacante podrá construir transacciones a voluntad y extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante primero llama a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando el rol de keeper.
A continuación, el hacker comenzó a llevar a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Después del ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron rechazadas.
Métodos de ataque similares también se han implementado en la red de Ethereum, y el proceso es similar al ataque en BSC.
Conclusión
La causa fundamental de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar los datos ingresados por el usuario a través de la función _executeCrossChainTx. El atacante explotó esta vulnerabilidad, construyendo datos específicos, logrando así cambiar el keeper del contrato EthCrossChainData a una dirección que controla, permitiendo la extracción ilegal de fondos del contrato.
Este evento resalta nuevamente la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente en sistemas complejos que involucran operaciones entre cadenas y la gestión de roles clave. El equipo de desarrollo debería diseñar e implementar mecanismos de gestión de permisos para los contratos con mayor precaución, para evitar que se aprovechen vulnerabilidades de seguridad similares.
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.
4 me gusta
Recompensa
4
4
Compartir
Comentar
0/400
ChainWanderingPoet
· hace14h
¿Te han hackeado de nuevo? ¿El contrato aún puede sostenerse?
Ver originalesResponder0
OfflineValidator
· hace14h
Se ha descubierto otra vulnerabilidad.
Ver originalesResponder0
Rugpull幸存者
· hace15h
Otra vez fue golpeado en el suelo.
Ver originalesResponder0
airdrop_huntress
· hace15h
¿Otra vez un fallo en el contrato? ¿Así de simple?
Análisis profundo del ataque hacker a Poly Network: el rol de keeper del contrato EthCrossChainData fue alterado.
Análisis detallado del ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un ataque de un Hacker, lo que generó una amplia atención. El equipo de seguridad realizó un análisis exhaustivo de este evento y determinó que los atacantes modificaron el rol de keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados, y no por la filtración de la clave privada del keeper como se había rumoreado anteriormente.
Ataque central
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. Dado que el owner 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 solo necesita pasar datos cuidadosamente diseñados a la función verifyHeaderAndExecuteTx, lo que permite que la función _executeCrossChainTx invoque la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Una vez completado el reemplazo de la dirección del rol de keeper, el atacante podrá construir transacciones a voluntad y extraer cualquier cantidad de fondos del contrato.
Proceso de ataque
El atacante primero llama a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando el rol de keeper.
A continuación, el hacker comenzó a llevar a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Después del ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron rechazadas.
Métodos de ataque similares también se han implementado en la red de Ethereum, y el proceso es similar al ataque en BSC.
Conclusión
La causa fundamental de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar los datos ingresados por el usuario a través de la función _executeCrossChainTx. El atacante explotó esta vulnerabilidad, construyendo datos específicos, logrando así cambiar el keeper del contrato EthCrossChainData a una dirección que controla, permitiendo la extracción ilegal de fondos del contrato.
Este evento resalta nuevamente la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente en sistemas complejos que involucran operaciones entre cadenas y la gestión de roles clave. El equipo de desarrollo debería diseñar e implementar mecanismos de gestión de permisos para los contratos con mayor precaución, para evitar que se aprovechen vulnerabilidades de seguridad similares.