Juegos que ofrecen comprar o adquirir elementos virtuales como armaduras, animales o recursos naturales para divertirse, avanzar y obtener beneficios en forma de criptomonedas o tokens. Estos objetos virtuales pueden ser representados mediante los Non-Fungible Token (NFT), que acreditan la propiedad o autenticidad de esos activos en el wallet del usuario, que tiene la libertad de usarlos o venderlos directamente sin necesidad de hacerlo a través de ningún intermediario. Esta es la dinámica de los videojuegos DeFi, Descentralized Finance, que utilizan la tecnología blockchain para gestionar la economía del juego y darles a los usuarios el control de sus activos y poder obtener ganancias.
¿Qué conceptos necesitas saber para entender el funcionamiento de los juegos DeFi?
- Web3. Evolución de la web basada en tecnología descentralizada que permite a las personas usuarias tener un mayor control de sus datos. A través de la blockchain, por ejemplo, pueden tener propiedades digitales como tokens, imágenes, música o cualquier tipo de fichero y pueden venderlos o intercambiarlos sin depender de ningún intermediario.
- Smart contract. Los contratos inteligentes son los programas informáticos que contienen el código con todas las reglas y lógica programada para el funcionamiento de la aplicación descentralizada y se ejecutan automáticamente en la blockchain a medida que se cumplen esas condiciones y cláusulas.
- DeFi. Aplicaciones de finanzas descentralizadas en las que todas las reglas y condiciones quedan definidas en los llamados smart contract y, por tanto, sin necesidad de tener que depositar la confianza en una entidad. Una de las categorías de las aplicaciones DeFi son los videojuegos.
- P2E. El modelo play to earn está ligado a este tipo de juegos, ya que permite ganar tokens con un valor real en el mercado, a través de logros dentro del videojuego. Permite la compraventa de objetos, que son los activos para avanzar en el juego, como pueden ser espadas o armaduras y eso puede generar unas ganancias.
Este tipo de apps combinan la diversión y la interacción propia de los videojuegos con las características y ventajas de la tecnología blockchain y las finanzas descentralizadas. En 2021 se popularizaron y, aunque en 2022 experimentaron una desaceleración, se han convertido en una opción atractiva para muchos jugadores y entusiastas de la cadena de bloques. Sin embargo, su uso puede implicar riesgos con pérdidas cuantiosas, ya que una brecha puede dar acceso a los atacantes a los fondos y a manipular el mercado del juego. Por eso la seguridad debe ser una preocupación importante en este campo, especialmente en lo que respecta a la protección de los activos de los usuarios.
Impacto de los juegos DeFi
Los protocolos DeFi están entre los objetivos de los ciberdelincuentes. Solo en 2021, se perdieron más de 10.000 millones de dólares a causa de ciberataques y estafas, según datos de la empresa de análisis de blockchain Elliptic. Y es que son plataformas que mueven grandes cantidades de dinero. Uno de los juegos DeFi más populares, ‘Axie Infinity’, con más de 100.000 usuarios diarios, puede llegar a mover más de 65 millones de dólares en 24 horas, según los datos recopilados por CoinMarketCap. Es por ello que la seguridad es uno de los mayores desafíos que debe abordar el incipiente entorno blockchain.
Auditoría de 27 juegos DeFi para comprobar su seguridad y transparencia
Con este contexto y en el marco de las prácticas de hacking ético para identificar y aflorar posibles brechas de seguridad, el equipo de Sofistic, la unidad de ciberseguridad de Cuatroochenta, ha realizado una investigación para auditar y analizar las medidas de seguridad de 27 juegos DeFi diferentes. El 70% de los proyectos ya estaban lanzados en el mercado y el resto estaban en versión beta o desarrollo.
La auditoría, en la que ha colaborado la empresa especializada en criptomonedas Bit2Me, se ha realizado a partir de la información que aparecía tanto en las páginas web de los juegos como en los repositorios de Github y en todos los datos de la blockchain. En la investigación se ha puesto el foco en los tres componentes clave en la seguridad de este tipo de juegos: los contratos inteligentes, los clientes como apps o páginas web y los servidores.
Principales resultados de la investigación
Clasificación | Número de fallos |
---|---|
Bajo | 1 |
Medio | 10 |
Alto | 5 |
Crítico | 13 |
Total | 29 |
1 · Medidas de autenticación y validaciones débiles
La autenticación, el control de accesos y la gestión de información sensible son elementos cruciales para garantizar la privacidad y seguridad de los datos y recursos y para mitigar posibles amenazas. En esta línea, uno de los fallos más críticos permitía acceder a la cuenta de diversos usuarios, saltándose el inicio de sesión. Es una brecha que se ha detectado en 3 de los 27 juegos investigados.
Respecto a la privacidad, la investigación también ha constatado que el 38% de los proyectos tenía algún fallo en el control de acceso, exponiendo información sensible a otros usuarios. Así, por ejemplo, en un ranking de ganadores aparecía el email y el wallet de la persona usuaria con información personal, cuando simplemente debería constar el usuario y su puntuación.
Otro de los fallos detectados en la autenticación y control de acceso es que el 65% de los juegos verificaban, de forma incorrecta o insuficiente, los datos introducidos por los usuarios en la aplicación para procesarlos y almacenarlos en la base de datos. Aunque todos los sistemas codifican los datos de salida de forma excelente, algunos permitían introducir datos erróneos o potencialmente dañinos en campos del registro como el nombre de usuario o la dirección de correo. Esto podía alterar el funcionamiento interno de la plataforma o ejecutar amenazas. También se ha detectado falta de control en el acceso a funciones administrativas de los contratos. En uno de los casos, cualquier persona podía acceder a la función que permite cambiar el contrato que se encargaba de calcular el precio de compra o puja de un NFT, pudiendo inyectar un contrato malicioso que le permitiera hacer compras a precio cero o robar todos los tokens de un usuario.
2 · Falta de transparencia en los contratos que gestionan la economía del juego
Los smart contract son el instrumento que aporta máxima garantía y confianza a cualquier proyecto descentralizado. Como si fuera un contrato notarial, las personas usuarias pueden conocer y verificar los términos y las condiciones del juego y tener la garantía y la confianza de que se cumplen. Es por ello, que la transparencia debe ser un atributo intrínsecamente ligado a ellos. Algunos proyectos aseguran que operan en la blockchain, pero realmente no aprovechan sus beneficios y dejan partes fuera de la cadena de bloques, abriendo la puerta a posibles abusos, manipulaciones o malversaciones.
¿Qué requisitos mínimos deberían cumplir?
Recoger en la documentación los casos de uso que cubre la lógica de la blockchain y los que quedan fuera.
Documentar el funcionamiento o flujo de la parte económica del proyecto en el contrato y la tokenomics.
Publicar las direcciones de todos los contratos, así como su código y reportes de auditorías.
Documentar la funcionalidad de cada contrato.
¿Qué se persigue?
Revisar y verificar que en la documentación se explica toda la lógica de la aplicación, tanto centralizada como descentralizada.
Comprobar que las direcciones de los smart contracts están en la documentación y que su código es público.
Corroborar si existen vulnerabilidades o funciones abusivas a través del reporte de la auditoría y del código de los contratos.
Contrastar que lo que está implementado en el código de los contratos cumple con lo que se dice en la documentación y, por tanto, se va a respetar.
«Todos los proyectos deberían publicar el código de sus contratos siendo accesibles y revisables para poder verificar que lo que se ejecuta en la blockchain coincide con la documentación y que no contiene vulnerabilidades»
Los tokenomics, que es la manera en la que se distribuyen y administran los tokens en el juego, deben recogerse en la información técnica de los proyectos y debe quedar reflejada su implementación en los contratos. La realidad, según se ha podido comprobar, es otra. Aunque una amplia mayoría, 8 de cada 10, tenían una sección dedicada a las reglas en su documentación técnica, solo un 10% lo implementa a través de contratos.
La auditoría también ha comprobado que únicamente 1 de los 27 juegos auditados facilitaba información sobre la parte que se había implementado fuera de la cadena de bloques. Cada plataforma debería indicar claramente qué partes del juego están implementadas en la blockchain y qué partes no, para no confundir a la persona usuaria, ya que pueden existir sistemas en que lo único que opera en la tecnología descentralizada son los tokens que se utilizan como activo.
3 · Escasas auditorías externas para garantizar la seguridad
4 · Prácticas abusivas en la gestión de capital
El 72% de los juegos auditados implementan funciones abusivas o tienen roles de administrador con un exceso de poder, según revela la investigación. Algunas de estas prácticas incluyen agregar direcciones a una "Lista Negra" para congelar los tokens, cambiar el porcentaje de las comisiones de las transacciones para beneficiar al administrador o crear un número ilimitado de tokens sin restricciones por parte de los administradores. Prácticas que pueden afectar al valor de los tokens y que, a menudo, pasan desapercibidas para los usuarios comunes.
La auditoría también ha revelado que hay juegos que permiten a los administradores transferir o destruir tokens de las personas usuarias sin su consentimiento o retirar todos los fondos a una dirección solo con un clic. Aunque son prácticas diseñadas probablemente para proteger los fondos de los usuarios en caso de emergencia, suponen un gran riesgo en caso de que la cuenta del administrador sea robada y los atacantes tuvieran acceso a los fondos.
5 · Configuraciones y software desactualizado
6 · Transacciones manuales
Las plataformas de finanzas descentralizadas, que mueven diariamente grandes sumas de dinero, deben ser lo más transparentes posibles para generar confianza y certificar que no cometen ningún tipo de trampa ni manipulación. El equipo de Sofistic ha podido verificar que, en algunos juegos, las transacciones críticas como el cambio de tokens por dinero real se validan de forma manual, abriendo la puerta a posibles errores humanos o manipulaciones, además, de la posible pérdida o filtración de claves. Todas las transacciones deberían automatizarse, a través de los smart contract, para que se ejecutaran con las máximas garantías y comprobando su valor en tiempo real.
Aunque 8 de cada 10 juegos tienen una sección sobre la economía de los tokens en su información técnica, solo un 10% lo implementa mediante un contrato inteligente que certifica que no se comete ningún tipo de trampa o manipulación. Además, la mayoría de los juegos (7 de cada 10) que tienen un marketpace para vender, por ejemplo, NFTs o intercambiar tokens lo tienen de manera independiente sin recurrir a terceros. Aunque tener uno propio permite ahorrarse comisiones y ofrece un mayor grado de libertad para personalizar el proceso, es más propenso a vulnerabilidades que uno de un tercero que está más testeado.
7 · Falta de madurez en la calidad del código
El 60% del código auditado carece de comentarios descriptivos sobre su funcionalidad. Aunque es legible, el código no tiene notas que permitan a otros desarrolladores o usuarios conocer explícitamente su funcionalidad. Los comentarios descriptivos, considerados una buena práctica de desarrollo, ayudan al mantenimiento de las soluciones y la depuración de errores. El testing también es una buena práctica de desarrollo para comprobar el buen funcionamiento del código y permitiría evitar algunos de los fallos encontrados que dejaban, por ejemplo, inutilizar el marketplace entero del juego.
Además, algunos contratos consumen una cantidad notable de recursos computacionales, conocidos como “gas”, para ejecutarse y eso genera mayores costes. Otros fallos detectados son el código repetido, sin usar o con funciones inseguras. Todo un conjunto de deficiencias que dejan entrever la falta de experiencia en el desarrollo, según la investigación, que advierte que este tipo de problemas se pueden mantener a lo largo de tiempo, ya que generalmente los smart contract son inmutables y, por tanto, imposibles de actualizar o alterar.
¿Quieres conocer el detalle de las vulnerabilidades detectadas?
Metodología para auditar soluciones que operan en la blockchain
Siguiendo el procedimiento habitual de hacking ético, todas estas vulnerabilidades han sido reportadas a las empresas desarrolladoras y fabricantes de los juegos auditados para que tengan constancia de las posibles brechas y puedan repararlas. Además, a partir de la experiencia en pentest, el equipo de Sofistic ha establecido una metodología para investigar y auditar tanto los smart contracts como la seguridad Web3 u otros proyectos y soluciones que operan en la blockchain.
Se trata de un completo checklist de ciberseguridad para revisar todos los componentes del proyecto como el análisis del código o la evaluación de la parte que opera tanto dentro como fuera de la blockchain. Y es que, aunque esta tecnología descentralizada funciona de forma sólida y segura gracias a la criptografía, los componentes que se construyen sobre ella pueden tener sus propias brechas de seguridad. Por ello, es fundamental securizar esos proyectos y minimizar al máximo cualquier amenaza externa.
Las vulnerabilidades y la falta de transparencia detectadas en los juegos DeFi podrían ser aprovechadas por los ciberdelincuentes para manipular el juego y hacerse con el control de los tokens.
Una auditoría externa es la mejor vía para que este tipo de plataformas protejan los fondos y activos de las personas usuarias ofreciéndoles la máxima confianza.
Conoce los nuevos servicios de blockchain de Sofistic