Cómo se robaron USD 323 millones en criptomonedas de un puente de cadena de bloques llamado Wormhole

0 Comments


Cómo se robaron USD 323 millones en criptomonedas de un puente de cadena de bloques llamado Wormhole

Aurich Lawson | imágenes falsas

Esta es una historia sobre cómo un simple error de software permitió el cuarto robo de criptomonedas más grande de la historia.

Los piratas informáticos robaron más de $323 millones en criptomonedas al explotar una vulnerabilidad en Wormhole, un servicio basado en la web que permite transacciones entre cadenas de bloques. Wormhole permite a las personas mover monedas digitales vinculadas a una cadena de bloques a otra cadena de bloques diferente; estos puentes de cadena de bloques son particularmente útiles para los servicios de finanzas descentralizadas (DeFi) que operan en dos o más cadenas, a menudo con protocolos, reglas y procesos muy diferentes.

Un guardián sin dientes

Uso de puentes fichas envueltas, que bloquea tokens en una cadena de bloques en un contrato inteligente. Después de que un oráculo de cadena cruzada descentralizado llamado “guardián” certifique que las monedas se han bloqueado correctamente en una cadena, el puente acuña o libera tokens del mismo valor en la otra cadena. Wormhole une la cadena de bloques de Solana con otras cadenas de bloques, incluidas las de Avalanche, Oasis, Binance Smart Chain, Ethereum, Polygon y Terra.

Pero, ¿y si no puedes confiar en el guardián? A extenso analisis publicado en Twitter unas horas después del atraco, dijo que la plataforma de back-end de Wormhole no pudo validar correctamente sus cuentas de tutor. Al crear una cuenta de firma falsa, el pirata informático o los piratas informáticos detrás del atraco acuñó 120,000 monedas ETH—con un valor aproximado de $ 323 millones en el momento de las transacciones— en la cadena Solana. Luego, los piratas hicieron una serie de transferencias que colocó alrededor de 93,750 tokens en una billetera privada almacenada en la cadena Ethereum, la firma de análisis de blockchain Elliptic dijo.

Los piratas informáticos lograron el robo utilizando una transacción anterior para crear un conjunto de firmas, que es un tipo de credencial. Con esto, crearon un VAA, o aprobación de acción del validador, que es esencialmente un certificado necesario para aprobar transacciones.

“Una vez que tenían el ‘conjunto de firmas’ falso, era trivial usarlo para generar un VAA válido y activar una acuñación no autorizada en su propia cuenta”, @samczsun, el usuario de Twitter de un empleado de una empresa de inversión Paradigma, escribió. “El resto es historia. tl;dr: Wormhole no validó correctamente todas las cuentas de entrada, lo que permitió al atacante falsificar las firmas de los guardianes y acuñar 120 000 ETH en Solana, de los cuales conectaron 93 750 a Ethereum”.

Otra inmersión profunda útil en el truco es aquí.

El botín es el cuarto robo de criptomonedas más grande de todos los tiempos, según esta resumen de Statista, justo detrás de los $ 480 millones robado de Mt. Gox en 2014, los $547 millones tomados de Coincheck en 2018, y los $611 millones arrebatados a Polynetwork el año pasado (esta cantidad récord fue más tarde regresó por el ladrón).

estatista

En 2021, las pérdidas por robos de criptomonedas totalizaron $ 10.5 mil millones, según elípticafrente a los 1.500 millones de dólares del año anterior.

Un desafío no trivial

El hackeo de Wormhole tomó por sorpresa a algunos expertos en seguridad de blockchain. El desafío de escribir software que interactúe con múltiples cadenas de manera segura no es trivial, y solo un número limitado de herramientas y técnicas pueden probar la solidez del código.

“La construcción de puentes hereda toda la complejidad de cada cadena de bloques”, dijo en un mensaje Dan Guido, director ejecutivo de la firma de seguridad Trail of Bits. “Parecen engañosamente simples, pero se encuentran entre los códigos más difíciles de escribir en la realidad”.

Para agravar la dificultad, el nuevo truco se produjo poco después de que se realizara un cambio reciente en parte del software involucrado.

“El puente no esperaba que los usuarios pudieran enviar un conjunto de firmas, ya que el cambio para facilitar eso fue reciente en el tiempo de ejecución de Solana”, explicó Guido. “Al enviar sus propios datos de firma, un atacante cortocircuitó una verificación de firma que les permitió tomar posesión de una gran cantidad de tokens”.

En un correo electrónico, Dane Sherret, arquitecto de soluciones del servicio de informes de errores HackerOne, lo explicó de esta manera:

Hay un verify_signatures función que se supone que toma las firmas criptográficas de los guardianes y las agrupa. A pesar de su nombre, verify_signatures en realidad no se verifica a sí mismo, utiliza el secp256k1 Programa nativo en Solana. La versión del programa solana que Wormhole estaba usando no verificó correctamente la dirección, lo que permitió al pirata informático crear una cuenta que podía pasar por alto todos los controles.

A través de los pasos anteriores, el pirata informático pudo eludir las comprobaciones de firmas y llevar el ETH a Ethereum, lo que significó que, durante un período de tiempo, algunos de los wETH [the wrapped ETH on Solana] en realidad no estaba respaldado por nada.

Es difícil entender este truco porque se inició en la cadena de bloques de Solana, que utiliza el lenguaje de programación Rust para sus contratos inteligentes. Como Ethereum usa el lenguaje de programación Solidity para sus contratos inteligentes, es un ejemplo de cómo las nuevas redes, con diferentes idiosincrasias y diferentes lenguajes, ahora se comunican entre sí, lo que dificulta aún más la seguridad.

Las aplicaciones de cadena cruzada también presentan otros riesgos. en un correo escrito el mes pasado, el cofundador de Ethereum, Vitalik Buterin, advirtió que los “límites de seguridad fundamentales de los puentes” los hacían vulnerables a una clase diferente de explotación de blockchain conocida como 51% ataque.

También conocido como ataque mayoritario, un ataque del 51 % permite que una parte malintencionada que obtiene más del 50 % del poder de hash en una cadena de bloques revierta transacciones realizadas anteriormente, bloquee la confirmación de nuevas transacciones y cambie el orden de las nuevas transacciones. Eso abre la puerta a algo conocido como doble gasto, un truco que le permite al atacante realizar dos o más pagos con las mismas fichas de moneda. Buterin escribió:

No espero que estos problemas aparezcan inmediatamente. 51% atacar incluso una cadena es difícil y costoso. Sin embargo, cuanto mayor sea el uso de puentes de cadena cruzada y aplicaciones, peor será el problema. Nadie atacará el 51% de Ethereum solo para robar 100 Solana-WETH (o, para el caso, el 51% atacará a Solana solo para robar 100 Ethereum-WSOL). Pero si hay 10 millones de ETH o SOL en el puente, entonces la motivación para realizar un ataque se vuelve mucho mayor, y es posible que grandes grupos se coordinen para que el ataque suceda. Entonces, la actividad de cadena cruzada tiene un efecto anti-red: si bien no sucede mucho, es bastante seguro, pero cuanto más sucede, más aumentan los riesgos.

Mientras tanto, la demanda de interoperabilidad de blockchain continúa creciendo, lo que probablemente haga que los desafíos de seguridad sean más molestos. Tanto Guido como Sherret aconsejaron a los operadores de puentes que tomen medidas proactivas para evitar ataques similares en el futuro. Dichos pasos incluyen completar múltiples auditorías de seguridad y poner solo una funcionalidad limitada en las listas de permitidos de la red hasta que los desarrolladores confíen en la madurez y seguridad de una función.





Source link

Tags: , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *