Saltar a contenido

Proteger una aplicación

Protege un APK de Android o un IPA de iOS en pocos pasos: súbelo, elige las comprobaciones que ejecuta, protégelo y después descarga la copia protegida.

El ADR móvil (detección y respuesta de aplicaciones móviles) añade RASP, la autoprotección de aplicaciones en tiempo de ejecución, a una copia de tu aplicación Android o iOS. La aplicación protegida ejecuta comprobaciones de seguridad en el dispositivo, como root o jailbreak, un depurador o hooking con Frida, e informa de lo que detecta como eventos. Tú eliges qué comprobaciones ejecuta.

Antes de empezar

  • La aplicación: un APK de Android o un IPA de iOS, compilado tal como lo publicarías, de 2 GB como máximo.
  • iOS: sube el IPA que exportas desde Xcode o tu sistema de compilación. Un IPA descargado de la App Store está cifrado y no se puede proteger. El ejecutable de la aplicación debe estar compilado para arm64. La aplicación protegida es compatible con iOS 12 y posteriores.
  • Android: la aplicación protegida necesita Android 12 (API 31) o posterior. Su versión mínima se sube a 31 si es más baja, así que ya no se instala en dispositivos más antiguos.
  • Un archivo por versión: cada versión de una aplicación, su android:versionName o su CFBundleShortVersionString, solo se puede proteger a partir de un archivo. Cuando cambies la aplicación, da una versión nueva al nuevo build.
  • La aplicación original: sube la aplicación tal como la compilaste, no una copia ya protegida.

Abre el ADR móvil

Ve a report.ostorlab.co y después:

  • Abre el menú y haz clic en "ADR móvil", en "Proteger".

    Abre el ADR móvil

  • Haz clic en "Proteger una aplicación".

    Haz clic en Proteger una aplicación

Elige la aplicación

  • Suelta el APK o el IPA en la zona de subida, o haz clic en ella para seleccionar el archivo. La plataforma se deduce de la extensión del archivo.

    Sube la aplicación

  • Comprueba el archivo y haz clic en "Continuar". El "Resumen de la protección" de la derecha muestra la plataforma, la aplicación y las comprobaciones que ejecutará.

    Continúa a las comprobaciones

Elige las comprobaciones

  • El paso lista las comprobaciones de la plataforma de la aplicación. Todas están activadas por defecto.

    Las comprobaciones, todas activadas

  • "Identidad de la aplicación" siempre está activada: distingue un build auténtico de una copia reempaquetada, por eso su interruptor no se puede desactivar.

    Identidad de la aplicación siempre está activada

  • Desactiva las comprobaciones que no encajen con tus usuarios. Aquí se desactivan "Hooking e instrumentación" e "Interceptación de red", y el "Resumen de la protección" las quita. Por ejemplo:

    • Una VPN de empresa activa "Interceptación de red", y también un proxy en iOS: desactívala si tus usuarios trabajan detrás de uno.
    • Tu equipo de QA prueba en emuladores: protege para él un build aparte con "Emulador" desactivado.

    Desactiva comprobaciones

  • El contador junto a "Continuar" indica cuántas comprobaciones están activadas. Haz clic en "Continuar".

    Continúa a la protección

El ADR móvil tiene nueve comprobaciones, y una aplicación recibe las de su plataforma:

Comprobación Android iOS Qué detecta
Root ✓ Archivos de root, particiones del sistema con escritura, SELinux y propiedades de compilación.
Jailbreak ✓ Archivos de jailbreak, salida del sandbox y creación de procesos.
Depurador ✓ ✓ Un depurador conectado a la aplicación.
Hooking e instrumentación ✓ ✓ Frida y otras bibliotecas inyectadas en la aplicación.
Integridad del código ✓ El código de la aplicación se modificó después de protegerla.
Interceptación de red ✓ ✓ Túneles VPN y, en iOS, proxies.
Identidad de la aplicación ✓ ✓ Distingue un build auténtico de una copia reempaquetada.
Emulador ✓ ✓ La aplicación se ejecuta en un emulador o en el simulador de iOS.
Virtualización y clonación de aplicaciones ✓ La aplicación se ejecuta dentro del contenedor de otra aplicación.

La aplicación protegida ejecuta las comprobaciones activadas al iniciarse y después cada minuto mientras está abierta. La página Eventos lista lo que informa cada comprobación.

Protégela

  • Revisa las "Comprobaciones" del "Resumen de la protección": solo aparecen las que están activadas.

    Las comprobaciones en el resumen de la protección

  • Haz clic en "Proteger". Primero se sube la aplicación: quédate en la página hasta que termine la subida, o haz clic en "Cancelar la subida" para detenerla. Después se protege. Tarda alrededor de un minuto y puedes salir de la página: el build sigue y queda en la pestaña "Builds".

    Haz clic en Proteger

  • Cuando aparezca "La aplicación está protegida", haz clic en "Descargar" para obtener la copia protegida.

    Descarga la aplicación protegida

Cuando la aplicación protegida se ejecute en dispositivos, sus eventos aparecerán en la pestaña "Eventos". Cada build de la aplicación queda en "Aplicaciones" y "Builds", donde puedes volver a descargarlo.

Si la aplicación no se puede proteger

El motivo aparece en la página y bajo el estado del build en la pestaña "Builds". Haz clic en "Proteger otra aplicación" para empezar de nuevo. Los mensajes del servidor aparecen en inglés, y los de la consola en tu idioma.

Mensaje Qué hacer
Elige un archivo APK o IPA. Sube un archivo cuyo nombre termine en .apk o .ipa.
El archivo es demasiado grande: el límite es 2 GB. Sube un build más pequeño de la aplicación.
The file is not a valid APK. / The file is not a valid app archive. Sube el APK o el IPA tal como lo generó tu compilación, sin renombrarlo ni volver a empaquetarlo.
The app's AndroidManifest.xml cannot be read. Vuelve a compilar el APK y súbelo.
The app's executable cannot be protected: it must be an unencrypted arm64 binary. Sube el IPA exportado desde Xcode o tu sistema de compilación, compilado para arm64, no uno descargado de la App Store.
The app's executable has no room for the runtime. Vuelve a compilar la aplicación con la opción del enlazador -headerpad_max_install_names y súbela.
The app is already protected. Sube la aplicación original, no una copia protegida.
Version … of … is already protected from another file. Da una versión nueva al nuevo build y súbelo.
No se pudo solicitar el build La aplicación ya está subida: haz clic en "Volver a solicitar".
The app could not be protected. Try again, or contact support if it fails again. Vuelve a proteger la aplicación. Si vuelve a fallar, contacta con soporte.