Análisis del incidente de ataque de 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. El equipo de seguridad realizó un análisis profundo de este incidente, revelando las técnicas específicas y el proceso de ataque del atacante.
Principio del ataque
El núcleo del ataque radica en aprovechar la vulnerabilidad en el contrato EthCrossChainManager. El atacante, a través de la función verifyHeaderAndExecuteTx, transmitió datos cuidadosamente elaborados, logrando modificar el keeper del contrato EthCrossChainData a una dirección específica. Esto contradice la afirmación anterior sobre la filtración de la clave privada del keeper.
Detalles del ataque
La función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones cruzadas específicas 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 especialmente diseñados, para hacer que la función _executeCrossChainTx ejecute la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el keeper a una dirección controlada por el atacante.
Después de que el rol de keeper sea reemplazado, el atacante puede construir transacciones a su antojo y 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 el keeper.
A continuación, el hacker llevó 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, los atacantes utilizaron los mismos pasos operativos.
Conclusión
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ó esta vulnerabilidad, construyendo datos específicos, y logró cambiar el keeper del contrato EthCrossChainData, lo que le permitió llevar a cabo el robo de fondos.
Este evento nos recuerda una vez más que, en el diseño e implementación de protocolos de cadena cruzada, se debe prestar especial atención a la gestión de permisos y a los mecanismos de verificación de seguridad para prevenir ataques similares. Al mismo tiempo, la auditoría de contratos inteligentes y la detección de vulnerabilidades también deben ser más completas y profundas, especialmente en funciones que involucran roles clave y cambios de permisos.
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.
18 me gusta
Recompensa
18
7
Compartir
Comentar
0/400
TestnetScholar
· 08-04 02:59
¿Vamos a empezar a tapar los agujeros de nuevo, verdad?
Ver originalesResponder0
SocialAnxietyStaker
· 08-03 15:41
Este contrato es demasiado frágil 8
Ver originalesResponder0
DeFiVeteran
· 08-03 15:37
¿Otra vez una vulnerabilidad de seguridad? ¿Qué pasa?
Ver originalesResponder0
ChainMaskedRider
· 08-03 15:36
Otra vez es hora de que los tontos sean tomados por tontos~
Ver originalesResponder0
Fren_Not_Food
· 08-03 15:22
Otra vez un contrato inteligente fue hackeado.
Ver originalesResponder0
DiamondHands
· 08-03 15:15
Demasiado oscuro y no lo suficiente negro, novato.
Poly Network sufrió un ataque de Hacker, la vulnerabilidad del contrato EthCrossChainManager causó la pérdida de fondos.
Análisis del incidente de ataque de 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. El equipo de seguridad realizó un análisis profundo de este incidente, revelando las técnicas específicas y el proceso de ataque del atacante.
Principio del ataque
El núcleo del ataque radica en aprovechar la vulnerabilidad en el contrato EthCrossChainManager. El atacante, a través de la función verifyHeaderAndExecuteTx, transmitió datos cuidadosamente elaborados, logrando modificar el keeper del contrato EthCrossChainData a una dirección específica. Esto contradice la afirmación anterior sobre la filtración de la clave privada del keeper.
Detalles del ataque
La función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones cruzadas específicas 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 especialmente diseñados, para hacer que la función _executeCrossChainTx ejecute la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el keeper a una dirección controlada por el atacante.
Después de que el rol de keeper sea reemplazado, el atacante puede construir transacciones a su antojo y 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 el keeper.
A continuación, el hacker llevó 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, los atacantes utilizaron los mismos pasos operativos.
Conclusión
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ó esta vulnerabilidad, construyendo datos específicos, y logró cambiar el keeper del contrato EthCrossChainData, lo que le permitió llevar a cabo el robo de fondos.
Este evento nos recuerda una vez más que, en el diseño e implementación de protocolos de cadena cruzada, se debe prestar especial atención a la gestión de permisos y a los mecanismos de verificación de seguridad para prevenir ataques similares. Al mismo tiempo, la auditoría de contratos inteligentes y la detección de vulnerabilidades también deben ser más completas y profundas, especialmente en funciones que involucran roles clave y cambios de permisos.