La versión original de este artículo está en inglés. Si deseas leerlo puedes darle clic aquí. La comunidad de Ethereum Honduras espera que este artículo te sea interesante y sobre todo útil. Por favor, compártelo y contribuyamos en la educación de seguridad digital en Web 3.
Cada día la Web3 cautiva la atención de más y más usuarios, ¿cómo no iba a hacerlo? Esa promesa de quitarle el poder a los opresores que deciden unilateralmente lo que se debe y no se debe permitir, recuperar nuestros datos de las empresas que sólo nos ven como un producto y objetivo para más anuncios.
La web3 también permite novedosas formas de coordinación humana, de financiación de bienes públicos y de potenciar lo que antes se descuidaba, pero como dice el tío Ben:
"Un gran poder conlleva una gran responsabilidad"
La descentralización significa que no hay un servicio al cliente al que puedas acudir en busca de ayuda, eres mayormente responsable de tus propias acciones y los criminales se aprovecharán de este hecho para robarte los bienes que tanto te ha costado ganar.
Pero no te preocupes, no estás solo, hay cientos de comunidades dispuestas a ayudarte en esta aventura. Y puedes usar este post como base para entender los conceptos básicos sobre blockchain, seguridad, patrones de ataque comunes y algunos consejos para evitar ser víctima de un hacker.
Si solo pudieras tomar algo de este post sería esto: "No confíes. Verifica", Una frase muy conocida por los entusiastas del blockchain, ya que las criptomonedas y la tecnología blockchain vienen a cambiar muchos paradigmas, fue creada en su mayoría por los escépticos de los sistemas tradicionales. Si bien, este concepto puede ser un poco exagerado para los usuarios del día a día, el espacio de la web3 está tan lleno de adversarios (hackers y estafadores) que es necesario empezar a tomar un enfoque de "no confíes, verifica" más serio con el fin de proteger tus fondos.
Antes de pasar a los tipos de ataques más comunes y algunas buenas prácticas sobre cómo protegerse, explicaré algunos conceptos básicos. Siéntete libre de pasar a la siguiente sección si ya te sientes seguro de ellos.
Hot Wallet: Una Hot Wallet es aquella que siempre está conectada a Internet, no importa si es a través de una aplicación de teléfono móvil o una extensión del navegador.
Cold Wallet: Una Cold Wallet nunca está conectada a internet, la generación de la clave se hace offline y sólo recibe fondos. Es perfecto para almacenar activos durante largos periodos de tiempo. Suelen ser billeteras de papel o hardware y requieren conocimientos avanzados para su configuración.
Warm Wallet: Billetera Cálida, traducido al español, es el tipo de billetera más común después de la Hot Wallet, básicamente es una cold wallet que se ha conectado a internet para hacer transacciones, quitándole su condición de fría pero al mismo tiempo la firma se hace offline usando hardware haciéndola más segura, usable y amigable.
Burner Wallet: Son billeteras con claves privadas efímeras, usualmente creadas para hacer una sola transacción o una cantidad de fondos realmente baja, después de ser usada no hay necesidad de seguirle la pista y se pierde, también conocido como quemarla.
Este tipo de billeteras se pueden subdividir en más tipos dependiendo de la tecnología que implementan.
Mobile Wallet: Como su nombre indica, son las billeteras que guardan la clave privada en un teléfono móvil. Son perfectas para llevarlas encima, pero siempre están conectadas a internet por lo que hay que evitar tener muchos fondos en ellas, también se pueden conectar a una página web escaneando un código QR mediante WalletConnect.
Extension Wallets: Son extensiones del navegador como Metamask o dapper, lo mismo que las Mobile Wallet que siempre están conectadas a internet así que evita tener muchos fondos. Otro dato importante es que las extension wallets guardan la clave privada encriptada en el ordenador, por lo que un hacker podría robar los fondos de alguna manera desde un ordenador.
Hardware Wallet: Las Hardware Wallet utilizan un hardware especializado para guardar las claves privadas en dispositivos a prueba de manipulaciones, haciendo la separación de la clave privada de la conexión de la billetera, por ejemplo, puedes conectar tu billetera de hardware a un dispositivo móvil o a una extensión del navegador y crear una firma en estas aplicaciones pero haciendo uso de tu hardware wallet, aumentando aún más la seguridad. El único problema de estos dispositivos es que suelen tener pantallas pequeñas y son susceptibles de sufrir ataques de firma ciega. Las marcas más comunes de hardware wallet son Trezor, Ledger y Lattice.
Paper Wallets: Las billeteras prehistóricas eran utilizadas por los antiguos que utilizaban el papel y la aleatoriedad de una moneda lanzada al aire para crear una billetera totalmente offline.
Smart Contract Wallet: Esta billetera se construye utilizando contratos inteligentes, es decir que es, en realidad, un contrato y no tiene una clave privada, esto le permite añadir funcionalidades como permisos para transacciones por encima de un umbral de personas, añadir guardianes para recuperar cuentas, pagar el gas con otros tokens, entre otras. El problema es que las transacciones son más caras y no están soportadas en algunas dapps.
La smart contract wallet más utilizada es Gnosis Safe, normalmente conocida como billetera multi-sig, permite establecer múltiples firmantes desde cualquiera de los otros tipos de billeteras lo que añade una capa extra de seguridad. Gnosis Safe se utiliza para albergar enormes tesoros de DAOs y protocolos durante años sin problemas.
El flujo habitual de una acción en Ethereum requiere que el usuario genere una transacción y la firma con su clave privada; esta transacción incluye todos los datos necesarios para entender qué acción va a realizar, las tasas de gas, y la firma para demostrar la propiedad. Una vez creada la transacción se envía a la red para que un minero (validador en la prueba de participación) la incluya en un bloque. Las billeteras facilitan este proceso, para mejorar la experiencia del usuario.
La firma puede utilizarse para otras acciones además de enviar transacciones a blockchain, por ejemplo, para demostrar la propiedad de una cuenta para iniciar sesión.
Otra implementación cool de las firmas es para las meta-transacciones, en las que firmas algunos datos relacionados con una transacción (piensa como una parte de una transacción) y otra persona o empresa lo toma y lo incluye en blockchain por ti, cubriendo los costes de gas o cobrando una tarifa en otro token mejorando la usabilidad para el usuario final (Uniswap utiliza esto).
Bien, volvamos al tema principal de este artículo, la seguridad.
Los criminales de Web3 harán todo lo que esté en su poder para obtener información que pueda ser utilizada a su favor para robar tus activos privados, pero la ejecución es siempre la misma:
Para ello, utilizarán una variedad de herramientas a su disposición. Las más comunes son:
Metamask y varias hot wallets guardan la clave privada encriptada en el dispositivo, al abrir un archivo infectado se instalará un virus que enviará este archivo encriptado al hacker, y luego sólo tiene que adivinar la contraseña o robártela agarrando todas tus pulsaciones. Comúnmente los hackers atacan a las personas que usan windows, ya que hay una forma de ocultar los archivos como un tipo mientras que en realidad es otra. Pueden agarrar tu sesión de discord y entrar con tu cuenta para estafar a otros con el mismo método.
Ten cuidado con documentos escondidos .bat, .cmd, .com, .lnk, .pif, .scr, .vb, .vbe, .vbs, .wsh
Normalmente, cuando ves una transacción puedes ver toda la información relativa a la misma, es una buena práctica de los desarrolladores de contratos inteligentes hacer que estos datos sean legibles y verificables para el usuario final.
La firma ciega o Blind signing es cuando no puedes entender lo que estás firmando, esto suele ser a propósito por los hackers, para que no veas que les estás enviando tus activos.
Otro vector de ataque es añadir el código personalizado a las extensiones del navegador que no se percibe, por ejemplo cambiando el portapapeles (lo que se copia con ctrl + c). Por ejemplo, una extensión puede comportarse normalmente pero cuando ve que el portapapeles tiene una dirección, digamos 0x1234...1345, la cambia por la dirección del hacker 0x5412...1231, si tienes prisa, puede que no te des cuenta del cambio hasta que sea demasiado tarde, por eso se recomienda guardar la dirección, hacer una doble comprobación en Etherscan y/o usar ENS.
Normalmente, estos sitios son exactamente como los oficiales con un gran botón que dice "Mint" o "Claim Airdrop". Al pulsar "Claim Airdrop" verás una blind signing que intenta robar tus activos.
Otros tipos de ataques comunes de los que debe tener cuidado:
Algunos hackers son maestros de la manipulación, pero esto no significa que sean buenos con el hacking técnico, algunos ciberdelincuentes favorecen el arte de la manipulación humana. Esto se conoce como social engineering, es decir, explotar los errores y comportamientos humanos.
Es cuando el atacante se pone en contacto contigo mediante cualquier plataforma y se hace pasar por una institución legítima, una persona o incluso un conocido.
Si el hacker te engaña en creer que es legítimo, te enviará archivos falsos como pdfs, excels, hojas de datos, propuestas de inversión, propuestas de diseño, obras de arte, o intentará enviarte a un sitio web falso.
Algunas veces estos hackers roban las cuentas de usuarios legítimos para atacarte a ti, esto incluye amigos, familiares, o celebridades, deberías de siempre asumir que la persona con la que hablar es un estafador (no confíes, verifica).
Los hackers tienen robots que monitorean las redes en busca de personas con necesidades y responden inmediatamente con intentos de phishing actuando como una cuenta oficial. Es bastante común en grupos de Twitter y Discord.
Otro ejemplo de ataque que he visto con asistencia falsa es entrar en una llamada haciendo que el usuario comparta la pantalla y luego sugiriendo que cambie el idioma a otro idioma mientras da instrucciones para engañar al usuario para que revele las palabras secretas y proceda a vaciar la cartera.
En bull markets, el espacio se llena de esquemas de "haz esto ahora o perderás tu oportunidad para siempre", estas malas prácticas son creadas para generar FOMO (miedo a perderse algo), haciendo que los usuarios dejen de pensar y se apresuren a tomar la oportunidad, los hackers se aprovechan de este comportamiento y hacen posts sobre un airdrop especial de tokens o un mint especial de NFT, luego comparten un sitio web falso incitando a los usuarios a enviarles sus NFT más preciados en lugar de obtener un airdrop.
Si alguien te pide que actúes rápido, el 99,5% de las veces es una estafa. Incluso si es cierto, no vale la pena correr el riesgo.
Otra herramienta de la que disponen los hackers para hackearte es el envío de tokens falsos, que cuando intentas vender o transferir es que se ejecuta el daño. Evita a toda costa interactuar con Tokens o NFTs que no sepas de donde provienen.
Para la parte final de este artículo, les compartiré algunos tips y mejores prácticas para evitar ser hackeado, esto no es una lista de comprobación, pero cuantos más elementos practiques, más seguros estarán tus crypto activos.
Buenas prácticas que no está relacionado con criptoactivos:
Hay mucho que cubrir con respecto a la seguridad, pero quiero mantener este post corto. También puedes contribuir pasando la voz y compartiendo este post. No dudes en ponerte en contacto conmigo en Twitter @Crisgarner si consideras que olvido algo (o simplemente para saludar).