Como continuación de la primera parte de esta serie, nos introducimos de lleno en la primera etapa de la metodología para un Análisis de la Seguridad de la Aplicaciones Móviles; La correspondiente a la fase de preparación y recepción de toda la información necesaria para llevar a cabo el análisis de seguridad correspondiente en las etapas siguientes.
Indice:
E1: Information Gathering
En la primera etapa de la metodología se establece una serie de pasos y/o tareas que el auditor deberá realizar con el objetivo de prepararse para las siguiente fases de la metodología.
En esta etapa se llevará a cabo un reconocimiento de la aplicación con objeto de identificar la magnitud y alcance de la aplicación. Será necesario la recopilación de la información que ayude a identificar la infraestructura que proporciona soporte a la aplicación así como sus posibles vectores de ataque, esta fase también es conocida como la fase de "Reconocimiento".
Las Actividades y tareas a realizar durante esta etapa son:
- E1.A1: Requisitos y/o características necesarias para la Auditoria
- E1.A2: Análisis de los requisitos de Comunicación
- E1.A3: Análisis de las funcionalidades y/o características de la aplicación
- E1.A4: Análisis de la arquitectura software de la aplicación
A continuación se detallan las tareas que cada una de las Actividades aquí planteadas deberían de aplicar.
E1.A1: Requisitos y/o características necesarias para la Auditoria
- E1.A1.T1 Identificar el sistema operativo y plataforma de desarrollo (SDK) de la aplicación a auditar.
- E1.A1.T2 Identificar la necesidad de la aplicación de utilizar un dispositivo con acceso "root" o en su defecto "jailbroken" (IOS desbloqueado).
- E1.A1.T3 Registrar y/o configurar una cuenta de usuario destinada para las pruebas de auditoria, con objeto de disponer al menos de dos cuentas de usuario. (Ideal para realizar las pruebas de elevación de privilegios).
- E1.A1.T4 Implementar una infraestructura / laboratorio para la realización de la auditoria / pruebas que permita la interceptación y registro de las comunicaciones de red (Man in the Middle), con soporte para realizar un bypass de los certificados de las conexiones seguras (HTTPS).
E1.A2: Análisis de los requisitos de Comunicación
- E1.A2.T1 Registro (sniffing and logging) de todas las conexiones / comunicaciones de la aplicación, bien realizadas sobre el dispositivo móvil físicamente o en laboratorio de pruebas (simulador / emulador).
- E1.A2.T2 Identificación de las interfaces de comunicación utilizada por la aplicación móvil: NFC, Bluetooth, Wifi, 3G/4G, VPN, etc
- E1.A2.T3 Identificación de requisitos específicos en las comunicaciones de la aplicación para el correcto funcionamiento. Ejemplo: es necesario tener activada la WiFi para funcionar o es suficiente con tener conexión 3G/4G.
- E1.A2.T4 Listado de los protocolos de comunicación utilizados. Identificar la necesidad y correcta utilización de los mismos. Ejemplo: Se utiliza HTTPS para transmitir datos seguros cuando es necesario, o en caso de necesidad (firewall) puede establecerse la comunicación sin cifrado (HTTP) en lugar de HTTPS, ¿es esto posible? anotar toda la información descubierta.
E1.A3: Análisis de las funcionalidades y/o características de la aplicación
- E1.A3.T1 Utilización manual de la aplicación con el fin de establecer el flujo de trabajo, así como entender el funcionamiento básico de la aplicación. Esta tarea puede ser llevada a cabo sobre la ejecución de la aplicación en un terminal físico o en un emulador / simulador.
- E1.A3.T2 Identificar las interacciones de la aplicación con otras aplicaciones, servicios o acceso a datos tales como:
- Acceso datos de contacto.
- Acceso a información del telefono (registro de llamadas, SMS, etc).
- Utilización de la aplicación Google Wallet (tarjeta monedero).
- Servicios de almacenamiento en la nube (dropbox, box, drive, skydrive, icloud, etc).
- Integración con redes sociales (facebook, twitter, tuenti, flickr, instangram, google+, etc).
- Otras aplicaciones: Correo electrónico, block de notas, etc.
- E1.A4.T1 Realizar una búsqueda (motores de búsquedas, foros, repositorios de código fuente, etc) exhaustiva sobre la aplicación en Internet, con objeto de recopilar toda la información posible sobre su arquitectura interna. Ejemplo: código / librerías (API) de 3rd utilizados y/o integrados dentro de la aplicación.
- E1.A4.T2 Identificación y recopilación de información sobre el entorno de ejecución de la aplicación en el lado del servidor (si éxiste). Ejemplo:
- Hosting
- Entorno de desarrollo (Rails, ASP.NET, Java, Django, etc)
- Sistema de autenticación (Single Sign On o API)
- API / Librerías (Adsense, Cloud, Cifrado, etc)
- E1.A4.T3 Identificación y listado (primera impresión), en función de la información recopilada, de los posibles (potenciales) puntos de interés de la aplicación desde el punto de vista de la seguridad. Ejemplo: debilidad en la credenciales, errores, información cacheada, etc.
En la siguiente entrega continuaremos con la descripción de la segunda etapa de la metodología, la correspondiente al Análisis Estático de la aplicación móvil, en dicha fase es donde se realiza la revisión y/o auditoria del código fuente principalmente.
Referencias:
0 comentarios:
Publicar un comentario