El 23 de marzo, la red blockchain de Ronin que subyace al popular juego impulsado por NFT axie infinito fue golpeado con un truco que vio a los atacantes alejarse con $ 625 millones en criptomonedas.
El hackeo de Ronin fue la mayor cantidad de dinero que jamás se haya robado del tipo de servicio llamado “puente”, que conecta una cadena de bloques con otra para que el valor pueda enviarse entre ellas. Desafortunadamente, estuvo lejos de ser el único truco para atacar un puente: menos de dos meses antes, otra plataforma de puente llamada Wormhole fue explotada por cerca de $ 325 millones, y unos seis meses antes de eso, se robaron más de $ 600 millones de otra plataforma cruzada. puente de cadena llamado Poly. (En un giro sorprendente, el hacker luego devolvió los fondos robados de Poly).
En resumen, los puentes son el punto débil en muchos sistemas de criptomonedas, y los piratas informáticos los están atacando por más de mil millones de dólares en poco más de un año. Por lo tanto, vale la pena exponer exactamente qué son, por qué son importantes y cómo las empresas de cifrado pueden intentar tapar el agujero de mil millones de dólares en sus bolsillos.
Si no tiene tiempo para seguir leyendo, la respuesta corta a la primera parte es “sí, son vulnerables, pero tal vez lo sean menos con el tiempo”. Para la segunda parte, la historia es más compleja.
(Suponemos que ya sabe lo que es una cadena de bloques; si no, puede comenzar aquí).
Entonces, ¿qué es un “puente de cadena de bloques”?
Esencialmente, es un sistema para conectar diferentes cadenas de bloques, lo que permite a los usuarios intercambiar un tipo de moneda o token por otro. Cada criptomoneda se ejecuta en su propia cadena de bloques: hay Bitcoin, Ethereum y monedas más nuevas como Tether, Ripple, Solana, etc. No existe una forma simple para que estas diferentes cadenas de bloques interactúen: todas pueden usar el concepto de “direcciones” para enviar y recibir transacciones de divisas, pero no puede enviar ETH directamente a una dirección de Solana.
Un puente de cadena de bloques es lo que los desarrolladores han construido para que ese cruce sea un poco más fluido. Si tiene ETH y necesita el SOL de Solana para registrarse en un juego, puede enviar su ETH a un puente, obtener SOL a cambio y usar el mismo método para volver a convertir cuando haya terminado de jugar.
¿Por qué los puentes son particularmente vulnerables a los ataques?
La respuesta corta es que están manejando muchas solicitudes complejas y tienen una gran cantidad de dinero en efectivo y, a diferencia de las propias cadenas de bloques, no existe un estándar sobre cómo se supone que deben mantener todo seguro.
Imagine un puente de cadena de bloques como un puente real entre dos islas. Cada isla tiene reglas diferentes sobre el tipo de automóvil que puede conducir (tal vez haya una isla EV y una isla de gasolina normal), por lo que no le permitirán conducir su automóvil de un lado a otro directamente. De hecho, conduce hasta un lado del puente, deja su vehículo en un estacionamiento, cruza y recoge un auto de alquiler en el otro lado. Luego, cuando terminas de conducir por la otra isla, llevas tu vehículo alquilado de regreso al puente, cruzas y te entregan las llaves de tu auto.
Eso significa que por cada coche de alquiler que circula por la isla, hay otro coche aparcado en el garaje. Algunos se almacenan durante horas, otros durante días, otros durante meses, pero todos están allí sentados y la empresa que opera el puente tiene que mantenerlos a salvo. Mientras tanto, otras personas sin escrúpulos saben exactamente cuántos autos hay en el garaje y buscan formas de robarlos.
Funcionalmente, esto significa que los puentes reciben transacciones entrantes en un tipo de criptomoneda, lo bloquean como depósito y liberan una cantidad equivalente de criptomoneda en otra cadena de bloques. Cuando los puentes son pirateados, el atacante puede retirar dinero de un lado del puente sin poner nada en el otro lado.
Los puentes son objetivos particularmente tentadores debido a todo el código complejo, lo que crea muchas oportunidades para errores explotables. Como explica el fundador de CertiK, Ronghui Gu: “Si está tratando de crear un puente entre N criptomonedas diferentes, la complejidad de eso es N al cuadrado”, lo que significa N más posibilidades de que se introduzcan errores.
Fundamentalmente, estas diferentes criptomonedas no son solo diferentes unidades de dinero: están escritas en diferentes lenguajes de programación y se implementan en diferentes entornos virtuales. Descubrir cómo deberían interactuar estas cosas es muy difícil, especialmente para los puentes en cadena que se convierten entre múltiples monedas diferentes.
¿Los puentes han hecho que las criptomonedas sean menos seguras en general?
Probablemente no. Los atacantes apuntan a los puentes en este momento porque son el punto más débil del sistema, pero eso se debe en parte a que la industria ha hecho un buen trabajo asegurando el resto. Kim Grauer, directora de investigación de Chainalysis, una empresa que ha produjo una investigación sobre los robos de DeFi – dijo el borde que los hacks de puentes están tomando el lugar de la generación anterior de hacks dañinos contra intercambios como Coincheck, BitMart o Mt Gox.
“Si observaba nuestro ecosistema hace solo unos años, los intercambios centralizados eran el objetivo principal de los ataques. Cada pirateo era, ‘El intercambio centralizado vuelve a fallar’, y la industria trabajó arduamente para tener soluciones que nos permitieran superar estos problemas de piratería”, dice ella. “Estamos viendo mucho pirateo de DeFi, pero creo que el ritmo en realidad se está desacelerando. Definitivamente, la velocidad a la que está ocurriendo esta piratería no puede continuar para que la industria crezca”.
¿No es el objetivo de la cadena de bloques evitar este tipo de ataque?
El problema es que muchos puentes no están en absoluto en la cadena de bloques. El puente Ronin se configuró para funcionar “fuera de la cadena”, ejecutándose como un sistema que interactúa con la cadena de bloques pero existe en servidores que no forman parte de ella. Estos sistemas son rápidos, flexibles y relativamente livianos, lo que reduce algunos de los desafíos de complejidad de “N al cuadrado”, pero pueden verse afectados por el mismo tipo de ataques que afectan a los servicios web en cualquier lugar de Internet. (“Esto no es realmente una cadena de bloques”, dice Gu. “Estos son servidores ‘Web2′”).
Sin la cadena de bloques para liquidar las transacciones, el puente Ronin se basó en nueve nodos de validación, que se vieron comprometidos a través de una combinación de hacks de código y ingenieria social no especificada.
Hay otros sistemas puente que funcionan como contratos inteligentes, básicamente, la alternativa “en cadena”. Es menos probable que un atacante pueda subvertir el código de un sistema en cadena a través de la ingeniería social, y es muy poco probable que obtenga el poder de la mayoría en la red. El inconveniente es que los contratos inteligentes en sí mismos son muy complejos y, si existen errores, puede ser difícil actualizar el sistema de manera oportuna. (Wormhole usó un sistema en cadena, y el gran robo ocurrió después de que los piratas informáticos detectaron actualizaciones de seguridad que se cargaron en GitHub pero que no se habían implementado en el contrato inteligente en vivo).
¿Cómo evitamos que los puentes sean pirateados?
Es dificil. La respuesta que surgió una y otra vez fue “auditoría de código”. En el tipo de caso descrito anteriormente, donde el equipo de desarrollo de un proyecto podría estar trabajando en diferentes lenguajes de programación y entornos informáticos, la incorporación de experiencia externa puede cubrir los puntos ciegos que el talento interno podría pasar por alto. Pero en este momento, un número sorprendentemente grande de proyectos no tienen ningún auditor en la lista.
Nick Selby, director de prácticas de aseguramiento de la empresa especializada en auditoría de seguridad Trail of Bits, dijo que esto se debe en parte a la rapidez con la que ha surgido el mercado. La mayoría de las empresas están bajo una gran presión para crecer, escalar y crear nuevas funciones para defenderse de los competidores, lo que a veces puede ocurrir a expensas de un trabajo de seguridad diligente.
“Estamos dentro, no lo llamaría necesariamente una burbuja, pero ciertamente es una fiebre del oro”, dice Selby. “Creo que muchas veces, los ejecutivos que intentan innovar en el espacio verán el resultado de la función deseada y dirán: ‘Bueno, esto [product] tiene las características que quiero. Por lo tanto, es bueno.’ Y hay muchas cosas que no están mirando, por lo que no las están viendo, que es donde entra en juego la auditoría del código”.