Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, un ataque hacker contra el protocolo de interoperabilidad entre cadenas Poly Network ha llamado ampliamente la atención. 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 logró modificar con éxito la dirección del keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados.
Principio del ataque
El núcleo del ataque radica en aprovechar una vulnerabilidad en el contrato EthCrossChainManager. La función verifyHeaderAndExecuteTx de este contrato puede ejecutar transacciones cruzadas mediante 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 primero para modificar el keeper.
El atacante logró que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData al pasarle datos diseñados cuidadosamente a la función verifyHeaderAndExecuteTx, lo que cambió el rol de keeper a la dirección especificada por el atacante. Una vez completado este paso, 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.
Este modo de ataque no solo ocurre en la cadena inteligente de Binance (BSC), sino que también se han observado operaciones similares en la red de Ethereum.
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 de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó esta vulnerabilidad de diseño para modificar el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, logrando así el robo de fondos.
Este evento destaca una vez más la importancia de la seguridad de los contratos inteligentes, especialmente en operaciones intercadena y la gestión de roles clave, lo que requiere un diseño más cuidadoso y auditorías de seguridad completas. Para los proyectos de blockchain, es crucial mejorar constantemente los mecanismos de seguridad y detectar y reparar vulnerabilidades potenciales a tiempo. Al mismo tiempo, para los usuarios comunes, es importante mantenerse alerta al participar en nuevos proyectos de blockchain, prestando atención a la evaluación de seguridad del proyecto y los informes de auditoría.
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.
Poly Network fue atacado por un Hacker, la vulnerabilidad del contrato EthCrossChainManager provocó la pérdida de fondos.
Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, un ataque hacker contra el protocolo de interoperabilidad entre cadenas Poly Network ha llamado ampliamente la atención. 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 logró modificar con éxito la dirección del keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados.
Principio del ataque
El núcleo del ataque radica en aprovechar una vulnerabilidad en el contrato EthCrossChainManager. La función verifyHeaderAndExecuteTx de este contrato puede ejecutar transacciones cruzadas mediante 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 primero para modificar el keeper.
El atacante logró que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData al pasarle datos diseñados cuidadosamente a la función verifyHeaderAndExecuteTx, lo que cambió el rol de keeper a la dirección especificada por el atacante. Una vez completado este paso, 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.
Este modo de ataque no solo ocurre en la cadena inteligente de Binance (BSC), sino que también se han observado operaciones similares en la red de Ethereum.
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 de este último puede ejecutar los datos proporcionados por el usuario. El atacante aprovechó esta vulnerabilidad de diseño para modificar el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, logrando así el robo de fondos.
Este evento destaca una vez más la importancia de la seguridad de los contratos inteligentes, especialmente en operaciones intercadena y la gestión de roles clave, lo que requiere un diseño más cuidadoso y auditorías de seguridad completas. Para los proyectos de blockchain, es crucial mejorar constantemente los mecanismos de seguridad y detectar y reparar vulnerabilidades potenciales a tiempo. Al mismo tiempo, para los usuarios comunes, es importante mantenerse alerta al participar en nuevos proyectos de blockchain, prestando atención a la evaluación de seguridad del proyecto y los informes de auditoría.