Vulnerabilidad del protocolo cross-chain causa un gran incidente de seguridad
Recientemente, un conocido protocolo de interoperabilidad cross-chain fue objeto de un ataque hacker, lo que generó una amplia atención en la industria. Según el análisis de un equipo de seguridad profesional, este ataque no se debió a una filtración de claves, sino que los atacantes aprovecharon una vulnerabilidad en el contrato para modificar ingeniosamente parámetros clave.
Núcleo de ataque
La clave del ataque radica en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones específicas de cross-chain 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 cambiar el keeper del contrato.
El atacante activó la ejecución de la función _executeCrossChainTx al pasar datos diseñados cuidadosamente a la función verifyHeaderAndExecuteTx, lo que llamó a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando el rol de keeper a la dirección especificada por el atacante. Después de completar este paso, el atacante puede construir transacciones y 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, cambiando al keeper.
A continuación, el atacante comenzó a llevar a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechazaron las transacciones normales de otros usuarios.
Métodos de ataque similares también se han implementado en la red de Ethereum, el proceso es aproximadamente el mismo.
Revelaciones del evento
Este evento revela una importante vulnerabilidad en el diseño de contratos inteligentes. El keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos ingresados por el usuario. Este diseño ofrece una oportunidad para que los atacantes aprovechen.
Este ataque no fue causado por la filtración de la clave privada del keeper, sino que existía una vulnerabilidad en el diseño del contrato. Esto nos recuerda que, al diseñar protocolos cross-chain, debemos considerar con más cuidado la gestión de permisos y los mecanismos de verificación de datos para prevenir que eventos de seguridad similares ocurran nuevamente.
Para toda la industria de blockchain, este evento enfatiza nuevamente la importancia de la auditoría de seguridad. Incluso los protocolos que parecen estar perfeccionados pueden tener vulnerabilidades que se pasan por alto. Las revisiones de seguridad continuas y la corrección de vulnerabilidades son fundamentales para garantizar la seguridad de los activos de los usuarios.
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.
16 me gusta
Recompensa
16
4
Compartir
Comentar
0/400
SundayDegen
· 07-14 15:39
Todavía hay que añadir protección de día cero.
Ver originalesResponder0
GasGrillMaster
· 07-14 15:36
Otra vez pasó algo, me voy, me voy.
Ver originalesResponder0
RooftopVIP
· 07-14 15:29
Otra vez hay que subir al tejado a mostrar el sol.
Ver originalesResponder0
TokenCreatorOP
· 07-14 15:22
clásica operación...tontos tomar a la gente por tonta
Vulnerabilidad en el contrato del protocolo cross-chain es atacada por Hacker, el diseño de seguridad vuelve a sonar la alarma.
Vulnerabilidad del protocolo cross-chain causa un gran incidente de seguridad
Recientemente, un conocido protocolo de interoperabilidad cross-chain fue objeto de un ataque hacker, lo que generó una amplia atención en la industria. Según el análisis de un equipo de seguridad profesional, este ataque no se debió a una filtración de claves, sino que los atacantes aprovecharon una vulnerabilidad en el contrato para modificar ingeniosamente parámetros clave.
Núcleo de ataque
La clave del ataque radica en la función verifyHeaderAndExecuteTx del contrato EthCrossChainManager. Esta función puede ejecutar transacciones específicas de cross-chain 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 cambiar el keeper del contrato.
El atacante activó la ejecución de la función _executeCrossChainTx al pasar datos diseñados cuidadosamente a la función verifyHeaderAndExecuteTx, lo que llamó a la función putCurEpochConPubKeyBytes del contrato EthCrossChainData, cambiando el rol de keeper a la dirección especificada por el atacante. Después de completar este paso, el atacante puede construir transacciones y 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, cambiando al keeper.
A continuación, el atacante comenzó a llevar a cabo una serie de transacciones de ataque para extraer fondos del contrato.
Debido a que el keeper fue modificado, se rechazaron las transacciones normales de otros usuarios.
Métodos de ataque similares también se han implementado en la red de Ethereum, el proceso es aproximadamente el mismo.
Revelaciones del evento
Este evento revela una importante vulnerabilidad en el diseño de contratos inteligentes. El keeper del contrato EthCrossChainData puede ser modificado por el contrato EthCrossChainManager, y la función verifyHeaderAndExecuteTx de este último puede ejecutar los datos ingresados por el usuario. Este diseño ofrece una oportunidad para que los atacantes aprovechen.
Este ataque no fue causado por la filtración de la clave privada del keeper, sino que existía una vulnerabilidad en el diseño del contrato. Esto nos recuerda que, al diseñar protocolos cross-chain, debemos considerar con más cuidado la gestión de permisos y los mecanismos de verificación de datos para prevenir que eventos de seguridad similares ocurran nuevamente.
Para toda la industria de blockchain, este evento enfatiza nuevamente la importancia de la auditoría de seguridad. Incluso los protocolos que parecen estar perfeccionados pueden tener vulnerabilidades que se pasan por alto. Las revisiones de seguridad continuas y la corrección de vulnerabilidades son fundamentales para garantizar la seguridad de los activos de los usuarios.