Según las noticias de SlowMist, el 29 de junio de 2021, THORChain, un protocolo descentralizado de transacciones entre cadenas, tuiteó que había descubierto un ataque malicioso contra THORChain, y los nodos de THORChain habían respondido, aislado y defendido. El equipo de seguridad de SlowMist intervino de inmediato en el análisis. Después del análisis, se descubrió que se trataba de un ataque de "recarga falsa" contra el sistema de cadena cruzada. Los resultados se comparten de la siguiente manera:
¿Qué es una "recarga falsa"?
Cuando hablamos de ataques de "recarga falsa", generalmente hablamos de atacantes que usan ciertas características de la cadena pública para eludir los procedimientos de recarga y entrada del intercambio, hacer recargas falsas y realmente ingresar a la cuenta.
Con el auge de los servicios de cadena cruzada como RenVM y THORChain, los nodos de cadena cruzada actúan como intercambios y generan asignaciones de activos en la cadena pública local al escanear la transferencia de activos de otra cadena pública. Es a través de este mecanismo que THORChain transfiere tokens en Ethereum a otras cadenas públicas.
Análisis de vulnerabilidades
Realizamos un seguimiento y analizamos la causa de esta vulnerabilidad desde el punto de entrada de la lógica empresarial.
En primer lugar, al procesar el evento de recarga entre cadenas, se llama al método getAssetFromTokenAddress para obtener la información del token, y la dirección del contrato de activos se pasa como parámetro:
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
LTC rompe la marca de los 71 dólares con un aumento intradiario del 7,35 %: según datos de Huobi Global, LTC ha subido a corto plazo, superando la marca de los 71 dólares, y ahora está en 71,01 dólares, con un aumento intradiario del 7,35 %. el mercado fluctúa mucho, así que haga un buen trabajo en el control de riesgos. [2020/11/28 22:26:48]
En el método getAssetFromTokenAddress, vemos que llama a getTokenMeta para obtener los metadatos del token, y la dirección del contrato del activo también se pasa como parámetro en este momento, pero aquí hay una definición que despierta nuestra vigilancia. Al inicializar el token, El símbolo del token es ETH por defecto, que es uno de los puntos clave de la vulnerabilidad: activo := common.ETHAsset, si el símbolo del token correspondiente a la dirección del contrato entrante es ETH, se omitirá la verificación del símbolo aquí.
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
Continúe verificando nuestra suposición. Vemos que cuando la dirección del token no existe en el sistema, la información del contrato se obtendrá de la cadena principal de Ethereum y se construirá un nuevo token con el símbolo obtenido. En este momento, todos los se han eliminado las causas de las lagunas.
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
- bifrost/pkg/chainclients/ethereum/tokens_db.go
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
En resumen, en primer lugar, debido a una definición incorrecta, si el símbolo del token ERC20 para recarga de cadena cruzada es ETH, entonces habrá un error lógico, lo que hará que el token recargado sea reconocido como el éter real. moneda ETH.
Restaurar la verdad del ataque
Veamos el proceso de ejecución de una transacción de ataque, y podemos extraer la dirección del contrato del token recargado:
Verificamos esta dirección de contrato de token en Etherscan:
Se encuentra que el símbolo del token del contrato correspondiente a esta dirección es ETH, y el atacante completó la recarga falsa de cadena cruzada al implementar el contrato de moneda falsa.
Corrección de errores
Parches de vulnerabilidad:
Después de descubrir el ataque, la parte del proyecto reparó rápidamente el código, eliminó el tipo de token predeterminado, usó common.EmptyAsset para definir tokens vacíos y usó asset.IsEmpty() para juzgar la lógica posterior, y filtró la parte superior falsa sin asignación. hasta fichas.
Resumen
Afortunadamente, la parte del proyecto descubrió este ataque a tiempo y no causó grandes pérdidas de propiedad. Sin embargo, como un sistema de cadenas cruzadas, se pueden reunir enormes fondos de cadenas múltiples en el futuro y la seguridad no se puede ignorar. Por lo tanto, la seguridad de SlowMist El equipo recomienda que se diseñe el sistema de cadenas cruzadas. Las características de las diferentes cadenas públicas y los diferentes tokens deben considerarse completamente, la prueba de "recarga falsa" debe llevarse a cabo por completo, el monitoreo del estado y la alerta temprana deben realizarse correctamente, y si necesario, se puede contactar a una empresa de seguridad profesional para una auditoría de seguridad.
Tags:
Título ▌La línea 5 del metro de Suzhou puede comprar boletos con renminbi digitalSegún las noticias oficiales, la Línea 5 de Suzhou Rail Transit se ha abierto para operar.
La semana pasada, Karura pujó con éxito por la primera ranura de parachain de Kusama y la lanzó sin problemas. Esta es también la segunda "cadena paralela" del mundo (la primera es la cadena de activos Statemine en Ku.
Catálogo Arte orientado al valor de NFT Compra y venta Autenticidad Prueba de escasez Protección de artículos virtuales Prueba de nuevos trabajos Nueva economía Mundos paralelos Cómo las NFT ayudan a la caridad a esti.
Según las noticias de SlowMist, el 29 de junio de 2021, THORChain, un protocolo descentralizado de transacciones entre cadenas, tuiteó que había descubierto un ataque malicioso contra THORChain.
La propuesta Taproot de Bitcoin ha sido respaldada por la comunidad y se espera que se active-kepj en noviembre de este año.
El lanzamiento de la versión Curve V2 es extremadamente discreto. No hay una hermosa página de introducción, ni un video que explique el principio.
El oro al contado cayó más de $5 en el corto plazo y ahora está en $1951,23/oz: Según el mercado, el oro al contado cayó más de $5 en el corto plazo y ahora está en $1951.