Smart Contract Invariants Protect Against Cybercriminals
Este artículo demuestra que las invariantes de los contratos inteligentes, validadas mediante el benchmark INVARIANTEVAL y el marco PONDEREPLAY, protegen eficazmente contra los 28 exploits reales de Ethereum al bloquear ataques cibercriminales a través de 108.637 transacciones históricas.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina el internet como una ciudad digital gigante y bulliciosa donde el dinero no se guarda en bancos, sino en gigantescas bóvedas de cristal transparente llamadas "blockchains". Dentro de estas bóvedas viven los "smart contracts" (contratos inteligentes), que son esencialmente máquinas expendedoras que se ejecutan automáticamente. Introduces el código correcto (como una moneda) y la máquina te entrega el producto correcto (como un token), todo sin un cajero humano. Pero aquí está el truco: estas máquinas expendedoras son construidas por humanos, y los humanos cometen errores. Si un programador olvida cerrar una puerta o calcula mal el cambio, un ladrón astuto puede colarse, agarrar toda la bóveda y desaparecer con miles de millones de dólares. Este es el salvaje oeste de la economía digital, donde los cibercriminales buscan constantemente un tornillo suelto para abrir la caja de cristal.
Para detener a estos ladrones, los científicos de la computación han intentado construir mejores cerraduras. Una idea prometedora es el "invariante". Piensa en un invariante como una regla mágica que la máquina expendedora comprueba antes de hacer cualquier cosa. Es como un portero en un club que revisa una lista: "¿Es la persona mayor de 21 años? ¿Está la puerta cerrada? ¿Coincide el precio?". Si la respuesta a cualquiera de estas preguntas es "no", la máquina cierra la puerta de golpe y se niega a moverse, incluso si el ladrón tiene una llave maestra. La gran pregunta que los investigadores se han estado haciendo es: si hubiéramos tenido estos porteros mágicos en su lugar durante los robos pasados, ¿habrían detenido realmente a los ladrones? Y lo que es más importante, ¿podemos enseñar a las computadoras a inventar estos porteros por sí mismas, o todavía necesitamos a expertos humanos para escribir las reglas?
Este artículo profundiza en esa pregunta estableciendo un experimento masivo y real. Los investigadores, un equipo del KTH Royal Institute of Technology, decidieron dejar de suponer y empezar a probar. Reunieron una colección de 28 robos reales de miles de millones de dólares que ya habían ocurrido en la blockchain de Ethereum. Para cada uno de estos desastres, actuaron como investigadores de la escena del crimen digital. Analizaron exactamente cómo entraron los ladrones y luego escribieron manualmente un "invariante" específico (una regla de seguridad) que habría bloqueado ese ataque específico. Llamaron a esta colección INVARIANTEVAL.
Pero no solo escribieron las reglas; construyeron una máquina del tiempo para probarlas. Utilizando una herramienta sofisticada que crearon llamada PONDEREPLAY, volvieron a ejecutar la historia de la blockchain. Tomaron el código original y vulnerable, añadieron sus nuevas reglas de seguridad y luego volvieron a reproducir 108.637 transacciones históricas. Es como rebobinar la película de un robo a un banco, pero esta vez, el banco tiene un nuevo y superpotente sistema de alarma.
Los resultados fueron increíblemente claros. Cuando ejecutaron la reproducción, cada una de las 28 reglas de seguridad escritas por humanos funcionó perfectamente. En todos los casos, la transacción del ataque chocó con la nueva regla, la máquina dijo "De ninguna manera" y el robo fue bloqueado. Los investigadores descubrieron que estas reglas no solo detuvieron a los malos, sino que también permitieron que los buenos (usuarios legítimos) siguieran usando el sistema normalmente el 98,3% de las veces. Las pocas veces que el sistema fue demasiado estricto y bloqueó a un usuario normal, los investigadores pudieron rastrear exactamente por qué, demostrando que las reglas funcionaban según lo previsto y no eran simplemente fallos técnicos.
Sin embargo, la historia da un giro brusco cuando los investigadores hicieron la segunda pregunta: ¿Pueden las computadoras hacer esto? Tomaron las mejores y más avanzadas herramientas automatizadas disponibles actualmente en el campo —herramientas diseñadas para escribir automáticamente estas reglas de seguridad por nosotros— y las probaron contra sus 28 robos del mundo real. El resultado fue un fracaso humillante. De los 28 ataques que debían ser detenidos, estas sofisticadas herramientas automatizadas lograron descifrar la regla de seguridad correcta para solo 2 de ellos. ¿Los otros 26? Las herramientas o bien pasaron por alto el peligro por completo o escribieron reglas que eran demasiado débiles para detener a los ladrones.
Entonces, ¿cuál es la conclusión? El artículo demuestra que el concepto de "invariantes" es un escudo poderoso; si hubiéramos tenido las reglas adecuadas en su lugar, podríamos haber detenido más de mil millones de dólares en robos. Pero la mala noticia es que aún no tenemos un robot que pueda escribir esas reglas para nosotros de manera fiable. Todavía necesitamos expertos humanos para comprender los trucos específicos de los ladrones y escribir los guardias. La tecnología para generar estas defensas automáticamente está aún en su infancia, dejando un enorme vacío entre lo que sabemos que funciona y lo que nuestras computadoras pueden hacer actualmente por sí solas.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.