La seguridad siempre ha sido uno de los aspectos más importantes de las tecnologías de la información y, hoy en día, muchas organizaciones y sus desarrolladores adoptan un enfoque que prioriza la seguridad al crear aplicaciones. Estos principios y acciones suelen englobarse bajo el término «DevSecOps», que abarca toda la cultura y el enfoque de la seguridad de las aplicaciones. DevSecOps hace referencia al desarrollo, la seguridad y las operaciones. Su objetivo es integrar un enfoque que priorice la seguridad en todos los ámbitos de las tecnologías de la información y la infraestructura.
Una de las áreas más recientes y apasionantes de las tecnologías de la información es la cadena de bloques, que cuenta con un enorme ecosistema de protocolos y aplicaciones descentralizados cuyo objetivo es llevarnos a una versión renovada de la web, lo que muchos denominan Web3.
¿Qué es la Web3 y qué es exactamente una aplicación descentralizada?
El término Web3 engloba diversos conceptos centrados en aspectos de la arquitectura de las aplicaciones y la experiencia de usuario:
- Descentralización
- Apertura
- Inmutabilidad
- Programabilidad
- Transparencia
Estos conceptos fundamentales tienen como objetivo devolver a los usuarios el control de su identidad mediante criptografía de clave pública e impulsar la adopción de la economía entre pares a través de diversos mecanismos y protocolos de cadena de bloques. Muchas cadenas de bloques y los protocolos que las rodean pueden procesar transacciones avanzadas y gestionar el estado mediante contratos inteligentes que se ejecutan en entornos virtualizados aislados.
A continuación, estos se sincronizan en todos los nodos de la red mediante un mecanismo denominado algoritmo de consenso. Este mecanismo permite que los usuarios o nodos se coordinen en un entorno distribuido para garantizar que todos los nodos del sistema puedan ponerse de acuerdo sobre una única fuente de verdad, incluso si algunos agentes fallan. Además, muchas cadenas de bloques funcionan de forma resistente a la censura al mantener sus protocolos abiertos y sin permisos.
¿Cómo es el panorama actual?
Una arquitectura basada en blockchain conlleva un riesgo adicional, ya que la infraestructura principal de la red suele estar sustentada por una criptomoneda digital basada en tokens que, por lo general, tiene valor monetario. Estos tokens se guardan en direcciones, normalmente almacenadas en cuentas de propiedad externa o en contratos inteligentes. Además, dado que la confianza también se distribuye mediante criptografía de clave pública, cada dirección de la red es susceptible de sufrir ataques.
El saldo de cada cuenta se distribuye por toda la red en lo que se conoce como el libro mayor público, que cualquiera puede consultar, lo que brinda a los hackers la oportunidad de atacar a usuarios o contratos específicos. Esto hace que la privacidad y el anonimato sean aspectos especialmente importantes en la cadena de bloques. A menudo, las personas que gestionan estas cuentas son objeto de ataques o pueden aprovechar su posición para actuar de forma ilícita, con amenazas como las siguientes:
- Ingeniería social
- Confianza o claves mal gestionadas
- Malversación y fraude
- Estafas
Además, la presencia tecnológica de estas diversas tecnologías de cadena de bloques, protocolos y aplicaciones descentralizadas ya es considerable y está creciendo rápidamente. Por lo tanto, es importante tener en cuenta las implicaciones para la seguridad de este ecosistema en rápida expansión. Todo aquello que se construya en torno al concepto fundamental de la descentralización presenta una superficie más amplia y, por consiguiente, más puntos de ataque que deben analizarse y protegerse cuidadosamente.
Estos son algunos aspectos que conviene tener en cuenta al auditar la seguridad de sus aplicaciones descentralizadas y su infraestructura tecnológica:
- Cadenas de bloques de capa 1 (Bitcoin y Ethereum)
- Cadenas de bloques de capa 2 (cadenas laterales y rollups)
- Contratos inteligentes
- Compiladores
- Monederos de software
- Monederos físicos
- Clientes de blockchain (mineros y validadores)
- Plataformas de intercambio con custodia (centralizadas)
- Exchanges DeFi (descentralizados)
- Proveedores
- Mercados (NFT)
Vectores de ataque habituales en los contratos inteligentes
Cuando hablamos de DevSecOps en el ciclo de vida de desarrollo de una aplicación, normalmente nos referimos al desarrollo orientado a la seguridad. Esto también se conoce habitualmente como desplazar la seguridad hacia la izquierda. Es uno de los aspectos más importantes de la cultura DevSecOps, ya que parte de la idea de que los desarrolladores deben concebir la seguridad como código. Dado que los contratos inteligentes basados en blockchain pueden almacenar valor y actuar como un banco, el código que contienen es especialmente vulnerable a los ataques y debe escribirse teniendo muy presentes unos criterios de seguridad estrictos.
El sector ha sido testigo de varios ataques dirigidos contra vulnerabilidades de contratos inteligentes, generalmente centrados en explotar el código. Uno de los mayores ataques de la historia tuvo lugar el año pasado, cuando Poly Network, un protocolo entre cadenas, informó de que un atacante había pirateado un contrato inteligente y transferido el equivalente a 610 millones de dólares estadounidenses mediante el envío de diversos activos a direcciones de monederos externos controladas por el atacante.
El desarrollo de contratos inteligentes presenta numerosas vulnerabilidades, pero algunos de los ataques más frecuentes son:
- Desbordamiento por defecto y por exceso – Suele producirse cuando las operaciones aritméticas hacen que los enteros sin signo alcancen el tamaño máximo en bytes, lo que provoca que el valor «dé la vuelta» y puede causar un comportamiento inesperado en la lógica de negocio de la aplicación.
- Reentrada de contratos – La acción de explotar un contrato accediendo a él repetidamente, mediante la cual el atacante suele retirar más fondos de los que debería tener permitido.
- Anticipación de transacciones – Se refiere al proceso mediante el cual alguien utiliza la tecnología o una ventaja en el mercado para obtener información previa sobre próximas transacciones.
- Secretos mal gestionados.
- Control de acceso mal implementado.
¿Qué puedes hacer para competir en igualdad de condiciones?
- Cree una cultura que priorice la seguridad. Los conceptos de DevSecOps son un excelente punto de partida para las organizaciones que buscan crear una cultura centrada en la seguridad.
- Realiza auditorías. Las auditorías aportan una perspectiva nueva sobre la lógica de las aplicaciones y los procesos operativos, ayudan a detectar vulnerabilidades en el código e infunden confianza a los usuarios de tu aplicación. MythX y Slither son herramientas excelentes para auditar contratos inteligentes de Ethereum.
- Ofrece recompensas por errores y realiza pruebas de penetración colaborativas. La seguridad colaborativa es un método de eficacia demostrada para reforzar tu postura de seguridad. Al inscribir tu empresa en programas de recompensas por errores y realizar pruebas de penetración en tus aplicaciones e infraestructura, puedes anticiparte a las vulnerabilidades y los ataques.
- Adopte una estrategia de código abierto. La transparencia de su aplicación es importante en una tecnología como la cadena de bloques, ya que permite a los participantes decidir si desean formar parte de ella basándose en la verificación y las auditorías de su código. Además, disponer de componentes de código abierto favorece una mayor rendición de cuentas de su proyecto ante la comunidad.
- Implemente la firma múltiple para las operaciones administrativas. La implementación de contratos inteligentes que adopten una arquitectura de firma múltiple para funciones administrativas, como la transferencia de la propiedad, los fondos y otras operaciones críticas, proporcionará una capa adicional de seguridad a su aplicación.
Conclusión
La cadena de bloques, las aplicaciones descentralizadas y los diversos protocolos que las rodean están creciendo rápidamente. Estas nuevas y apasionantes formas de desplegar aplicaciones tienen el potencial de transformar numerosos sectores. Sin embargo, es imprescindible que adoptemos una mentalidad que priorice la seguridad e implantemos una cultura DevSecOps siempre que sea posible.
Lecturas adicionales
Un buen primer paso para cualquiera que se adentre en el mundo de la cadena de bloques es consultar el libro blanco del protocolo sobre el que está desarrollando:
A continuación, estudia ataques y vulnerabilidades anteriores, llegando incluso a intentar reproducir el ataque en tu entorno de desarrollo.
Para adquirir experiencia práctica sobre seguridad en Ethereum, recomiendo los siguientes programas de captura la bandera (CTF), en los que se ocultan vulnerabilidades o «banderas» en programas o sitios web deliberadamente vulnerables para enseñar los fundamentos de la seguridad.
Sobre el autor

Artículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.
Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.
Avanzar hacia la optimización digital tras la transformación
Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.
Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.
El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.
Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.