RASP Android
RASP en Android: protección que se ejecuta dentro de la app
Qué significa la autoprotección en tiempo de ejecución en Android, qué detecta y cómo adoptarla sin afectar a usuarios reales.
Respuesta corta
RASP (runtime application self-protection) es código dentro de tu app que comprueba, mientras la app se ejecuta, si el dispositivo y la propia app son de confianza: root, emuladores, depuradores, frameworks de hooking y copias modificadas. Una política decide la respuesta, desde solo registrar hasta cerrar la sesión. Encarece el ataque; no hace que una app sea imposible de atacar.
Por qué las apps Android lo necesitan
Cualquiera puede descargar un APK, desempaquetarlo, modificarlo e instalarlo de nuevo. En un teléfono con root o con una herramienta de instrumentación conectada, el atacante puede leer la memoria, saltarse comprobaciones y cambiar lo que envía la app. Las reglas de tu servidor solo ven las peticiones que llegan, no el dispositivo que las generó.
Qué comprueba un RASP
Las comprobaciones miran el entorno (root, emulador, estado inseguro del dispositivo), la instrumentación (Frida, Xposed, funciones con hook), la depuración (depurador conectado, rastreo del proceso) y la integridad (firma, código modificado, copias refirmadas). Cada señal sola es débil; varias juntas dan un veredicto útil.
Cómo desplegarlo con seguridad
Empieza en modo monitorización: la app informa de lo que habría hecho y no bloquea nada. Revisa los eventos reales de tu base instalada y luego pasa cada detección a avisar, bloquear o cerrar la sesión, de una en una. Combina las comprobaciones en tiempo de ejecución con el refuerzo de la compilación (ofuscación), para que las propias comprobaciones sean más difíciles de encontrar y quitar.
Qué dicen las fuentes
OWASP MASVS-RESILIENCE-1 pide que la app valide la integridad de la plataforma en la que se ejecuta, y MASVS-RESILIENCE-4, que implemente técnicas contra el análisis dinámico.
Fuente · comprobado el
Frida, una herramienta para inspeccionar y modificar apps mientras se ejecutan, se describe como un kit de instrumentación dinámica de código.
Fuente · comprobado el
La Play Integrity API de Google devuelve veredictos sobre el dispositivo, la app y la cuenta, que el backend puede comprobar junto con las señales de la propia app.
Fuente · comprobado el
Qué hace Moatgator
Runtime detecta root, emuladores, Frida, Xposed, depuradores y manipulación dentro de la app.
Fuente · comprobado el
La respuesta de cada detección está en moatgator.yml: monitorizar, avisar, bloquear o cerrar la sesión, y toda detección empieza en modo monitorización.
Fuente · comprobado el
Shield ofusca la app compilada en tu pipeline y la devuelve sin firmar, así tus claves de firma se quedan contigo.
Fuente · comprobado el
El plan gratuito incluye cinco detecciones en los modos monitorizar y avisar.
Fuente · comprobado el
Dónde termina
Ninguna comprobación sola es una prueba, y un atacante decidido y con tiempo puede saltarse las comprobaciones del cliente. El RASP aporta señal y tiempo; para las acciones que mueven dinero, combínalo con verificación en el servidor (Attest o Play Integrity).
Preguntas frecuentes
¿RASP es lo mismo que ofuscación?
No. La ofuscación hace el código más difícil de leer antes de ejecutarse; el RASP comprueba el entorno mientras se ejecuta. Funcionan mejor juntos, porque la ofuscación también oculta las comprobaciones del RASP.
¿El RASP bloqueará a usuarios legítimos?
Puede, si bloqueas demasiado pronto. Por eso las detecciones deben empezar en modo monitorización, para ver el impacto real antes de bloquear nada.
¿Tengo que cambiar mi código fuente?
Con Moatgator, no. La protección se añade a la app compilada en tu pipeline y la política vive en moatgator.yml.
¿Funciona en iOS?
Moatgator da soporte a Android e iOS (beta). Esta guía trata de Android.
Mira en qué punto está tu app
Sube un APK, AAB o IPA al Scan gratuito y obtén una nota, sin cuenta.