Análisis del incidente de ataque a Poly Network: los detalles revelan cómo el atacante aprovechó ingeniosamente la vulnerabilidad del contrato
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue atacado por hackers, lo que generó una amplia atención en la industria. El equipo de seguridad realizó un análisis profundo del incidente y concluyó que los atacantes modificaron el keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados, y no a través de la supuesta filtración de la clave privada del keeper que se había difundido anteriormente.
Puntos clave del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones entre cadenas a través de la función _executeCrossChainTx.
El propietario del contrato EthCrossChainData es el contrato EthCrossChainManager, el cual puede llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
El atacante utiliza la función verifyHeaderAndExecuteTx pasando datos cuidadosamente construidos, lo que hace que la función _executeCrossChainTx ejecute la función putCurEpochConPubKeyBytes, cambiando así el keeper a la dirección especificada.
Una vez completado el reemplazo de la dirección del keeper, el atacante puede construir transacciones a su antojo para extraer fondos del contrato.
Restauración del 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 keeper.
Después de que se cambió el keeper, el atacante comenzó a implementar múltiples transacciones de ataque para extraer fondos del contrato.
Después de que se complete el ataque, debido a que el keeper ha sido modificado, las transacciones normales de otros usuarios se revertirán.
Métodos de ataque similares también se han implementado en la red de Ethereum.
Resumen del evento
La clave de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este hecho para modificar la dirección del keeper mediante la construcción de datos específicos, en lugar de la filtración de la clave privada del keeper que se había especulado anteriormente.
Este evento recuerda nuevamente a la industria la necesidad de fortalecer la auditoría de seguridad de los contratos inteligentes, especialmente para protocolos complejos como la interoperabilidad entre cadenas, que requieren una evaluación de seguridad integral y detallada para prevenir la explotación de posibles vulnerabilidades. Al mismo tiempo, la colaboración entre múltiples partes y una respuesta rápida son cruciales para reducir las pérdidas y proteger los derechos de los usuarios.
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
3
Compartir
Comentar
0/400
notSatoshi1971
· 08-04 15:12
El código se puede entender, no entiendo por qué está escrito de forma tan tonta.
Ver originalesResponder0
AirdropHunterKing
· 08-04 15:08
No cierras el contrato, y además el experto te ha sacado provecho, simplemente atacas la vulnerabilidad.
Ver originalesResponder0
LightningClicker
· 08-04 15:07
¿No es demasiado obvio el fallo? ¿No lo revisaron antes de lanzarlo?
Poly Network sufrió un ataque de hacker, aprovechando astutamente una vulnerabilidad en el contrato para modificar el keeper.
Análisis del incidente de ataque a Poly Network: los detalles revelan cómo el atacante aprovechó ingeniosamente la vulnerabilidad del contrato
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue atacado por hackers, lo que generó una amplia atención en la industria. El equipo de seguridad realizó un análisis profundo del incidente y concluyó que los atacantes modificaron el keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados, y no a través de la supuesta filtración de la clave privada del keeper que se había difundido anteriormente.
Puntos clave del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones entre cadenas a través de la función _executeCrossChainTx.
El propietario del contrato EthCrossChainData es el contrato EthCrossChainManager, el cual puede llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
El atacante utiliza la función verifyHeaderAndExecuteTx pasando datos cuidadosamente construidos, lo que hace que la función _executeCrossChainTx ejecute la función putCurEpochConPubKeyBytes, cambiando así el keeper a la dirección especificada.
Una vez completado el reemplazo de la dirección del keeper, el atacante puede construir transacciones a su antojo para extraer fondos del contrato.
Restauración del 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 keeper.
Después de que se cambió el keeper, el atacante comenzó a implementar múltiples transacciones de ataque para extraer fondos del contrato.
Después de que se complete el ataque, debido a que el keeper ha sido modificado, las transacciones normales de otros usuarios se revertirán.
Métodos de ataque similares también se han implementado en la red de Ethereum.
Resumen del evento
La clave de este ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó este hecho para modificar la dirección del keeper mediante la construcción de datos específicos, en lugar de la filtración de la clave privada del keeper que se había especulado anteriormente.
Este evento recuerda nuevamente a la industria la necesidad de fortalecer la auditoría de seguridad de los contratos inteligentes, especialmente para protocolos complejos como la interoperabilidad entre cadenas, que requieren una evaluación de seguridad integral y detallada para prevenir la explotación de posibles vulnerabilidades. Al mismo tiempo, la colaboración entre múltiples partes y una respuesta rápida son cruciales para reducir las pérdidas y proteger los derechos de los usuarios.