Análisis del incidente de ataque a la red Poly protocolo
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network se convirtió en el objetivo de un ataque de hackers, lo que generó una amplia atención en la industria. Expertos en seguridad realizaron un análisis profundo de este evento, revelando las técnicas específicas utilizadas por los atacantes.
El problema central de este ataque se encuentra en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones cruzadas específicas 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 aprovechó esta vulnerabilidad de diseño, pasando datos meticulosamente construidos a la función verifyHeaderAndExecuteTx, lo que provocó que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Después de completar este paso, el atacante podía construir transacciones a su antojo y extraer cualquier cantidad de fondos del contrato.
El procedimiento de ataque específico es el siguiente:
El atacante primero bloqueó el contrato objetivo.
A través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, se llamó a la función putCurEpochConPubKeyBytes para cambiar el keeper.
Luego se llevaron 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 rechazadas inmediatamente.
Es importante destacar que este incidente no fue causado por la filtración de la clave privada del keeper, sino que los atacantes aprovecharon astutamente una falla en el diseño del contrato. Este caso resalta una vez más la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente para protocolos complejos de cadena cruzada.
El equipo de desarrollo y los expertos en seguridad deben aprender de este incidente y fortalecer la revisión de la gestión de permisos de contratos y la lógica de llamadas a funciones, para prevenir la ocurrencia de ataques similares. Al mismo tiempo, se recuerda a los usuarios que mantengan la vigilancia al utilizar nuevos protocolos DeFi y que presten atención a la prevención de riesgos.
Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
5 me gusta
Recompensa
5
3
Compartir
Comentar
0/400
SerumSquirrel
· hace19h
Otra vez en la trampa.
Ver originalesResponder0
ParanoiaKing
· hace19h
He visto muchas vulnerabilidades de seguridad, los que entienden, entienden.
Poly Network sufrió un ataque de Hacker: una vulnerabilidad en el diseño del contrato permitió la extracción de fondos
Análisis del incidente de ataque a la red Poly protocolo
Recientemente, el protocolo de interoperabilidad entre cadenas Poly Network se convirtió en el objetivo de un ataque de hackers, lo que generó una amplia atención en la industria. Expertos en seguridad realizaron un análisis profundo de este evento, revelando las técnicas específicas utilizadas por los atacantes.
El problema central de este ataque se encuentra en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones cruzadas específicas 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 aprovechó esta vulnerabilidad de diseño, pasando datos meticulosamente construidos a la función verifyHeaderAndExecuteTx, lo que provocó que la función _executeCrossChainTx llamara a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Después de completar este paso, el atacante podía construir transacciones a su antojo y extraer cualquier cantidad de fondos del contrato.
El procedimiento de ataque específico es el siguiente:
El atacante primero bloqueó el contrato objetivo.
A través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, se llamó a la función putCurEpochConPubKeyBytes para cambiar el keeper.
Luego se llevaron 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 rechazadas inmediatamente.
Es importante destacar que este incidente no fue causado por la filtración de la clave privada del keeper, sino que los atacantes aprovecharon astutamente una falla en el diseño del contrato. Este caso resalta una vez más la importancia de la auditoría de seguridad de los contratos inteligentes, especialmente para protocolos complejos de cadena cruzada.
El equipo de desarrollo y los expertos en seguridad deben aprender de este incidente y fortalecer la revisión de la gestión de permisos de contratos y la lógica de llamadas a funciones, para prevenir la ocurrencia de ataques similares. Al mismo tiempo, se recuerda a los usuarios que mantengan la vigilancia al utilizar nuevos protocolos DeFi y que presten atención a la prevención de riesgos.