Pentesting de aplicaciones iOS: lo que la revisión de la App Store no mira

Que Apple publique tu app no significa que sea segura: su revisión busca incumplimientos de políticas, no fallos de seguridad. Auditamos tu aplicación iOS con la metodología de OWASP MASVS y MASTG, en un iPhone real y contra su API, y te entregamos cada hallazgo con su prueba de concepto y la corrección para tu equipo.

Dimensiona tu proyecto · Solicitar auditoría iOS

¿Prefieres hablarlo? Llámanos al +34 960 730 013

  • OWASP MASVS — Las ocho categorías del estándar, de almacenamiento a privacidad
  • iPhone real — Análisis dinámico con Frida en dispositivo, no solo en simulador
  • App + API — El backend que usa la app entra en el mismo alcance
  • Retest — Verificación de las correcciones incluida

Por qué una app iOS necesita su propia auditoría

iOS es una plataforma más cerrada que Android, y eso lleva a pensar que una app es segura por estar en la App Store. Pero la revisión de Apple comprueba que la app cumple sus políticas; no prueba si guarda el token de sesión donde no debe, si el Face ID se puede saltar o si su API devuelve datos de otros usuarios.

El sandbox protege a una app de las demás, no de quien tiene el dispositivo en la mano, de quien analiza el binario descargado o de quien intercepta su tráfico. Los fallos que vemos con más frecuencia están en lo que el desarrollador decide: qué guarda y con qué protección, cómo valida los certificados, qué hace con un enlace que llega desde fuera y cuánto confía el servidor en lo que le dice la app.

Un pentest iOS los busca con las herramientas de un atacante —reversing del binario, instrumentación con Frida, interceptación del tráfico— y los ordena según OWASP MASVS, el estándar de verificación de seguridad de apps móviles.

Anatomía de una app iOS bajo prueba

Cada capa es una categoría de OWASP MASVS. Elige una para ver qué probamos, qué solemos encontrar y el tipo de evidencia que acompaña al hallazgo en el informe.

  • MASVS-STORAGE · Almacenamiento local: Keychain y su clase de accesibilidad, UserDefaults, ficheros, SQLite y Core Data, cachés de red, capturas al pasar a segundo plano y copias de seguridad. Hallazgo habitual: Token de sesión en UserDefaults, o en el Keychain con una clase de acceso que lo deja legible con el dispositivo bloqueado.
  • MASVS-CRYPTO · Criptografía: Algoritmos y modos, claves embebidas en el binario, generación de números aleatorios y uso del Secure Enclave y CryptoKit. Hallazgo habitual: Clave de cifrado fija dentro del binario, la misma para todos los usuarios.
  • MASVS-AUTH · Autenticación y Face ID: Inicio de sesión, gestión de sesiones y tokens, segundo factor y biometría con LocalAuthentication: si está ligada a una clave del Keychain o solo devuelve un sí o un no. Hallazgo habitual: Face ID que solo devuelve verdadero o falso a la app: se salta con un hook y la sesión se abre sin biometría.
  • MASVS-NETWORK · Comunicaciones: App Transport Security y sus excepciones, validación de certificados, certificate pinning y datos sensibles en URLs o cabeceras. Hallazgo habitual: Excepciones de ATS que permiten HTTP y un pinning que se anula con un hook estándar.
  • MASVS-PLATFORM · Esquemas de URL y WebViews: Esquemas de URL propios, universal links, WKWebView, extensiones, portapapeles y lo que la app acepta de otras apps o de un enlace. Hallazgo habitual: Un esquema de URL que ejecuta acciones sin comprobar el origen: un enlace en una web cambia ajustes o dispara una operación.
  • MASVS-CODE · Código y dependencias: SDK y librerías de terceros con sus versiones, validación de entradas, versión mínima de iOS y qué se escribe en los registros del sistema. Hallazgo habitual: SDK de terceros desactualizados y tokens o datos personales escritos en los logs del dispositivo.
  • MASVS-RESILIENCE · Resiliencia: Detección de jailbreak, antidepuración, detección de manipulación y ofuscación: no impiden el ataque, pero suben su coste en apps de banca o juego. Hallazgo habitual: Detección de jailbreak que se desactiva parcheando una sola función.
  • MASVS-PRIVACY · Privacidad: Permisos y sus textos, manifiesto de privacidad, App Tracking Transparency y qué datos envían los SDK de terceros y cuándo. Hallazgo habitual: SDK que envían identificadores y ubicación antes de que el usuario acepte el aviso de privacidad.

Hallazgos y salidas ilustrativos, construidos con patrones habituales en auditorías iOS; no describen una app concreta.

Qué cubre un pentest iOS

  • Análisis estático del binario (IPA): secretos embebidos, configuración de Info.plist y entitlements, librerías y funciones inseguras
  • Análisis dinámico en un iPhone real con Frida y objection: hooking, anulación de controles y observación del comportamiento
  • Almacenamiento: Keychain y clases de accesibilidad, UserDefaults, ficheros, SQLite, Core Data, cachés, capturas y copias de seguridad
  • Comunicaciones: App Transport Security, validación de certificados y certificate pinning
  • Autenticación, sesiones y biometría (Face ID y Touch ID con LocalAuthentication)
  • Interacción con la plataforma: esquemas de URL, universal links, WKWebView, extensiones y portapapeles
  • Lógica de negocio: compras in-app, permisos por rol y validaciones que deberían estar en el servidor
  • Privacidad: permisos, manifiesto de privacidad y SDK de terceros
  • API backend de la app: autorización entre usuarios, tokens y endpoints que la app no usa pero existen
  • Resiliencia frente a jailbreak, depuración y manipulación, cuando el modelo de amenazas lo pide

Metodología

  1. Alcance y perfil de pruebas: Acordamos qué builds, funcionalidades y roles entran y qué perfil de pruebas de OWASP MAS aplica según el riesgo de la app: no exige lo mismo una app de recetas que una de banca.
  2. Análisis estático: Analizamos el binario y su configuración en busca de secretos, excepciones de seguridad, esquemas de URL, permisos y componentes de terceros.
  3. Análisis dinámico: Instrumentamos la app en ejecución con Frida en un iPhone con jailbreak para observar qué guarda, qué cifra y cómo reacciona cuando se anulan sus controles.
  4. Red y API: Interceptamos el tráfico con Burp Suite, anulando el pinning si existe, y probamos la API con dos cuentas por rol: es donde aparecen los hallazgos de más impacto.
  5. Lógica de negocio: Revisamos compras, suscripciones, permisos y flujos críticos buscando lo que la app comprueba en local y el servidor no vuelve a comprobar.
  6. Informe y retest: Entregamos cada hallazgo clasificado por categoría MASVS, con prueba de concepto y corrección en Swift u Objective-C, y verificamos las correcciones en la nueva build.

Entregables

  • Informe ejecutivo con el riesgo para el negocio y las prioridades de corrección
  • Informe técnico con prueba de concepto y pasos para reproducir cada vulnerabilidad
  • Clasificación de los hallazgos por categoría de OWASP MASVS y referencia a los casos de prueba de MASTG
  • Recomendaciones de corrección concretas para el equipo iOS (Swift u Objective-C) y para el backend
  • Reunión de cierre con el equipo de desarrollo
  • Retest de las correcciones en la nueva build

Casos de uso

  • Apps de banca, pagos y fintech con datos financieros y biometría
  • Apps de salud con datos clínicos de pacientes
  • Apps corporativas con acceso a correo, VPN o sistemas internos, gestionadas con MDM
  • Startups que deben superar la due diligence de un cliente enterprise o de un inversor
  • Apps con compras in-app o suscripciones que conviene proteger del fraude
  • Empresas con requisitos de PCI DSS, ISO 27001 o ENS sobre su app

Revisión de la App Store, escáner o pentest: qué mira cada uno

Los tres revisan tu app, pero buscan cosas distintas.

Revisión de la App StoreEscáner automáticoPentest iOS manual
ObjetivoQue la app cumpla las políticas de AppleDetectar patrones conocidos en el binarioEncontrar lo que explotaría un atacante
Almacenamiento y KeychainNoIndiciosComprobado en un dispositivo real
Face ID y lógica de negocioNoNoSí, con instrumentación
API backendNoNoSí, con dos cuentas por rol
EntregableAprobación o rechazoListado sin validarInforme con PoC, corrección y retest

Compara con

Preguntas frecuentes sobre pentesting iOS

¿Necesitáis el código fuente o solo la app?

Podemos trabajar solo con la build (caja negra o gris), como lo haría un atacante. Si además nos das el código, el análisis llega más lejos en el mismo tiempo y las recomendaciones apuntan a la línea exacta. Para equipos que quieren corregir rápido, lo recomendamos.

¿Cómo nos pasáis la app para probarla?

Lo más sencillo es una build de pruebas por TestFlight o un IPA firmado para desarrollo, junto con cuentas de prueba para cada rol. Si la app solo está publicada, también se puede trabajar con la versión de la App Store.

¿Hace falta un dispositivo con jailbreak?

Para el análisis dinámico completo, sí: lo ponemos nosotros. Parte del análisis estático y de red se puede hacer sin jailbreak o en simulador, pero muchos fallos de almacenamiento y de autenticación solo se ven en un dispositivo real.

¿Incluye la API que usa la app?

Sí. La mayoría de los hallazgos graves de una app están en su backend: endpoints que devuelven datos de otros usuarios o que aceptan lo que la app ya debería haber validado. La API entra en el mismo alcance.

¿Qué es OWASP MASVS y qué nivel necesitamos?

Es el estándar de verificación de seguridad de apps móviles de OWASP, organizado en ocho categorías: almacenamiento, criptografía, autenticación, red, plataforma, código, resiliencia y privacidad. Desde la versión 2 ya no define niveles L1 y L2 dentro del estándar: el alcance se ajusta con los perfiles de prueba del proyecto OWASP MAS según el riesgo de la app, y lo acordamos contigo en la propuesta.

¿Probáis también la versión Android?

Sí, y conviene hacerlo en el mismo proyecto: comparten API y lógica, pero cada plataforma tiene fallos propios. Probar las dos juntas evita pagar dos veces el análisis del backend.

¿Cuánto dura un pentest de una app iOS?

Depende del número de funcionalidades y roles y de si la API entra en el alcance. La fase técnica de un pentest suele llevar entre 3 y 10 días hábiles y el informe llega 2-3 días después; el plazo exacto va en la propuesta.

Plataformas móviles

El backend de la app

Para equipos de producto

Fuentes

¿Listo para proteger tu empresa?

Responde la ficha de alcance a tu ritmo y la usaremos para preparar tu propuesta. Si prefieres hablarlo antes, reserva una llamada gratuita de 30 minutos.

Dimensiona tu proyecto · Solicitar auditoría iOS