theNet by CLOUDFLARE

Comprender la Web3 y sus implicaciones para la seguridad

Consideraciones que las empresas deben tener en cuenta para explorar la web descentralizada

Primeros pasos en el mundo de la Web3

El paso de la Web 1.0 a la Web 2.0 expuso a las empresas a toda una serie de nuevos riesgos de seguridad. La posibilidad de que cualquier usuario publicara contenido en Internet significaba que la entrada de datos no fiables y maliciosos podía comprometer más fácilmente los sitios web, filtrar datos e infectar bases de datos.

A medida que las empresas empiecen a explorar el nuevo mundo de la Web3, tendrán que afrontar otra serie de vulnerabilidades de seguridad, con algunas de las cuales puede que no se hayan encontrado nunca antes. Las empresas que experimenten con la Web3 necesitarán nuevos enfoques para hacer frente a estos desafíos.


Conceptos básicos de la Web3

La Web3 es un enfoque de una versión de la web descentralizada y de carácter colectivo. La tecnología Web3 se basa en bases de datos descentralizadas que requieren un consenso mayoritario para cualquier cambio o actualización.

Para resumir en qué se diferencia la Web3 de la tecnología web anterior:

  • La Web 1.0 es de lectura: los usuarios pueden obtener datos de la web, pero no pueden interactuar con ellos.

  • La Web 2.0 es de lectura-escritura: los usuarios aportan datos a la web, por ejemplo, cargando contenidos.

  • La Web3 es de lectura-escritura-propiedad: los usuarios no solo aportan datos, también son dueños de sus datos.

Este concepto de lectura-escritura-propiedad es posible gracias a algunos principios básicos:

Descentralización

Durante gran parte de la historia de Internet, las aplicaciones web han estado controladas por proveedores centralizados. Estos proveedores controlan la lógica y los datos de las aplicaciones, y pueden editarlos y borrarlos como quieran.

En la Web3, las aplicaciones web se distribuyen a través de una red punto a punto (P2P) de nodos conectados. No existe una autoridad o controlador central. Los datos son siempre visibles para todos los nodos, y no pueden borrarse ni modificarse sin el consenso de la red.

Consenso

La Web3 requiere un consenso mayoritario de la red para validar nuevas transacciones o actualizaciones. Para lograr el consenso, las cadenas de bloques utilizan mecanismos de validación de prueba de trabajo (PoW) y de prueba de participación (PoS).

Confianza implícita

La Web3 se basa en la criptografía, especialmente en el hashing, para garantizar que los datos nunca se modifican o eliminan sin el acuerdo de la red de soporte.

Por ejemplo, un bloque determinado de una cadena de bloques no puede modificarse por sí solo, porque su hash está registrado en el bloque siguiente. Si se cambia un bloque, cambiará el valor del bloque siguiente, lo que invalidaría el hash del bloque siguiente a ese, y así sucesivamente. En otras palabras, cualquier cambio requeriría modificar gran parte del resto de la cadena de bloques. Estos cambios se producen, pero requieren un amplio consenso de la red de soporte y consumen muchos recursos.

En muchos sentidos, esto hace que la Web3 sea más segura que la Web 2.0. Los clientes participantes tienen la certeza de que reciben los datos exactos que solicitan, y los datos solicitados no pueden ser modificados ni sustituidos por datos maliciosos. Los clientes no tienen que confiar en un proveedor centralizado. La confianza implícita está integrada en la cadena de bloques.


Cómo utilizan las empresas la Web3

Las empresas aprovechan las posibilidades de la Web3 de distintas formas, desde para arquitecturas de aplicaciones descentralizadas hasta para métodos más resistentes de almacenamiento de archivos.

Cadena de bloques y aplicaciones descentralizadas (DApps)

La cadena de bloques es un método para registrar transacciones en bloques cronológicos de datos en una red distribuida. Los datos escritos en la cadena de bloques no pueden modificarse.

Una de las aplicaciones más conocidas de la cadena de bloques es la criptomoneda, que es el componente esencial de los servicios financieros descentralizados (DeFi) que se utilizan hoy en día. Pero los desarrolladores también pueden escribir aplicaciones descentralizadas (DApps) que utilicen una cadena de bloques para ejecutarse (incluidos los tokens no fungibles o NFT).

Los contratos inteligentes son la lógica de las DApps. Un contrato inteligente es un código diseñado para llevar a cabo funciones específicas, y como cualquier otra función programable, los contratos inteligentes se ejecutan al ser llamados. Los contratos inteligentes se crean y almacenan en redes de cadenas de bloques.

Desde el punto de vista del desarrollo, las DApps ofrecen a las empresas la ventaja de la eliminación y la gestión de toda la infraestructura de back-end necesaria para respaldar una aplicación. Los contratos inteligentes se almacenan en la cadena de bloques y funcionan de forma autónoma. Una organización que implementa una DApp suele necesitar también la implementación y el mantenimiento de una interfaz de usuario, utilizando un servicio intermediario para hacer consultas de la API a los contratos inteligentes en el back-end.

Las DApps son fiables, ya que se ejecutan en una vasta red punto a punto. Por el contrario, las aplicaciones centralizadas dejan de funcionar en caso de fallo de su infraestructura de soporte.

Las finanzas son uno de los principales casos de uso de las DApps. Los ejemplos incluyen desde las criptomonedas a las carteras y las bolsas descentralizadas. Además, los desarrolladores han creado navegadores web, juegos, redes sociales y otros servicios DApp.

Finanzas descentralizadas (DeFi)

Las finanzas descentralizadas (DeFi) son un conjunto de métodos para obtener servicios financieros sin depender de autoridades centralizadas como los bancos. Los usuarios de DeFi pueden conceder o recibir préstamos, comprar, vender e intercambiar criptomonedas, obtener intereses, y realizar otras tareas asociadas al sector de los servicios financieros, todo ello utilizando plataformas descentralizadas. DeFi se basa en gran medida en contratos inteligentes (compatibles con la cadena de bloques Ethereum). Las bolsas centralizadas admiten DeFi (como Coinbase), pero los protocolos DeFi son intrínsecamente descentralizados.

Almacenamiento de archivos y datos distribuido y descentralizado

El almacenamiento descentralizado de transacciones de la cadena de bloques lo convierte en un componente básico para la Web3. Sin embargo, no es el único tipo de arquitectura con el que están experimentando las empresas. Interplanetary File System (IPFS) es otro protocolo (no cadena de bloques) para la implementación de los principios de la Web3. IPFS almacena los datos en un sistema de archivos distribuido. No es posible cambiar la dirección del contenido proporcionado mediante IPFS: las actualizaciones dan lugar a una dirección de contenido nueva y única. Y la arquitectura distribuida de IPFS lo hace más resistente y fiable que otros métodos de almacenamiento más centralizados.

Las empresas pueden confiar en IPFS para servir contenidos a los usuarios de forma fiable. IPFS también permite a los usuarios publicar fácilmente sus propios contenidos desde sus propios entornos.


Los mayores riesgos de seguridad de la Web3

Los principios subyacentes de la Web3 la hacen más segura que la Web 2.0 en algunos aspectos. Sin embargo, como cualquier tecnología, comporta algunos riesgos de seguridad. Algunas de las vulnerabilidades de seguridad se derivan de cómo interactúan las arquitecturas de la Web3 y de la Web 2.0. Otras son inherentes al funcionamiento de protocolos como la cadena de bloques e IPFS. Y la dependencia de la Web3 del consenso de la red puede hacer que la aplicación de parches a estas vulnerabilidades y a otros fallos sea un proceso lento.

Algunos de los principales riesgos de seguridad son:

Falta de encriptación y verificación de las consultas a la API

La mayoría de las personas saben que no deben dar información personal a solicitantes no verificados. Y, sin embargo, las aplicaciones Web3 a menudo dependen de llamadas de API y de respuestas que no autentican los extremos de la conexión.

En teoría, la Web3 está completamente descentralizada, y cualquier nodo conectado de la red puede interactuar directamente con los datos almacenados. En la práctica, los front-ends de las aplicaciones Web3 seguirán teniendo que basarse en tecnologías Web 2.0 con las que los puntos finales de los usuarios puedan interactuar fácilmente. La mayoría de los front-ends de aplicaciones Web3 utilizan consultas de API al back-end Web3 para la lógica de negocio y el almacenamiento de datos.

Actualmente, muchas consultas de la API Web3 no están firmadas criptográficamente. Esto las hace vulnerables a ataques en ruta, a la interceptación de datos y a otros ataques, del mismo modo que el uso de aplicaciones Web 2.0 HTTP sin encriptar ni firmar deja a los usuarios vulnerables a la filtración de datos y a los ataques en ruta. En otras palabras, a menudo no hay ninguna garantía de que los datos de las aplicaciones Web3 procedan de la fuente correcta, a pesar del concepto de "confianza implícita" descrito anteriormente.

Hacking de contratos inteligentes

Como cualquier código, los contratos inteligentes pueden contener fallos de seguridad importantes que pongan en peligro los datos de los usuarios o, como suele ocurrir a menudo, los fondos. Un estudio de 2019 identificó contratos inteligentes de Ethereum codificados de manera incorrecta que pusieron en riesgo 4 millones de dólares en Ether. El problema no ha mejorado con el tiempo. En diciembre de 2021, los contratos inteligentes con errores permitieron a los atacantes robar aproximadamente 31 millones de dólares en moneda digital. Y, en mayo de 2022, un fallo en un algoritmo hizo que la criptomoneda TerraUSD perdiera unos 50 000 millones de dólares de valor.

Problemas de privacidad en el almacenamiento de datos descentralizado

Cualquier nodo conectado puede almacenar y acceder a los datos de una cadena de bloques. Por el contrario, en el modelo Web 2.0 el acceso a las bases de datos puede estar muy restringido. Esto conlleva múltiples problemas de seguridad y privacidad en función de los datos que se almacenen. Incluso si los datos están anonimizados mientras están en reposo, la investigación muestra sistemáticamente que ningún dato es verdaderamente anónimo.

Robo de cuentas y robo de carteras móviles

Los medios de comunicación están plagados de historias de ataques a carteras de criptomoneda o NFT. La mayoría de las veces estos se producen porque los atacantes consiguen acceder a las claves privadas de los usuarios, o engañan a los usuarios para que se las entreguen mediante phishing. De hecho, si estas claves privadas se almacenan localmente en el dispositivo de un usuario, son vulnerables al robo físico.

Hasta este momento, siendo la criptomoneda el principal uso de las DApps y de la Web3 en general, la mayoría de los ataques han tenido como objetivo la moneda digital. Pero las implicaciones para otras aplicaciones de la tecnología Web3 podrían ser igualmente costosas.

Ataques a protocolos y puentes

No toda la Web3 se basa directamente en la cadena de bloques. Al igual que Internet se compone de capas (7 según el modelo OSI) creadas unas sobre otras, la cadena de bloques tiene protocolos creados sobre ella. Un ejemplo es la dependencia generalizada de los "puentes", que son protocolos que permiten transferencias de una cadena de bloques a otra.

Estos protocolos también pueden ser objeto de ataques. Por ejemplo, en febrero de 2022 unos ladrones explotaron una vulnerabilidad del puente Wormhole para robar aproximadamente 320 millones de dólares en criptomonedas.

Actualizaciones lentas

La Web3 dificulta la publicación de correcciones para los problemas de seguridad una vez identificados. Dado que la Web3 se basa en el consenso descentralizado de la red, cualquier cambio requiere la aprobación de toda la red.

Este es quizás el mayor desafío que presenta la Web3 en materia de seguridad. No es humanamente posible crear aplicaciones completamente seguras, y la imposibilidad de corregir rápidamente los fallos de seguridad aumenta el impacto que estos pueden tener, ya que, incluso una vez descubiertos, continuarán activos cierto tiempo.

Riesgos típicos de la Web 2.0

A pesar del back-end de la Web3, los front-ends de la Web3 seguirán teniendo muchas de las mismas vulnerabilidades que los front-ends de la Web 2.0. Estas incluyen desde el robo de credenciales de usuario al scripting entre sitios. La inyección de código, los bots, los ataques basados en API y otros vectores de amenaza pueden poner en peligro las aplicaciones y a los usuarios.


Prácticas recomendadas para proteger las aplicaciones y la infraestructura de la Web3

Encriptación y firma de consultas de API

El uso generalizado de Transport Layer Security (TLS) para las solicitudes y las respuestas HTTP mejoró enormemente la seguridad de la Web 2.0. Del mismo modo, la imposición de la encriptación y la firma digital de las consultas y respuestas de la API para las DApps de la Web3 será crucial para proteger los datos de las aplicaciones.

WAF y otras medidas de seguridad de la Web 2.0

A estas alturas, las empresas tienen décadas de experiencia en contrarrestar las vulnerabilidades de seguridad de la Web 2.0. Esto no minimiza la gravedad de esas vulnerabilidades, pero significa que hace tiempo que existen métodos para proteger las cuentas de los usuarios, impedir la inyección de código y evitar el scripting entre sitios, entre otros ataques. Medidas como los firewalls de aplicaciones web (WAF), la gestión de bots y la seguridad de las API bloquean un amplio abanico de vectores de ataque para los front-ends de las aplicaciones.

Eficaz auditoría del código antes de la implementación

Esto también era importante en la Web 2.0, pero muchas organizaciones (o prácticamente la mayoría) omiten este paso o lo aplican aceleradamente para completar el lanzamiento y la iteración lo antes posible. Al fin y al cabo, cualquier fallo de seguridad en los nuevos productos o funciones lanzados podría corregirse en la siguiente versión.

Sin embargo, en la Web3 esto no es tan sencillo. Las actualizaciones y adiciones a las aplicaciones descentralizadas llevan mucho más tiempo que en la Web 1.0 y en la Web 2.0, ya que requieren el consenso de toda la red descentralizada. El momento adecuado para identificar las vulnerabilidades de seguridad es antes, no después. En un escenario así, la auditoría del código es doblemente importante.


Web3: cómo avanzar con seguridad

Las empresas que exploran y empiezan a interactuar con la Web3 deben seguir teniendo muy presente la seguridad. Las vulnerabilidades de seguridad pueden paralizar una empresa o causar daños a su reputación. Y, como las aplicaciones de la Web3 se basan en interfaces de estilo Web 2.0, las empresas tendrán que protegerse simultáneamente contra los riesgos de seguridad de la Web 2.0 y de la Web3.

Cloudflare ayuda a combatir los fallos de seguridad de las organizaciones en cualquier situación, desde la protección de la red local, pasando por las organizaciones que migran a la nube, hasta las organizaciones a la vanguardia de nuevos modelos como la Web3. En el caso de la Web3, Cloudflare puede ayudar a proteger tanto el front-end como el back-end, a la vez que proporciona puertas de enlace que facilitan la comunicación con la Web3.

Cloudflare gestiona y protege la conexión a la infraestructura de la Web3 para que las empresas puedan centrarse en lo que importa: crear productos de vanguardia y los servicios necesarios para sus usuarios.

Este artículo forma parte de un conjunto de publicaciones sobre las últimas tendencias y temas que afectan a los responsables de la toma de decisiones sobre tecnología en la actualidad.



CONCLUSIONES CLAVE

Después de leer este artículo podrás entender:

  • En qué se diferencia la Web3 de la tecnología web anterior

  • Cómo las empresas aplican la Web3 a sus productos y operaciones

  • Los riesgos de seguridad más comunes de la Web3

  • Cómo mitigar estos riesgos de seguridad


Recursos relacionados


Más información sobre este tema

Para prepararte para la Web3, descubre cómo funciona la tecnología subyacente en el documento técnico sobre Ethereum Gateway.

¿Quieres recibir un resumen mensual de la información más solicitada de Internet?