A pesar de la robustez inherente de las blockchains públicas, que utilizan mecanismos de consenso descentralizados y criptografía avanzada, todavía existen diversas vulnerabilidades y amenazas.
Seguridad y blockchain
La seguridad en blockchain es fundamental debido a la naturaleza descentralizada y transparente de esta tecnología. Tanto los usuarios como los desarrolladores deben estar conscientes y utilizar herramientas específicas para proteger sus activos y aplicaciones.
A diferencia de los sistemas tradicionales, donde una autoridad central puede revertir transacciones o mitigar ataques, en blockchain cada operación es irreversible una vez validada. Esto implica que cualquier vulnerabilidad explotada puede tener consecuencias graves y permanentes. Las herramientas de seguridad aquí son esenciales para:
- Prevenir vulnerabilidades: identificar y corregir posibles debilidades antes de que sean explotadas.
- Proteger fondos: asegurar que los activos digitales estén protegidos contra accesos no autorizados y ataques.
- Garantizar confidencialidad: mantener la privacidad de las transacciones y los datos sensibles.
- Cumplir con regulaciones: asegurar que las aplicaciones y contratos inteligentes cumplan con las normativas legales y de seguridad.
- Mantener confianza: generar confianza en los usuarios e inversores mediante la demostración de prácticas de seguridad robustas.
En este tutorial, presentaremos algunas de las herramientas de seguridad más importantes que se pueden emplear en blockchain. Pero antes vamos a recordar cuáles son las amenazas, vulnerabilidades y ataques más comunes en la cadena de bloques.
Vulnerabilidades, ataques y amenazas comunes en blockchain
La tecnología blockchain, aunque segura por diseño, no es inmune a vulnerabilidades y ataques. A continuación, se describen algunas de las más comunes que enfrentan las redes y aplicaciones basadas en este tipo de tecnología.
Vulnerabilidades comunes
- Errores en contratos inteligentes
Los contratos inteligentes son programas autoejecutables en blockchain. Un error en su código puede llevar a fallos críticos o ser explotado por atacantes.
El ataque a The DAO en 2016, donde un error en el contrato inteligente permitió el robo de millones de dólares en Ether, es uno de los ejemplos más destacados.
- Reutilización de direcciones
Usar la misma dirección para múltiples transacciones puede comprometer la privacidad y facilitar ataques de correlación. Esta práctica facilita a los atacantes rastrear y vincular transacciones, revelando patrones de comportamiento.
- Dependencia de terceros
Las aplicaciones descentralizadas (DApps) que dependen de datos externos o servicios pueden ser vulnerables si esos terceros son comprometidos. Los oráculos que proporcionan datos externos a la blockchain pueden ser manipulados para introducir datos falsos.
Ataques comunes
- Ataques del 51%
Si un grupo o persona controla más del 50% de la potencia de computación de una red, puede reescribir el historial de transacciones y realizar, entre otras cosas, un doble gasto de criptoactivos. En 2019, la red Ethereum Classic sufrió un ataque del 51%, resultando en dobles gastos significativos.
- Ataques de phishing
Los atacantes engañan a los usuarios para que revelen sus claves privadas o semillas de recuperación a través de sitios web o mensajes falsos. Una vez que los agentes malintencionados obtienen las claves privadas, pueden robar todos los activos del usuario.
- Ataques de Sybil
Consiste en la creación de múltiples identidades falsas para ganar una influencia desproporcionada en la red. Esto puede afectar el consenso, la votación y otros mecanismos dependientes de la identidad.
- Ataques de reentrada
Ocurre cuando un contrato inteligente llama a otro contrato que a su vez llama de nuevo al contrato original antes de que la primera llamada se complete. El ataque a The DAO utilizó una vulnerabilidad de reentrada para drenar fondos del contrato.
- Ataques de dusting
Los atacantes envían pequeñas cantidades de criptomonedas a muchas direcciones para rastrear la actividad y desanonimizar a los usuarios; esto les permite conectar direcciones y posiblemente identificar a los usuarios detrás de ellas.
Amenazas comunes
- Ransomware
Es un malware (software malicioso) que cifra los datos de la víctima y demanda un pago en criptomonedas para liberar los archivos. Este tipo de amenazas no es exclusivo de la tecnología blockchain. El ransomware WannaCry exigió pagos en bitcoin para descifrar los datos de los usuarios afectados.
- Robo de claves privadas
Los atacantes roban claves privadas a través de malware, ataques de phishing o accesos físicos a dispositivos. Esto les permite controlar y transferir todos los activos asociados a esas claves.
- Vulnerabilidades de cartera
Las carteras de software y hardware pueden tener fallos de seguridad que, si se explotan, permiten a los atacantes acceder a los fondos. Uno de los ejemplos más conocidos es la vulnerabilidad en Ledger, donde se filtraron datos de clientes que compraron hardware wallets.
Tipos de herramientas
La seguridad en el ecosistema blockchain es fundamental para proteger tanto a los usuarios como a los desarrolladores de posibles amenazas, ataques y vulnerabilidades. En esta sección, exploraremos diversas prácticas y herramientas diseñadas para mejorar la seguridad en web3, tanto de las transacciones, gestión y custodia de criptoactivos y contratos inteligentes.
Para los usuarios en general, se destacarán herramientas y prácticas que garantizan la gestión segura de criptoactivos y claves privadas, previniendo ataques y accesos no autorizados. Para los desarrolladores, se presentarán soluciones que facilitan la creación y mantenimiento de contratos inteligentes seguros, desde la detección de vulnerabilidades hasta la integración de datos externos de manera segura. Estas herramientas y prácticas no solo mitigan riesgos, sino que también fomentan la confianza y adopción de la tecnología blockchain al garantizar la integridad y confidencialidad de las operaciones en la cadena de bloques.
Para usuarios en general
Todos los usuarios, tanto desarrolladores como no, deben tomar una serie de precauciones y consideraciones de seguridad en Web3. Entre las más importantes destacamos las siguientes:
- Carteras seguras
La seguridad en el manejo de activos digitales es fundamental en el entorno blockchain. Las carteras digitales o wallets son el medio principal para almacenar, gestionar y transaccionar con criptoactivos, tanto para usuarios en general como para desarrolladores, que necesitan estos activos para el desarrollo de sus contratos inteligentes. Entre los diversos tipos de carteras disponibles, las carteras multisig (multifirma), como Smart Wallet, destacan por su enfoque avanzado en la seguridad. Son una opción altamente recomendada, incluso por el propio Vitalik Buterin, que ha compartido con todos en varias ocasiones su preferencia por este tipo de carteras.
Una cartera multisig requiere múltiples firmas para autorizar una transacción. A diferencia de una cartera tradicional que necesita solo una firma privada, una multisig puede estar configurada para requerir varias claves privadas, generalmente propiedad de diferentes individuos o dispositivos, para aprobar cualquier movimiento de fondos.
Beneficios de las carteras multisig
- Seguridad mejorada: al requerir múltiples firmas, una sola clave comprometida no es suficiente para realizar transacciones no autorizadas, reduciendo significativamente el riesgo de robo.
- Protección contra el error humano: las configuraciones multisig pueden prevenir errores humanos, como la pérdida de una clave privada. Por ejemplo, en una configuración 2-de-3, perder una clave aún permite acceder a los fondos con las dos restantes.
- Distribución de confianza: ideal para organizaciones, ya que distribuye la responsabilidad y el control entre varios miembros, asegurando que ninguna persona pueda actuar unilateralmente.
- Reducción del riesgo de pérdida de fondos: en el caso de fallecimiento o incapacidad de uno de los propietarios de las claves, las otras partes aún pueden acceder a los fondos, garantizando la continuidad.
- Autenticación de dos factores
Utilizar la doble autenticación (2FA) añade una capa adicional de seguridad al requerir un segundo método de verificación, generalmente a través de un dispositivo móvil, para iniciar sesión o realizar transacciones.
- Exploradores de blockchain
Herramientas como Etherscan (para Ethereum) y Blockchair (para Bitcoin) permiten a los usuarios verificar transacciones y explorar la cadena de bloques de manera transparente, asegurando la integridad de las operaciones y verificando que se han realizado.
- Educación y concientización
Entender los riesgos potenciales y practicar buenas prácticas de seguridad digital, como no compartir claves privadas, verificar URLs antes de ingresar información sensible y mantener el software actualizado.
Para desarrolladores
Todo desarrollador debe pensar en la seguridad de la aplicación que está desarrollando. Es necesario tomar en consideración diferentes puntos para que una vez finalizada la aplicación el usuario final pueda utilizarla con todas las garantías de seguridad posibles. Por todo ello, además de las herramientas y consideraciones de un usuario en general descritas antes debe tener en cuenta otras, entre las que destacamos:
- Auditorías de contratos inteligentes
Utilizar servicios de auditoría como OpenZeppelin o CertiK para verificar la seguridad y robustez de los contratos inteligentes antes de su implementación en la blockchain.
- Herramientas de monitoreo y gestión
Plataformas como Sentry y Datadog permiten a los desarrolladores monitorear el estado y el rendimiento de sus aplicaciones descentralizadas (DApps) en tiempo real, identificando posibles vulnerabilidades o problemas de rendimiento.
- Frameworks de desarrollo seguro
Utilizar frameworks como Truffle para Ethereum, que proporciona pruebas automatizadas y herramientas de seguridad integradas para el desarrollo seguro de DApps.
- Prácticas de codificación segura
Seguir buenas prácticas de codificación segura, como la validación de datos de entrada, el manejo adecuado de excepciones y la gestión adecuada de claves criptográficas dentro de los contratos inteligentes.
- Contratos estándar y bibliotecas verificadas
Utilizar contratos estándar y bibliotecas verificadas que han sido revisadas y aprobadas por la comunidad para reducir el riesgo de vulnerabilidades conocidas.
Para aprender más en este ámbito te recomendamos este tutorial de Coinbase (en inglés).
Herramientas recomendadas
A continuación, te presentamos algunas herramientas de seguridad ampliamente recomendadas para usuarios y desarrolladores en el ámbito blockchain.
Safe Wallet
Se trata de una cartera que permite la gestión avanzada de activos digitales que utiliza tecnología multisig (multifirma). Esta cartera requiere múltiples firmas para autorizar transacciones, lo que mejora significativamente la seguridad. Puedes configurar el número de firmantes y las firmas necesarias para validar una transacción.
La interfaz de usuario de Safe Wallet es intuitiva, lo que facilita la gestión de activos desde computadoras y dispositivos móviles. Proporciona seguridad avanzada mediante contratos inteligentes y ofrece funcionalidades de recuperación de fondos y prevención de pérdida de acceso.
Safe Wallet permite gestionar múltiples tipos de activos, incluyendo criptomonedas y tokens ERC-20, y proporciona herramientas para monitorear y administrar tu cartera de manera eficiente. Puedes definir roles y permisos para los firmantes, lo que permite un control detallado sobre quién puede realizar qué acciones dentro de la cartera. Además, ofrece un historial detallado de todas las transacciones realizadas, facilitando la auditoría y el seguimiento de movimientos de fondos.
La cartera es compatible con wallets como Metamask y WalletConnect, y se integra con servicios de terceros para análisis, gestión de portafolios y seguridad adicional.
Safe Wallet es compatible con varias blockchains, incluyendo Ethereum, Arbitrum, Binance Smart Chain (BSC), Polygon (Matic), Base y Optimism, entre otras. Esta compatibilidad la convierte en una opción versátil y poderosa para cualquier usuario que busque mejorar la seguridad y eficiencia de sus operaciones en el mundo de las criptomonedas.
Etherscan
Es un explorador de blockchain específico para la red de Ethereum, que permite a los usuarios visualizar y analizar datos en tiempo real sobre transacciones, contratos inteligentes, bloques y más. Es una herramienta esencial para desarrolladores, inversores y cualquier persona interesada en la transparencia y el análisis de actividades en la blockchain de Ethereum. Etherscan es un ejemplo de este tipo de herramientas, pero existen otras para diferentes cadenas de bloques, como solscan, para Solana, o cardanoscan, para Cardano.
Etherscan es una herramienta potente que ofrece acceso a información detallada sobre las transacciones en la blockchain de Ethereum, lo cual garantiza una transparencia completa. Permite la interacción directa con contratos inteligentes y el seguimiento de activos, además de ofrecer notificaciones y alertas sobre las actividades de la cuenta. Sin embargo, presenta una interfaz técnica que puede no ser trivial para todos los usuarios y debido a que todos los datos son públicos, puede haber preocupaciones de privacidad. Además, sus capacidades en tiempo real son limitadas, lo que puede afectar la inmediatez de la información.
Pocket Universe
Es una extensión de navegador que protege a los usuarios de las estafas en el mundo Web3. Al agregar una capa de seguridad adicional al firmar transacciones Web3, Pocket Universe ayuda a los usuarios a tomar decisiones informadas y proteger sus activos digitales.
Pocket Universe funciona mediante la evaluación de cada transacción Web3 antes de que se firme. Si detecta una transacción potencialmente maliciosa, mostrará una advertencia clara al usuario. Esto le da al usuario la oportunidad de revisar la transacción cuidadosamente y decidir si desea proceder o no.
Además de su función de detección de estafas, Pocket Universe también ofrece un seguro de hasta 20.000$ por transacción. Esto significa que si un usuario pierde sus activos debido a una transacción fraudulenta, Pocket Universe lo compensará.
Webacy
Webacy es una suite de seguridad y protección para Web3 que ofrece productos tanto para consumidores como para empresas.
Productos para consumidores:
- Evaluación de riesgos: ayuda a los consumidores a evaluar su riesgo de seguridad en Web3 mediante la identificación de posibles vulnerabilidades en sus carteras y actividades.
- Monitoreo de activos: permite a los consumidores monitorear sus activos digitales en tiempo real y recibir alertas sobre cualquier actividad sospechosa.
- Acción en caso de emergencia: en caso de un ataque o robo, Webacy proporciona a los consumidores las herramientas y el apoyo necesarios para recuperar sus activos y proteger su identidad.
- Y más: Webacy además ofrece otros servicios como Backup wallet (que permite configurar otra cartera de respaldo), Panic button (que permite poner a salvo todos tus fondos en un solo clic), Crypto will (un testamento digital para destinar tus fondos cuando ya no estés).
Productos para empresas:
- Mitigación de riesgos: ayuda a las empresas a mitigar el riesgo de fraude y ataques cibernéticos mediante la implementación de controles de seguridad y la realización de evaluaciones de riesgos periódicas.
- Verificación de usuarios: permite a las empresas verificar la identidad de sus usuarios y prevenir la creación de cuentas falsas.
- Protección de la marca: ayuda a las empresas a proteger su marca mediante la identificación y eliminación de contenido falso o dañino en línea.
Productos API:
Los productos de Webacy están disponibles a través de una suite de API que pueden integrarse en carteras, dapps, exchanges y otras plataformas. Esto permite a los desarrolladores crear aplicaciones y servicios que aprovechan las capacidades de seguridad y protección de Webacy.
Revoke Cash
Revoke Cash es una herramienta que te ayuda a proteger tus fondos de criptoactivos. Te permite revocar las autorizaciones que has otorgado a sitios web y aplicaciones para acceder a tu cartera. Esto puede ayudarte a prevenir el robo de tus activos digitales.
Cuando otorgas una autorización a un sitio web o aplicación, le estás dando permiso para acceder a tu cartera y realizar transacciones. Esto puede ser peligroso porque el sitio web o la aplicación podría ser pirateado o utilizado para robar tus criptoactivos.
Revoke Cash escanea tu cartera en busca de autorizaciones y te muestra una lista de todas las autorizaciones que has otorgado. Puedes revocar cualquier autorización haciendo clic en un botón.
Puedes usar Revoke Cash directamente en tu página web o instalando la extensión en tu navegador.
MythX
Es una plataforma de seguridad para contratos inteligentes que ofrece análisis estáticos y dinámicos para detectar vulnerabilidades
MythX se destaca por su capacidad para detectar una amplia gama de vulnerabilidades en contratos inteligentes, integrándose a la perfección con herramientas de desarrollo populares como Truffle y Remix. Además, ofrece informes detallados y recomendaciones de corrección para facilitar la comprensión y solución de problemas de seguridad.
Sin embargo, MythX es un servicio de pago, lo que implica un costo para los desarrolladores. Adicionalmente, los informes generados pueden ser complejos y requerir cierta curva de aprendizaje para su interpretación.
OpenZeppelin Defender
Se trata de un conjunto de herramientas de seguridad para la gestión y protección de contratos inteligentes en producción.
OpenZeppelin se caracteriza por su capacidad de monitoreo continuo de contratos inteligentes, automatizando tareas de seguridad y brindando una integración fluida con OpenZeppelin Contracts. Esta combinación facilita la gestión y protección de contratos inteligentes.
Sin embargo, para aprovechar al máximo sus beneficios, es necesario estar familiarizado con el ecosistema OpenZeppelin. Además, algunas de sus características avanzadas implican costos adicionales.
La seguridad en blockchain es un aspecto crucial tanto para los usuarios finales como para los desarrolladores. Al implementar estas herramientas y seguir las mejores prácticas de seguridad, se puede mitigar significativamente el riesgo de incidentes de seguridad y garantizar una experiencia segura y confiable en el ecosistema.
¡Explora estas herramientas y protege tus activos y aplicaciones hoy mismo!