Análisis de vulnerabilidades de seguridad de Poly Network: cómo los atacantes utilizan las fallas en los contratos para alterar los permisos
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un importante incidente de seguridad, lo que generó una amplia atención en la industria. Según el análisis de expertos en seguridad, este ataque no fue causado por la filtración de la clave privada, sino que los atacantes aprovecharon astutamente una vulnerabilidad en el contrato inteligente.
El núcleo del evento radica en el defecto de diseño de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones cruzadas especificadas por el usuario a través de la función interna _executeCrossChainTx. Los atacantes aprovecharon esto, construyendo datos específicos que hicieron que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, alterando así el rol de keeper a una dirección controlada por el atacante.
El proceso de ataque específico es el siguiente:
El atacante primero llama a la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, pasando los datos cuidadosamente construidos.
La función interna ejecuta _executeCrossChainTx, que a su vez llama a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData.
Se ejecuta la función putCurEpochConPubKeyBytes, modificando la dirección del rol de keeper a la dirección especificada por el atacante.
Después de que el keeper fue reemplazado, el atacante obtuvo permisos de operación y puede construir transacciones a voluntad para extraer fondos del contrato.
Después de completar el ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios comienzan a ser rechazadas.
Este método de ataque se ha utilizado tanto en la cadena BSC como en la de Ethereum. La clave del ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, que a su vez permite la ejecución de cualquier dato proporcionado por el usuario. Este diseño presenta graves riesgos de seguridad, brindando una oportunidad para los atacantes.
Este evento vuelve a demostrar que la seguridad de los contratos inteligentes es crucial. El equipo de desarrollo debe considerar a fondo diversos escenarios de ataque al diseñar el contrato, restringir estrictamente los permisos de llamada a funciones clave y realizar una auditoría de seguridad completa. Al mismo tiempo, los proyectos descentralizados también necesitan establecer mecanismos de gobernanza más sólidos para hacer frente a situaciones de emergencia.
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.
14 me gusta
Recompensa
14
7
Compartir
Comentar
0/400
airdrop_whisperer
· 07-20 03:50
Otra vulnerabilidad en contratos inteligentes
Ver originalesResponder0
blocksnark
· 07-18 15:43
Otra vez es culpa de los contratos inteligentes.
Ver originalesResponder0
NFT_Therapy
· 07-18 15:40
Típico, otro contrato inteligente que falla.
Ver originalesResponder0
BTCRetirementFund
· 07-18 15:37
¿Se ha vuelto a explotar una vulnerabilidad en el contrato?
Ver originalesResponder0
MemeKingNFT
· 07-18 15:33
Otra día visitado por el ladrón divino, el mundo de las artes marciales es como una gran ola que selecciona la arena, veamos qué contrato todavía tiene agujeros.
Análisis de vulnerabilidades de contratos inteligentes de Poly Network: cómo los atacantes manipulan el rol de keeper para obtener fondos
Análisis de vulnerabilidades de seguridad de Poly Network: cómo los atacantes utilizan las fallas en los contratos para alterar los permisos
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network sufrió un importante incidente de seguridad, lo que generó una amplia atención en la industria. Según el análisis de expertos en seguridad, este ataque no fue causado por la filtración de la clave privada, sino que los atacantes aprovecharon astutamente una vulnerabilidad en el contrato inteligente.
El núcleo del evento radica en el defecto de diseño de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones cruzadas especificadas por el usuario a través de la función interna _executeCrossChainTx. Los atacantes aprovecharon esto, construyendo datos específicos que hicieron que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, alterando así el rol de keeper a una dirección controlada por el atacante.
El proceso de ataque específico es el siguiente:
El atacante primero llama a la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, pasando los datos cuidadosamente construidos.
La función interna ejecuta _executeCrossChainTx, que a su vez llama a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData.
Se ejecuta la función putCurEpochConPubKeyBytes, modificando la dirección del rol de keeper a la dirección especificada por el atacante.
Después de que el keeper fue reemplazado, el atacante obtuvo permisos de operación y puede construir transacciones a voluntad para extraer fondos del contrato.
Después de completar el ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios comienzan a ser rechazadas.
Este método de ataque se ha utilizado tanto en la cadena BSC como en la de Ethereum. La clave del ataque radica en que el keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, que a su vez permite la ejecución de cualquier dato proporcionado por el usuario. Este diseño presenta graves riesgos de seguridad, brindando una oportunidad para los atacantes.
Este evento vuelve a demostrar que la seguridad de los contratos inteligentes es crucial. El equipo de desarrollo debe considerar a fondo diversos escenarios de ataque al diseñar el contrato, restringir estrictamente los permisos de llamada a funciones clave y realizar una auditoría de seguridad completa. Al mismo tiempo, los proyectos descentralizados también necesitan establecer mecanismos de gobernanza más sólidos para hacer frente a situaciones de emergencia.