Poly Network sufrió un ataque de Hacker, se explotó una vulnerabilidad en el contrato EthCrossChainData.

robot
Generación de resúmenes en curso

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 por parte de un Hacker, lo que generó una amplia atención en la industria. El análisis del equipo de seguridad indica que este ataque no fue causado por la filtración de la clave privada del keeper, sino que los atacantes modificaron la dirección del keeper del contrato EthCrossChainData mediante datos cuidadosamente elaborados.

Ataque central

El núcleo del ataque radica en que la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager 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 utiliza la función verifyHeaderAndExecuteTx para enviar datos cuidadosamente construidos, lo que hace que la función _executeCrossChainTx invoque la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando así el rol de keeper a la dirección especificada por el atacante. Una vez completado este paso, el atacante puede construir transacciones para extraer cualquier cantidad de fondos del contrato.

Proceso de ataque

  1. El atacante primero llamó a la función putCurEpochConPubKeyBytes a través de la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager, cambiando el keeper.

  2. A continuación, el atacante llevó a cabo una serie de transacciones de ataque para extraer fondos del contrato.

  3. Después del ataque, debido a que el keeper fue modificado, las transacciones normales de otros usuarios fueron rechazadas.

  4. Este modo de ataque no solo ocurre en BSC, también se han observado operaciones similares en la red de Ethereum.

Conclusión

La clave 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 datos proporcionados por el usuario a través de la función _executeCrossChainTx. Los atacantes aprovecharon esta vulnerabilidad de diseño para modificar la dirección del keeper del contrato EthCrossChainData al construir datos específicos, logrando así el objetivo del ataque.

Este evento destaca nuevamente la importancia de la seguridad de los protocolos de cadena cruzada y recuerda a los desarrolladores que deben ser más cautelosos al diseñar contratos inteligentes, especialmente en funciones que involucran cambios en los permisos de roles clave. Al mismo tiempo, para los usuarios, es importante mantener la vigilancia al usar servicios de cadena cruzada y estar atentos a las dinámicas de seguridad relacionadas.

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.
  • Recompensa
  • 4
  • Compartir
Comentar
0/400
LiquidatedAgainvip
· 08-03 22:02
Las consecuencias de las vulnerabilidades en el código son graves.
Ver originalesResponder0
MoonBoi42vip
· 08-01 16:37
¡Qué desastre! El mundo Cripto vuelve a tener problemas.
Ver originalesResponder0
HackerWhoCaresvip
· 08-01 16:33
todavía hay que ver el Código fuente ah
Ver originalesResponder0
LayerZeroHerovip
· 08-01 16:25
Rutinas de ataque de hacker familiares
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)