Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue objeto de un ataque de un Hacker, lo que ha generado una amplia atención. El equipo de seguridad, tras un análisis, concluyó que este ataque no fue causado por la filtración de la clave privada del keeper, sino que el atacante modificó cuidadosamente el keeper del contrato EthCrossChainData a una dirección específica mediante datos estructurados.
Detalles 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 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 introduce datos personalizados a través de la función verifyHeaderAndExecuteTx, lo que provoca que la función _executeCrossChainTx ejecute la llamada a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el keeper a la dirección especificada por el atacante.
Después de reemplazar al keeper, el atacante puede construir transacciones a voluntad para 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 para cambiar el keeper.
Luego, el atacante llevó a cabo múltiples transacciones de ataque, extrayendo fondos del contrato.
Debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron revertidas.
Métodos de ataque similares también se han llevado a cabo en la red de Ethereum.
Conclusión
La esencia 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. Los atacantes aprovecharon esta vulnerabilidad para modificar el keeper mediante datos cuidadosamente elaborados, en lugar de la supuesta filtración de la clave privada del keeper.
Este evento destaca una vez más la importancia de la seguridad de los protocolos de cadena cruzada, recordando a los desarrolladores y usuarios que deben ser más cautelosos al diseñar y utilizar funciones relacionadas. Al mismo tiempo, también sirve como un llamado de atención para toda la industria, instando a fortalecer la auditoría y prevención de las vulnerabilidades de los contratos inteligentes.
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.
10 me gusta
Recompensa
10
5
Republicar
Compartir
Comentar
0/400
NFTBlackHole
· 08-05 02:09
Otro caso típico de vulnerabilidad siendo explotada.
Ver originalesResponder0
Lonely_Validator
· 08-03 14:54
Efectivamente, es otra vulnerabilidad de contrato.
Ver originalesResponder0
LazyDevMiner
· 08-02 14:40
¿Todavía estás corrigiendo errores del contrato? Se ha roto.
Análisis del ataque de hacker a Poly Network: la vulnerabilidad del contrato llevó a la alteración del keeper
Análisis del incidente de ataque de Hacker a Poly Network
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network fue objeto de un ataque de un Hacker, lo que ha generado una amplia atención. El equipo de seguridad, tras un análisis, concluyó que este ataque no fue causado por la filtración de la clave privada del keeper, sino que el atacante modificó cuidadosamente el keeper del contrato EthCrossChainData a una dirección específica mediante datos estructurados.
Detalles 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 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 introduce datos personalizados a través de la función verifyHeaderAndExecuteTx, lo que provoca que la función _executeCrossChainTx ejecute la llamada a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el keeper a la dirección especificada por el atacante.
Después de reemplazar al keeper, el atacante puede construir transacciones a voluntad para 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 para cambiar el keeper.
Luego, el atacante llevó a cabo múltiples transacciones de ataque, extrayendo fondos del contrato.
Debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron revertidas.
Métodos de ataque similares también se han llevado a cabo en la red de Ethereum.
Conclusión
La esencia 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. Los atacantes aprovecharon esta vulnerabilidad para modificar el keeper mediante datos cuidadosamente elaborados, en lugar de la supuesta filtración de la clave privada del keeper.
Este evento destaca una vez más la importancia de la seguridad de los protocolos de cadena cruzada, recordando a los desarrolladores y usuarios que deben ser más cautelosos al diseñar y utilizar funciones relacionadas. Al mismo tiempo, también sirve como un llamado de atención para toda la industria, instando a fortalecer la auditoría y prevención de las vulnerabilidades de los contratos inteligentes.