Criptografía Insuficiente
La app móvil usa algoritmos de encriptación débiles, keys hardcodeadas o implementa criptografía custom — dejando datos encriptados efectivamente desprotegidos.
Cómo Funciona
La criptografía insuficiente en apps móviles incluye usar algoritmos deprecados (DES, MD5, SHA1), hardcodear keys de encriptación en el código fuente (fácilmente extraíbles por decompilación), usar modo ECB, IVs estáticos, o crear tu propia crypto. Aunque los datos estén encriptados, usar crypto débil es equivalente a no tener encriptación porque los atacantes la pueden romper rápido. Las keys hardcodeadas son el problema más común — la key está ahí mismo en el código decompilado.
// Hardcoded key + weak algorithm
const key = 'mySecretKey12345';
const cipher = crypto.createCipher('des', key);
let encrypted = cipher.update(data, 'utf8', 'hex');
encrypted += cipher.final('hex');// Secure: AES-256-GCM with random key from Keystore
import { generateSecureRandom } from 'react-native-securerandom';
const iv = await generateSecureRandom(16);
const cipher = crypto.createCipheriv('aes-256-gcm', keyFromKeystore, iv);Ejemplo Real
En 2016, investigadores encontraron que la app móvil de Ashley Madison encriptaba datos con una key hardcodeada idéntica en todas las instalaciones. Después de la brecha, todos los datos 'encriptados' fueron trivialmente desencriptables.
Cómo Prevenirlo
- Usa AES-256-GCM para encriptación simétrica
- Guarda keys de encriptación en el Keystore/Keychain de la plataforma, nunca hardcodees
- Usa generadores de números aleatorios seguros para IVs y nonces
- Nunca implementes algoritmos criptográficos custom
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Uso Incorrecto de Credenciales
criticalAPI keys, passwords o tokens hardcodeados directamente en el código fuente de la app móvil — fácilmente extraíbles al decompilar el bundle.
Seguridad de Cadena de Suministro Móvil
mediumSDKs vulnerables, librerías nativas desactualizadas o módulos de terceros comprometidos introducen riesgos de seguridad desde tus dependencias.
Autenticación/Autorización Insegura
highApps móviles con autenticación débil — guardando sesiones de forma insegura, sin refresh de tokens o checks de autorización solo en el cliente.
Validación Insuficiente de Input/Output
mediumApps móviles que no validan input de usuario o sanitizan output son vulnerables a ataques de inyección, corrupción de datos y comportamiento inesperado.