Vulnerabilidades de los contratos inteligentes
Es necesario mejorar la seguridad de los contratos antes de lograr su adopción generalizada
Artículo de Kornekt | Edición de Hiro Kennelly | Portada de Tonytad
Las finanzas descentralizadas están revolucionando la industria financiera gracias a las transacciones sin confianza. Esto se basa en la capacidad de los contratos inteligentes para impulsar la ejecución automatizada de acuerdos, eliminando intermediarios de terceros. Por lo tanto, la adopción global de DeFi (y, en última instancia, web3) se basa en la capacidad de los contratos inteligentes para cumplir con las expectativas de permitir transacciones seguras y sin confianza. Sin embargo, a juzgar por su historial actual, queda mucho más trabajo por hacer para que los contratos inteligentes sean lo suficientemente confiables como para impulsar el futuro descentralizado.
Como ocurre con cualquier innovación tecnológica, los contratos inteligentes no han sido inmunes a las vulnerabilidades. Las miradas indiscretas y las manos de los hackers no han tardado en atacar mientras el hierro de la vulnerabilidad estaba caliente, aprovechando las deficiencias de esta tecnología emergente. Hasta mayo de 2023, se habían producido 148 ataques DeFi, con un total de $4,280 millones de dólares perdidos por los piratas informáticos. Esto supone aproximadamente una décima parte de todo el valor total bloqueado (TVL) de DeFi. Muchos de estos exploits se han debido a vulnerabilidades en contratos inteligentes.
Lamentablemente, la lista de exploits de contratos inteligentes no deja de aumentar, por lo que es importante que conozcamos las vulnerabilidades comunes que aprovechan los hackers y las medidas populares que se utilizan para contrarrestar estas amenazas, así como lo que se está desarrollando para combatir estos problemas.
Hoy, la comunicación con el ecosistema offchain es cada día más complicado y difícil, centralizada y con una dirección mutable. Push es el sistema de conexión del mundo web3 con tu día a día. Crea tus canales, personaliza tus notificaciones y encripta tus conversaciones en audio y video con Push Chat.
Profundizar en las vulnerabilidades
Las vulnerabilidades de los contratos inteligentes suelen presentarse de dos formas: problemas con el propio código del contrato inteligente y problemas externos derivados de las conexiones asociadas con otros contratos o fuentes externas de información.
Vulnerabilidades del código
Los contratos inteligentes funcionan según el principio de "el código es ley", lo que significa que una vez desplegado, el contrato es en gran medida inmutable. En consecuencia, cualquier vulnerabilidad presente en el código puede tener consecuencias de gran alcance. En uno de los mayores exploits de este año, Euler Finance se vio comprometida por unos $200 millones de dólares cuando los atacantes pudieron engañar al protocolo debido a un error en su código. Otro exploit fue el ataque de reentrada al protocolo Sentiment en abril. El protocolo Safemoon corrió una suerte similar en marzo, cuando los hackers utilizaron su función de quema de tokens para llevarse unos $9 millones de dólares.
Los actores maliciosos utilizan las vulnerabilidades del código para manipular el comportamiento previsto del contrato, comprometer los fondos del contrato o interrumpir su ejecución. Aunque muchos de los fondos robados se devolvieron en parte o en su totalidad, los continuos ataques son prueba de que aún queda trabajo por hacer para mantener la integridad de la tecnología de los contratos inteligentes. La inmutabilidad de los contratos inteligentes puede convertirse en un arma de doble filo a la hora de solucionar vulnerabilidades. Si se descubre una vulnerabilidad, rectificar se convierte en todo un reto, ya que el código no puede alterarse directamente. Equilibrar la necesidad de inmutabilidad con la necesidad de actualizaciones de seguridad sigue siendo un reto importante.
HASTA MAYO DE 2023, SE HAN PRODUCIDO 148 EXPLOITS DE DEFI, POR UN TOTAL DE $4.280 MILLONES DE DÓLARES PERDIDOS POR LOS HACKERS. ESO ES APROXIMADAMENTE UNA DÉCIMA PARTE DE TODO EL DEFI TVL.
Riesgos de dependencia externa
Los contratos inteligentes suelen interactuar con sistemas externos u otros contratos para obtener datos o ejecutar funciones específicas. Estas dependencias externas introducen riesgos, ya que pueden verse comprometidas o manipuladas, dando lugar a resultados inesperados. Por ejemplo, un oráculo que proporcione datos incorrectos a un contrato inteligente puede dar lugar a una funcionalidad incorrecta. Depender de contratos externos sin las medidas de seguridad adecuadas puede exponer a los contratos inteligentes a vulnerabilidades en esos contratos, socavando así su seguridad general.
Según Chainalysis, en el año 2022 se produjeron 41 ataques de manipulación de Oracle contra protocolos DeFi, que provocaron pérdidas de $403.2 millones de dólares.
Los actores maliciosos suelen llevar a cabo ataques de manipulación de oracle utilizando grandes cantidades de criptomonedas para aumentar rápidamente el volumen de negociación de tokens de baja liquidez en el protocolo DeFi objetivo, lo que puede conducir a aumentos de precios rápidos y significativos que no reflejan el mercado en general. Esos fondos iniciales a menudo se obtienen a través de un préstamo flash si el atacante no tiene los fondos a mano. Una vez que el precio de un activo ha subido, el atacante puede intercambiar sus tenencias infladas artificialmente por otros tokens con mayor liquidez y un valor más consistente, o utilizarlos como garantía (sin valor) para pedir prestados activos, que nunca serán devueltos. - Chainalysis.
¿Qué se está haciendo al respecto?
Aunque los exploits de contratos inteligentes han ido en aumento, también se han incrementado las medidas tanto de uso como de desarrollo para reducir las posibilidades de hackeos. He aquí algunas de ellas:
Auditoría y pruebas
Los procesos exhaustivos de auditoría y pruebas pueden identificar y mitigar las vulnerabilidades de los contratos inteligentes. Esto implica utilizar técnicas de verificación formal, como la demostración de teoremas, la comprobación de modelos y suites de pruebas exhaustivas para detectar vulnerabilidades del código y reducir la probabilidad de explotación. Estas auditorías de seguridad suelen ser llevadas a cabo por empresas independientes especializadas que proporcionan a los desarrolladores información valiosa sobre las posibles deficiencias y recomiendan las mejoras necesarias. Algunos ejemplos de estas empresas son PeckShield, Consensys Diligence y CertiK.
Pruebas de penetración
La realización de pruebas de penetración es otra medida utilizada para evaluar la resistencia de los contratos inteligentes frente a posibles ataques. En este caso, los hackers éticos intentan explotar las vulnerabilidades del código en un entorno controlado. Lo hacen simulando escenarios del mundo real, lo que permite identificar los puntos débiles y abordarlos antes de su despliegue. Las pruebas de penetración periódicas garantizan que los contratos inteligentes sigan siendo seguros incluso frente a la evolución de las amenazas.
Recompensas por fallos
Ofrecer recompensas por fallos incentiva a los hackers éticos a buscar activamente vulnerabilidades en los códigos de otros protocolos e informar de ellas, facilitando así actualizaciones de los contratos que ahorran protocolos. En febrero de 2022, un "hacker de sombrero blanco" se embolsó $2 millones de dólares al detectar un fallo crítico en el contrato inteligente de Optimism. Las recompensas por errores han sido una medida eficaz para detectar fallos de codificación antes de que los delincuentes los encuentren y los exploten.
Mejores prácticas y normas
¿Qué mejor manera hay de mitigar los exploits de contratos inteligentes que mantener el clamor para que los desarrolladores se adhieran a las mejores prácticas y estándares de codificación establecidos? Estas directrices suelen incluir patrones de codificación y técnicas de validación de entradas que tienen en cuenta la seguridad, y proporcionan medidas para la gestión adecuada de las dependencias externas. La adhesión a estas normas mejora la solidez y la seguridad de los contratos inteligentes. Los desarrolladores también deben mantenerse al día de las últimas prácticas de seguridad e incorporarlas a sus procesos de desarrollo.
Seguros para contratos inteligentes
A medida que aumente la adopción de contratos inteligentes, los productos de seguros especializados diseñados para cubrir posibles pérdidas derivadas de vulnerabilidades o exploits desempeñarán un papel vital en el impulso de la confianza en la tecnología. Aunque el concepto de seguro de contratos inteligentes aún está en pañales, es una excelente manera de proporcionar protección financiera contra los riesgos asociados a las vulnerabilidades del código, fomentando así la innovación al tiempo que se mitigan las posibles pérdidas. Una de estas empresas es Chainproof, que afirma ser el primer proveedor de seguros de contratos inteligentes regulado del mundo. Las aseguradoras pueden trabajar en estrecha colaboración con los desarrolladores para evaluar y mitigar los riesgos, promoviendo así prácticas de desarrollo responsables y la rendición de cuentas.
Un futuro más brillante
Mitigar las pérdidas asociadas a las vulnerabilidades de los contratos inteligentes y su explotación requiere un enfoque polifacético que implique la colaboración entre desarrolladores, auditores, investigadores y la comunidad web3 en general. Tenemos que seguir investigando e innovando en el campo de la seguridad de los contratos inteligentes para hacer frente a las amenazas emergentes y mejorar la resistencia de esta tecnología transformadora.
Los marcos reguladores también pueden desempeñar un papel a la hora de fomentar la implantación responsable e incentivar el cumplimiento de las mejores prácticas. Es necesario que los contratos inteligentes sean más seguros y fiables antes de que se generalice su adopción.
Biografía del autor
Kornekt es un escritor y editor con una fuerte convicción en el mundo que crea Web3.
Biografía del editor
Hiro Kennelly es redactor, editor y coordinador en BanklessDAO, asociado en Bankless Consulting y siempre DAOpunk.
Biografía del diseñador
Tonytad es un diseñador gráfico que ha trabajado a nivel local e internacional con organizaciones y empresas en más de 200 proyectos, entre los que se incluyen marcas, logotipos, folletos, tarjetas y portadas.
BanklessDAO es un motor educativo y mediático dedicado a ayudar a las personas a alcanzar la independencia financiera.
Este post no contiene asesoramiento financiero, sólo información educativa. Al leer este artículo, usted acepta y afirma lo anterior, así como que no se le está solicitando que tome una decisión financiera, y que de ninguna manera está recibiendo ninguna proyección fiduciaria, promesa o inferencia tácita de su capacidad para lograr ganancias financieras.
Bankless Publishing siempre acepta artículos para su publicación. Nos encantaría leer su trabajo, así que envíenos su artículo aquí.
Más como esto
Tecnología de libro mayor distribuido 101 por The Crypto Barista
14 Fundamentos de Blockchain por Hiro Kennelly
Cómo aprender Solidity por 0xzh
El día ha llegado
Recarga tu vitamina T (Tortas, tamales y tacos), en ETH México, la espera ya terminó, nos vemos el 21 de Octubre del 2023 en este gran evento que reunirá a los constructores, creadores e impulsores de la comunidad de Ethereum. Si quieres saber más, vista el twitter de ETH Mexico para no perderte de nada aquí.
Pasos de acción Nación Bankless 🏴 🐼
🪁 Apoyanos: Ya somos proyecto verificado en Giveth, seguimos buscando formas de seguir creciendo para generar contenido en español.
📖 Leer: Crypto Basics Series: Las DAO desbloquean cómo estamos hechos para funcionar
🦄 Únete: a nuestro telegram para tener buenas charlas, saber de noticias, estar enterado de todo lo que estamos construyendo para la comunidad hispana.
🪪 Conoce: ¿Quieres saber más de Bankless Wallet? Completa este formulario
🔒 tlbank: Si tienes BANK y quieres bloquearlo, lo puedes hacer aquí
🙏 Espacio Libre para Patrocinadores
¡Hola! 🐼 ¿Te interesa aparecer en nuestros newsletters o patrocinar el podcast de Bankless en Español? 🚀 Actualmente con más de 2 mil visitas al mes y 200 suscriptores, no te pierdas esta oportunidad.
Si te interesa: Envíanos un mensaje en el Twitter de Nación Bankless 🏴
¿Quieres conocer todo lo que pasa en el ecosistema cripto y web3 día a día? Pues bien, puedes suscribirte a Bankless para estar al tanto de todo lo que pasa y invita a tus amigos para que no se lo pierdan 🚀