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 ha generado una amplia atención. Tras un análisis exhaustivo por parte del equipo de seguridad, se determinó que los atacantes no llevaron a cabo el ataque a través de la filtración de la clave privada del keeper, sino que aprovecharon una vulnerabilidad en el contrato.
Principio del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones específicas de跨链 a través de 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 del contrato.
El atacante logró que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData al pasar datos cuidadosamente construidos a la función verifyHeaderAndExecuteTx, lo que cambió el rol de keeper a la dirección especificada por el atacante. Una vez completado el reemplazo del rol de keeper, el atacante puede 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.
Luego, el atacante realizó una serie de transacciones de ataque utilizando los permisos modificados para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechaza la ejecución de las transacciones normales de otros usuarios.
Este modo de ataque no solo ocurre en la cadena BSC, sino que la red de Ethereum también ha sufrido operaciones de ataque similares.
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 del contrato EthCrossChainManager puede ejecutar los datos ingresados por el usuario a través de la función _executeCrossChainTx. Los atacantes aprovecharon este defecto de diseño, modificando el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, lo que les permitió llevar a cabo el robo de fondos.
Este evento destaca una vez más la importancia del diseño de seguridad en los protocolos de cadena cruzada, especialmente en lo que respecta a la gestión de permisos y la llamada de funciones, que requiere una revisión y limitación más estrictas. Para los proyectos de finanzas descentralizadas, la auditoría de seguridad continua y la reparación de vulnerabilidades son cruciales para prevenir la ocurrencia de ataques similares.
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
6
Republicar
Compartir
Comentar
0/400
PanicSeller69
· 08-12 04:32
¿Todavía hay problemas con el defi?
Ver originalesResponder0
BearMarketNoodler
· 08-11 11:12
Otra víctima Advertencia sobre tutoriales de aprovechamiento
Ver originalesResponder0
HodlKumamon
· 08-10 15:50
¡Ahhh! ¿Por qué la auditoría QA se hizo tan mal~
Ver originalesResponder0
AirdropATM
· 08-10 15:49
Los agujeros en los contratos son realmente molestos.
Ver originalesResponder0
TokenCreatorOP
· 08-10 15:46
¿Otra vez ser liquidado?
Ver originalesResponder0
PoolJumper
· 08-10 15:31
Después de haber sido esquilado tanto, ¿el contrato aún se atreve a hablar de vulnerabilidades?
Poly Network fue atacado por un Hacker: un fallo en el 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 sufrió un ataque de hacker, lo que ha generado una amplia atención. Tras un análisis exhaustivo por parte del equipo de seguridad, se determinó que los atacantes no llevaron a cabo el ataque a través de la filtración de la clave privada del keeper, sino que aprovecharon una vulnerabilidad en el contrato.
Principio del ataque
El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager puede ejecutar transacciones específicas de跨链 a través de 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 del contrato.
El atacante logró que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData al pasar datos cuidadosamente construidos a la función verifyHeaderAndExecuteTx, lo que cambió el rol de keeper a la dirección especificada por el atacante. Una vez completado el reemplazo del rol de keeper, el atacante puede 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.
Luego, el atacante realizó una serie de transacciones de ataque utilizando los permisos modificados para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechaza la ejecución de las transacciones normales de otros usuarios.
Este modo de ataque no solo ocurre en la cadena BSC, sino que la red de Ethereum también ha sufrido operaciones de ataque similares.
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 del contrato EthCrossChainManager puede ejecutar los datos ingresados por el usuario a través de la función _executeCrossChainTx. Los atacantes aprovecharon este defecto de diseño, modificando el keeper del contrato EthCrossChainData mediante la construcción de datos específicos, lo que les permitió llevar a cabo el robo de fondos.
Este evento destaca una vez más la importancia del diseño de seguridad en los protocolos de cadena cruzada, especialmente en lo que respecta a la gestión de permisos y la llamada de funciones, que requiere una revisión y limitación más estrictas. Para los proyectos de finanzas descentralizadas, la auditoría de seguridad continua y la reparación de vulnerabilidades son cruciales para prevenir la ocurrencia de ataques similares.