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. El equipo de seguridad llevó a cabo un análisis profundo de este evento y concluyó que los atacantes modificaron el keeper del contrato EthCrossChainData a una dirección específica 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.
Detalles del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones cross-chain a través de la función _executeCrossChainTx.
El owner del contrato EthCrossChainData es el contrato EthCrossChainManager, lo que permite que este último pueda llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
La función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede llamar internamente a la función _executeCrossChainTx para ejecutar la transacción cruzada especificada por el usuario. Un hacker puede aprovechar esto al pasar datos cuidadosamente construidos, haciendo 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.
Una vez que se complete 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 llamó a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando el keeper.
A continuación, el atacante comenzó a llevar a cabo una serie de transacciones de ataque, extrayendo fondos del contrato.
Después del ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron rechazadas.
Patrones de ataque similares también han aparecido en la red de Ethereum, donde los atacantes utilizaron el mismo método para cambiar el keeper e implementar el ataque.
Resumen
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 a través de la función _executeCrossChainTx. Los atacantes aprovecharon esta vulnerabilidad de diseño, modificando el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, y no a través de la filtración de la clave privada del keeper, como se había especulado anteriormente. Este incidente subraya una vez más la importancia del diseño seguro de contratos inteligentes, y proporciona valiosas lecciones y experiencias para la industria.
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.
11 me gusta
Recompensa
11
4
Compartir
Comentar
0/400
RugPullAlarm
· 07-20 15:15
Los datos puramente on-chain hablan, no se pierde mucho dinero.
Ver originalesResponder0
SchrodingerAirdrop
· 07-20 15:11
Otra vez ha habido un incidente de seguridad, jeje.
Ver originalesResponder0
MetaDreamer
· 07-20 14:50
Otra vez kp está siendo molestado, ¿cuándo terminará esto?
Ver originalesResponder0
GasFeeLady
· 07-20 14:47
smh... la compromisión del guardián solo estaba esperando a suceder, para ser honesto. hay que revisar esos puntos de entrada
Poly Network sufrió una invasión de hackers, lo que resultó en la modificación del keeper y 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 sufrió un ataque de Hacker, lo que generó una amplia atención en la industria. El equipo de seguridad llevó a cabo un análisis profundo de este evento y concluyó que los atacantes modificaron el keeper del contrato EthCrossChainData a una dirección específica 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.
Detalles del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones cross-chain a través de la función _executeCrossChainTx.
El owner del contrato EthCrossChainData es el contrato EthCrossChainManager, lo que permite que este último pueda llamar a la función putCurEpochConPubKeyBytes del primero para modificar el keeper.
La función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede llamar internamente a la función _executeCrossChainTx para ejecutar la transacción cruzada especificada por el usuario. Un hacker puede aprovechar esto al pasar datos cuidadosamente construidos, haciendo 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.
Una vez que se complete 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 llamó a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando el keeper.
A continuación, el atacante comenzó a llevar a cabo una serie de transacciones de ataque, extrayendo fondos del contrato.
Después del ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron rechazadas.
Patrones de ataque similares también han aparecido en la red de Ethereum, donde los atacantes utilizaron el mismo método para cambiar el keeper e implementar el ataque.
Resumen
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 a través de la función _executeCrossChainTx. Los atacantes aprovecharon esta vulnerabilidad de diseño, modificando el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, y no a través de la filtración de la clave privada del keeper, como se había especulado anteriormente. Este incidente subraya una vez más la importancia del diseño seguro de contratos inteligentes, y proporciona valiosas lecciones y experiencias para la industria.