Constantemente pasamos gran parte del tiempo en nuestros dispositivos móviles, ya sea por trabajo, por acceder a internet o comunicarnos con otras personas. Esto se ha convertido en una extensión de nuestra vida personal, tanto así, que manejamos información sensible, como datos personales, historial médico, contraseñas, entre otros. Sin embargo, en términos de seguridad, para los usuarios promedio es suficiente configurar un bloqueo del teléfono, sin saber que dichos datos sensibles podrían estar expuestos a ser robados.
Las pruebas de seguridad buscan validar la resistencia de la aplicación a ataques de usuarios maliciosos, además de validar que los desarrolladores apliquen prácticas de seguridad a la hora de programar.
Se debe de tener una sólida estrategia base para poder aplicar pruebas de seguridad en una aplicación móvil. Si esta no se define bien, el trabajo realizado no será suficiente o podría tener brechas, las cuales se obviaron.
Las siguientes son algunas pautas clave que se pueden tomar en cuenta para la estrategia de pruebas:
- Conocer el ambiente: Saber en qué plataformas va a operar la aplicación, de esta manera el siguiente paso será entender los vectores que el atacante podría utilizar en dichos S.O.
- Crear una lista de vulnerabilidades: El riesgo de vulnerabilidades varía de una aplicación a otra, por lo cual se debe tomar en cuenta ciertos lineamientos a los cuales darle un peso y una escala durante las pruebas. De esta manera se cubren las que son más riesgosas antes de que se libere la aplicación.
- Indagar en múltiples líneas de defensa: Utilizar diferentes herramientas de pruebas, en donde se incluyan: análisis estáticos, dinámicos y forenses, los cuales aplicados correctamente de manera conjunta pueden encontrar cómo un atacante puede usarlas.
- Realizar las pruebas pensando en cómo un atacante las haría: “Hackear” las propias aplicaciones ofrece un panorama donde se comprenden los puntos que un atacante podría vulnerar.
Enfoques al análisis de las pruebas:
- Pruebas Estáticas: No requieren ejecución del código. Se puede revisar el código, al igual que la documentación, esto con el fin de seguir los flujos de la aplicación.
- Pruebas Dinámicas: Requieren ejecución del código. Se usan técnicas adicionales como las de caja negra y caja blanca con mayor amplitud. Debido a su naturaleza, es posible medir con mayor precisión el comportamiento de la aplicación.
- Pruebas Forenses: Analizan artefactos que fueron dejados de lado en el camino, después de que una aplicación ha sido ejecutada; por ejemplo, credenciales almacenados en archivos de configuración o bases de datos locales.
En conclusión, es importante tener una estrategia de pruebas apropiada para cubrir todo lo que respecta a seguridad y brindar al usuario esa sensación de confianza que necesita, siempre pensando del lado de cómo un atacante podría vulnerar una aplicación. Además, es clave recomendarle medidas a los usuarios que ellos mismos deben tener en consideración, ya que la otra parte de seguridad les corresponde a ellos. La aplicación puede ser sumamente estable y segura, pero la última línea de defensa es, y será siempre, el usuario.
Puntos Clave
|