Detección de Root/Jailbreak Faltante
Ejecutar una app financiera o de salud en un dispositivo rooteado o con jailbreak significa que todos los controles de seguridad pueden ser eludidos por el dueño del dispositivo.
Cómo Funciona
En un Android rooteado o iOS con jailbreak, las apps no tienen sandbox de seguridad. Los atacantes pueden leer el almacenamiento privado de tu app, eludir el certificate pinning, engancharse a procesos en ejecución para modificar valores de retorno y extraer tokens de la memoria.
// MAL: sin verificación de root/jailbreak antes de mostrar datos sensibles
export function AppBancaria() {
const { saldo } = useAccountData();
return <DashboardSaldo saldo={saldo} />; // sin verificación de integridad del dispositivo
}// BIEN: verifica la integridad del dispositivo antes de proceder
import JailMonkey from 'jail-monkey';
export function AppBancaria() {
if (JailMonkey.isJailBroken() || JailMonkey.isOnExternalStorage()) {
return <PantallaDispositivoNoSoportado />; // avisa y limita funcionalidad
}
return <DashboardSaldo />;
}Ejemplo Real
La Guía de Pruebas de Seguridad Móvil de OWASP documenta el bypass de detección de root como un caso de prueba estándar. Los troyanos bancarios en Android apuntan específicamente a dispositivos rooteados porque pueden leer datos de otras apps desde /data/data/ sin que la detección de root los detenga.
Cómo Prevenirlo
- Implementa detección de root/jailbreak usando jail-monkey (RN), SafetyNet (Android) o DeviceCheck (iOS)
- Muestra una advertencia y limita la funcionalidad sensible en dispositivos comprometidos — no solo bloquees silenciosamente
- Combina la detección de root con runtime application self-protection (RASP) para mayor cobertura
- Vuelve a verificar la integridad del dispositivo en cada inicio de app, no solo la primera vez
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Hijacking de Deep Links
mediumLos esquemas de URL personalizados sin verificación de host permiten que apps maliciosas intercepten los deep links de tu app y roben tokens OAuth o parámetros sensibles.
Exposición del Portapapeles
lowLos datos sensibles copiados al portapapeles (contraseñas, tokens, números de tarjeta) persisten ahí indefinidamente y pueden ser leídos por cualquier app.
Capturas de Pantalla No Prevenidas
lowLas pantallas bancarias y de pago sin protección contra capturas permiten que datos sensibles sean capturados por malware o aparezcan en la pantalla de apps recientes de Android.
Certificate Pinning Faltante
highSin certificate pinning, los atacantes en la misma red pueden interceptar el tráfico HTTPS de tu app con una autoridad de certificación falsa.