Las mejores prácticas para pentesting de aplicaciones móviles

Share this…

Estas son algunas de las mejores prácticas para ayudar a luchar contra los ataques cibernéticos  con pruebas de penetración según expertos de análisis de vulnerabilidades informáticas.

Preparación del entorno de pruebas

Las aplicaciones Web se ejecutan en todo tipo de plataformas y navegadores, pero ese no es el caso de las aplicaciones móviles. Por lo tanto, por las pruebas de las aplicaciones un entorno específico debe estar configurado. En el caso de un dispositivo iOS, por ejemplo, será necesario hacer jailbreak al dispositivo, teniendo en cuenta la seguridad impuesto por Apple, lo que no le permitirá observar y analizar o responder al ataque. En el caso de Android, tendríamos que hacer root para tener accesos requeridos según expertos de análisis de vulnerabilidades informáticas.

Configuración de las herramientas

Una vez que el dispositivo esté listo, necesitará algunas herramientas adicionales para ser instaladas para el análisis y la recopilación de información. Estos deben implementarse en el entorno de prueba y el dispositivo. Cydia es la app store de jailbreak iOS, y a través de ella, es posible descargar las herramientas necesarias para las pruebas.

Para el análisis de binarios en Android, podrían usar Android Apktool o una máquina virtual como Android ingeniería inversa es muy recomendable por los expertos de hacking ético.

Preparación de los casos de prueba

En esta fase, la observación de la aplicación en el nivel funcional y el análisis de su comportamiento, incluyendo descifrarlo si la aplicación ha sido ofuscada, es esencial. Según cursos de hacking ético, la extracción de  tipo de marcos que han sido utilizados, tomar notas sobre los siguientes, ayudará a crear un buen modelado de amenazas, aplicando los mismos principios para crear una suite de prueba como se explica en la guía de pruebas de OWASP:

  • Identidad, autenticación y control de acceso como llaveros, los ataques de fuerza bruta, los parámetros templados.
  • Validación de entrada y codificación.
  • Cifrar los campos de contraseña de base de datos SQLite.
  • Administración de usuarios y sesiones como identificadores de sesión, tiempo de bloqueos.
  • Error y manejo de excepciones.
  • Auditoría de registro y los registros de control de acceso.

 mobile pen

El análisis de archivos y binarios

Durante esta fase, el objetivo principal es descubrir las llamadas API inseguras y archivos no protegidos adecuadamente con ayuda de metodologías de análisis de vulnerabilidades informáticas. Esto se puede lograr mediante la depuración y el análisis del código usando herramientas como IDA Pro. Desbordamientos de búfer no debe ser descartado. Para descubrir vulnerabilidades, como inyecciones SQL, puede utilizar técnicas como fuzzing la aplicación o la aplicación de insumos maliciosos según expertos de análisis de vulnerabilidades informáticas. Las técnicas utilizadas para descubrir vulnerabilidades en una aplicación nativa son similares a las pruebas de penetración de aplicaciones web con esta diferencia que en lugar de utilizar un proxy para entender el funcionamiento interno de la aplicación, se utiliza el software de depuración.

Seguridad de la arquitectura cliente-servidor

Cuando la aplicación móvil ha sido diseñada con una arquitectura cliente-servidor, ataques de red son una de las principales preocupaciones según experiencia de profesionales de hacking ético. El uso de rastreadores para capturar el tráfico de red e investigar protección de la capa de transporte es esencial. Otras pruebas que se deben incluir en esta fase son:

Autenticación : Observando la solicitud y respuestas entre el cliente y el servidor, es posible descubrir vulnerabilidades que implican la autenticación. En los casos donde la aplicación está utilizando autenticación básica de HTTP, esto representa un riesgo.

Autorización: Las funciones y los controles de acceso entre ellos pueden ser descubiertos a través de manipulación de parámetro. Asegurar la clave de API correctamente en una carpeta inaccesible puede ser descubierto por el análisis de archivos o por spidering .

Administración de sesiones: Fichas de identificación de sesión enviados a través de métodos GET y colocados en la URL son visibles por proxy o por intercepción del tráfico.

 Encriptación y protocolos débiles: Las aplicaciones móviles son más vulnerables en estas áreas.

Seguridad del servidor de aplicación

Probar la infraestructura, específicamente el servidor que aloja móvil app, requiere herramientas como nmap y la armadura de pruebas de intrusión diseñada para asignar y descubrir posibles vulnerabilidades y amenazas potenciales. También, cargados de archivos sin restricciones, redirección abierta, y la distribución de los recursos  deberían incluirse como parte de las pruebas.

Los desarrolladores móviles también deben ser conscientes de estas técnicas para construir aplicaciones más seguras. Las empresas deben centrarse en la creación de conciencia sobre los riesgos de las aplicaciones móviles vulnerables.