
En esta publicación de blog, analizaré las implicaciones de seguridad de las billeteras criptográficas y ofreceré algunos consejos a los desarrolladores móviles sobre cómo asegurar las billeteras criptográficas y proteger las criptomonedas de sus usuarios.
No se puede negar que el mercado de las criptomonedas está en llamas. Ya sea que lo considere ‘extravagante’ o ‘el futuro del dinero’, una cosa está clara: muchas personas usan billeteras criptográficas y otras formas de billeteras electrónicas para almacenar, comerciar y realizar transacciones con monedas digitales. Esta tendencia se muestra claramente en el gráfico a continuación, que muestra el crecimiento explosivo de los usuarios de billeteras criptográficas en todo el mundo.

No importa cómo lo divida, donde haya dinero (ya sea virtual, real o ‘dux’), también habrá delitos, fraudes, robos, engaños y engaños. Lo sé, es un mundo frío… Siga leyendo para comprender los posibles riesgos de seguridad que implica el uso de billeteras criptográficas y también cómo mantener sus billeteras criptográficas, billeteras electrónicas y criptomonedas seguras y protegidas.
Un monedero electrónico es un instrumento financiero digital que permite a un cliente usar una aplicación o dispositivo móvil para realizar pagos de bienes y servicios utilizando alguna forma de moneda digital almacenada. La moneda digital puede ser cosas como millas de viajero frecuente, puntos de fidelidad, una tarjeta de crédito vinculada o incluso dinero en efectivo. Apple Pay, Google Pay y Samsung Pay son ejemplos de monederos electrónicos.
Una billetera criptográfica es un tipo específico de billetera electrónica que se utiliza para almacenar, comerciar o realizar transacciones utilizando una criptomoneda (como bitcoin o Ethereum). Hay muchos tipos diferentes de billeteras criptográficas. Ejemplos de algunas de las billeteras criptográficas más populares son base de monedas, Robin Hood, ZenGoy cripto.com. Hay 2 tipos principales de billeteras criptográficas electrónicas: billeteras alojadas o billeteras sin custodia. Con una billetera alojada, un tercero guarda su criptografía por usted, de manera similar a como un banco guarda su dinero en una cuenta corriente o de ahorros. Con una billetera criptográfica sin custodia, el cliente adquiere más control sobre la cuenta a través de la posesión de una clave privada que brinda acceso y control total sobre la cuenta y los fondos en cualquier momento. Con las cuentas sin custodia, la clave privada (incluido dónde y cómo se almacena) es responsabilidad exclusiva del cliente (estos son los tipos de billeteras donde escuchas historias de terror en las noticias de personas que han olvidado o perdido su clave privada y como resultado perdió millones de dólares en criptomonedas).
Desde una perspectiva de seguridad, tanto las billeteras criptográficas alojadas como las que no tienen custodia pueden ser pirateadas si un atacante obtiene el control de la cuenta, ya sea robando o aprendiendo la clave privada (en el caso de cuentas sin custodia) o engañando al proveedor de alojamiento para que es el titular legítimo de la cuenta (a través de phishing, enmascaramiento o usurpaciones de cuentas a la antigua usanza).
Considere la brecha de seguridad en Monte goxun intercambio líder de Bitcoin que se declaró en bancarrota después de que se robaron $ 450 millones en Bitcoins directamente de las billeteras de criptomonedas Mt. Gox.

Si bien existen muchos métodos y técnicas que utilizan los piratas informáticos para robar criptomonedas, las aplicaciones móviles son uno de los eslabones más débiles en la cadena de ataque. Incluso cuando la ingeniería social y el phishing se utilizan como técnica de ataque principal para engañar o atraer al usuario desprevenido para que revele información confidencial, las aplicaciones móviles a menudo se explotan en un escenario de ataque combinado. Por ejemplo, un atacante puede usar una técnica de phishing o ingeniería social clásica para atraer a un usuario para que descargue una aplicación falsa que se hace pasar por una billetera criptográfica pero que en realidad contiene un código malicioso en su interior. Una vez que el usuario desprevenido ejecuta la aplicación, el malware dentro de la aplicación se activa y monitorea la actividad del usuario, registra sus pulsaciones de teclas a través de un registrador de teclas o llama a casa para obtener un código de explotación adicional.
En el caso de las cuentas sin custodia, donde la clave privada es muy buscada, se sabe que los piratas informáticos apuntan al portapapeles móvil utilizando malware especialmente diseñado que abusa de los métodos legítimos de Android para leer la información que se ha copiado en el portapapeles. En este caso, están apostando a que el usuario móvil finalmente usará la función «copiar/pegar» para copiar su clave privada desde donde sea que la tenga almacenada para que pueda acceder a su cuenta sin custodia para obtener acceso a la criptomoneda. Probablemente sea una apuesta bastante segura que muchos usuarios van a copiar la clave privada en algún lugar, debido a la dificultad de memorizar una cadena de clave privada que se ve así:

Otro método de ataque popular para robar claves criptográficas es mediante el uso de códigos 2FA de piratería, que a menudo se requieren como medida de seguridad adicional para acceder a las billeteras criptográficas alojadas. He escrito sobre este tema en blogs anteriores donde discutí cómo el malware a menudo se programa para robar códigos MFA y 2FA, el mismo concepto aquí. El malware puede hacerse pasar por una aplicación legítima de Android como Microsoft Word o Adobe Flash, que utiliza para engañar a los usuarios para que otorguen permisos que luego el malware abusa de varias maneras. Una vez instalado, registra silenciosamente las pulsaciones de teclas y las notificaciones mientras busca aplicaciones de cuentas bancarias para monitorear.
y no olvidemos ataques superpuestos, que se han convertido en un método estándar utilizado para atacar aplicaciones de banca móvil en todo el mundo. Los piratas informáticos están aprendiendo el uso de ataques superpuestos para engañar a los usuarios para que transmitan información confidencial (como claves criptográficas o contraseñas), o para habilitar permisos o intenciones que son perjudiciales para el usuario (como permitir que el pirata informático aumente los privilegios, registre pulsaciones de teclas o plantar puertas traseras).
A continuación, se incluye un conjunto de mejores prácticas de seguridad recomendadas que proporcioné a los clientes de Appdome como referencia para proteger las billeteras criptográficas. No todas las características serán necesarias para cada aplicación o caso de uso. En cambio, los desarrolladores móviles pueden usar este conjunto de funciones como «bloques de construcción de seguridad de aplicaciones móviles» que pueden combinar para implementar un modelo de seguridad sólido en sus aplicaciones de billetera criptográfica:
- Protección de aplicaciones — anti-depuración, anti-manipulación y anti-reversión, validación de suma de verificación y evita la aplicación de parches binarios, la nueva firma de aplicaciones y otras formas de manipulación. Este es uno de los componentes básicos necesarios para evitar la distribución de aplicaciones falsas o clones.
- Ofuscación de código — Evita la ingeniería inversa maliciosa del código fuente y la estructura lógica de la aplicación.
- Cifrado de datos móviles — utiliza AES-256 para cifrar dinámicamente todos los datos almacenados en el entorno limitado de la aplicación y en todo el código en preferencias, cadenas, recursos, valores strings.xml y archivos dex de clase java.
- Fuga y Prevención de raíces — esto evita que una aplicación de iOS se ejecute en un dispositivo con jailbreak y una aplicación de Android en un dispositivo rooteado.
- Comunicaciones seguras — incluida la prevención de ataques Man-in-the-middle, fijación de certificados, validación de certificados y prevención de proxy malicioso. Estas características evitan que la aplicación de billetera criptográfica se conecte a servidores que no son de confianza y protegen la aplicación contra ataques Man-in-the-Middle, como cuando un atacante redirige el tráfico a su propio proxy malicioso intercambiando el certificado digital almacenado dentro de la tienda de confianza de la aplicación. .
- Prevención de registradores de teclas — Detecte automáticamente los teclados aprobados y detenga el uso de teclados personalizados que pueden incluir software de registro de teclas que se utiliza para filtrar la información de las pulsaciones de teclas.
- Detectar abuso de accesibilidad — Detecta cualquier aplicación instalada en el dispositivo que tenga demasiados permisos de servicios de accesibilidad. Esta escalada de privilegios es común con todos los troyanos y RAT, que a menudo se usan para ayudar en el robo de claves criptográficas.
- Bloquear el puente de depuración de Android — Detecta automáticamente Android Debug Bridge (ADB) y evita el uso de ADB para ingeniería inversa maliciosa, depuración, shell remoto, etc.
- Ataques de superposición de bloques — Detecte y evite las superposiciones de pantalla maliciosas, donde se coloca una pantalla falsa sobre la pantalla real y se engaña al usuario para que realice una acción dañina (p. ej., revelar claves criptográficas, contraseñas, secretos) o otorgar permisos inadvertidamente al malware.
- Administrador de bloques de Magisk — Identifica y bloquea el uso de Magisk Manager, un marco avanzado de omisión de raíz y ocultación de raíz.
- Juegos de herramientas de Block Frida — Detecte y bloquee automáticamente la instrumentación binaria dinámica, el enganche de métodos y el código malicioso o la inyección de memoria que los atacantes llevan a cabo utilizando Frida o kits de herramientas basados en Frida.
Escríbame y estaré encantado de explicarle (o demostrarle) cómo implementar cualquiera de las funciones anteriores en cualquier aplicación de iOS o Android.
¡Salud!
Alan