¿Qué es OWASP y por qué es cada día más relevante en la industria IT? ¿Qué métodos existen para completar las validaciones según sus estándares de seguridad? Entérate de todo en este artículo. ¡Y no te olvides! Puedes conectarte con Apptim para sumergirte de modo eficiente en el universo de OWASP y la seguridad en mobile.
Recientemente, publicamos un artículo en el que contextualizamos y explicamos brevemente por qué es tan relevante hacer foco en seguridad en mobile a la hora de desarrollar aplicaciones de calidad.
Es muy importante tener en cuenta que todas o la gran mayoría de las apps utilizan un backend de servicios que debe ser testeado siguiendo los estándares de Open Web Application Security Project (OWASP). Y no es posible realizar una evaluación de la parte móvil sin considerar el backend.
¿Por qué OWASP es tan importante en este camino?
Se trata de una organización y comunidad referente en temas de seguridad web y ahora también móvil. Propone una metodología de código abierto y colaborativa para auditorías de seguridad que permiten garantizar la revisión regular de un proyecto para minimizar errores y riesgos.
Tiempo atrás, solo existía el estándar ASVS (Application Security Verification Standard). Más adelante, se creó el MASVS, que agregó la M de Mobile. Actualmente, resulta crucial aplicar el MASVS para toda la parte web, y no olvidarse del ASVS para todo el backend.
¿Cómo funciona OWASP con relación a Mobile?
En mobile, tenemos la Mobile Application Security (OWASP MAS), que centraliza las iniciativas del área. Dentro de OWASP MAS, contamos con:
✅ MASVS — Mobile Application Security Verification Standard (MASVS)
Actualmente, se encuentra en la versión 1.4.2. En el MASVS se establecen los requerimientos de seguridad para una app, lo cual puede resultar útil en diferentes escenarios:
- Como métrica: proporciona un estándar de seguridad con el que los desarrolladores y propietarios de aplicaciones móviles pueden comparar las aplicaciones existentes. No tiene un valor numérico. Puede ser usado como medida de avance en el nivel de seguridad de la app basándonos en los niveles de requerimientos que se vayan cumpliendo.
- Como orientación: brinda una guía adecuada durante todas las fases del desarrollo y las pruebas de las aplicaciones móviles. Se puede acceder a guías de testing y a otros recursos interesantes.
- Durante la adquisición: ofrece una línea de base para la verificación de la seguridad de las aplicaciones móviles.
Existen requerimientos de MASVS para cada uno de los siguientes aspectos de la app:
- V1: Architecture, Design and Threat Modeling Requirements.
- V2: Data Storage and Privacy Requirements.
- V3: Cryptography Requirements.
- V4: Authentication and Session Management Requirements.
- V5: Network Communication Requirements.
- V6: Environmental Interaction Requirements.
- V7: Code Quality and Build Setting Requirements
- V8: Resiliency Against Reverse Engineering Requirements
✅ MASTG — Guías de testing: Mobile Application Security Testing Guide
En este momento, se hallan en la versión 1.5. El MASTG es un manual completo para las pruebas de seguridad de las aplicaciones móviles y la ingeniería inversa. Describe los procesos técnicos para verificar los controles enumerados en el MASVS.
Hay dos tipos de enfoques para probar cada requisito, que se complementan entre sí:
- SAST — Static Application Security Testing: consiste en analizar el código, y los artefactos que componen el sistema.
- DAST — Pruebas dinámicas de seguridad de aplicaciones: implica ejecutar la aplicación para analizar su comportamiento.
✅ OWASP MAS Checklist
Es una planilla de cálculo que integra las pruebas correspondientes del MASTG en cada plataforma (Android e iOS) para cada requerimiento del MASVS.
Mobile AppSec Model
¿Qué niveles de seguridad existen para los aspectos mencionados previamente?
Podemos enumerar 2: L1 y L2. L1 es el básico, que debería tener cualquier app móvil. L2 agrega algunos requerimientos extras para aquellas aplicaciones en las cuales la seguridad es más relevante porque manejan datos sensibles.
Además, se pueden combinar con otra serie de requerimientos relacionados con la resiliencia de ingeniería inversa MASVS-R, que buscan proteger la propiedad intelectual de las aplicaciones y a dificultar la tarea de análisis por parte de los hackers. Nunca debe entenderse el nivel R como un reemplazo a los controles de seguridad.
Los requerimientos de resiliencia de ingeniería inversa se pueden combinar con los dos niveles de seguridad, por lo cual tenemos 4 posibles opciones para elegir para nuestra aplicación:
- L1
- L1+R
- L2
- L2+R
Al comenzar nuestro análisis sobre qué nivel de seguridad necesitamos según nuestro negocio, podemos elegir uno de esos 4 niveles o un subconjunto propio que combine los requerimientos de L1, L2 y R.
MASA: Mobile Application Security Assessment
Basados en estos estándares y con apoyo de Google, se crea el “Mobile Application Security Assessment” (MASA), el cual recoge un subconjunto de los requerimientos del nivel MASVS-L1. Este subconjunto nos agrega un nuevo nivel a los 4 descritos anteriormente. Es un nivel de seguridad menor y puede ser un buen objetivo inicial a la hora de empezar a evaluar los aspectos de seguridad en las aplicaciones.
MASA permite agregar un destacado en el Play Store, el cual indica que la aplicación cuenta con una revisión externa de seguridad. Tal como mencionamos en el inicio del artículo, esto mayor confianza a los usuarios en lo que respecta a la seguridad de las aplicaciones que cuentan con tal destacado.
En definitiva, tal como se especifica en App Defense Alliance, realizar pruebas de seguridad con regularidad para tu aplicación puede ayudarte a identificar vulnerabilidades clave en tu aplicación y mitigar la responsabilidad futura.
OWASP MASVS se puede aplicar a cualquier app para dispositivos móviles. Por ejemplo, en una variedad de categorías de app, como IoT, fitness/health, social, comunicaciones, VPN, productividad y muchas más.
“El alcance de la evaluación consiste en la seguridad del cliente, la autenticación en el servicio de backend o en la nube y la conectividad al servicio de backend o nube en la que se analiza la seguridad general y algunas prácticas recomendadas de privacidad”, puntualiza el sitio oficial. “La evaluación revisará un subconjunto de requisitos MASVS de nivel 1 que se pueden probar y están disponibles en GitHub aquí”.
Automatización de las pruebas de seguridad
¿En qué consisten las validaciones que se ejecutan? ¿Son automatizadas?
Si bien OWASP está haciendo un gran esfuerzo por lograr que los diferentes requerimientos del MASVS sean claros y automatizables, actualmente no es posible automatizar todos los requerimientos. Esto no implica que no se usen herramientas para análisis estático de código u otras herramientas para incrementar la eficiencia del análisis cuando es necesario. Pero cada aplicación es diferente y puede requerir un análisis personalizado para ver cómo se adecuan a ella los requerimientos y guías.
¿Puede un tester funcional hacer pruebas de seguridad?
Muchos de los requerimientos y guías de OWASP requieren un gran conocimiento del negocio que el tester puede utilizar para asistir o chequear algunos de los requerimientos del MASVS. Algunos van a requerir de asistencia en temas técnicos para poder tomar la evidencia, como por ejemplos logs de la aplicación y SQLs qué ejecuta, entre otros.
¿En qué consiste la nueva versión del MASVS?
Carlos Holguera y Sven Schleier están liderando un refactor para lograr la versión 2.0., y también habrá una refactorización del MSTG para asegurar que cada control de MASVS tenga un caso de prueba claramente definido.
Compartimos algunas imágenes para que conozcas más sobre lo que se viene:
¿Estás usando el MASVS como estándar para desarrollar aplicaciones seguras o está en tus planes hacerlo?
Te invitamos a realizarlo a través de un partner de calidad como Apptim, una empresa spin-off de Abstracta. Se trata de una compañía que ofrece soluciones para crear aplicaciones móviles robustas, utilizada por más de 250 empresas en todo el mundo.
Apptim te ayuda a involucrarte en el universo de OWASP rápidamente y de manera eficiente. ¡Agenda ahora una reunión!
¿Buscas un partner para lanzar al mercado una aplicación de calidad? ¿Necesitas asesoría en mobile testing?
Nuestro equipo puede ayudarte a ejecutar las pruebas adecuadas para cada entorno (iOS o Android), verificando su funcionamiento en diversas plataformas y dispositivos, para proporcionar a tus clientes una experiencia positiva. Conoce aquí más sobre nuestro servicio de pruebas en aplicaciones móviles o ponte en contacto con nuestros expertos.
Otros contenidos relacionados
Pruebas de Software en una App Móvil: Guía introductoria
Posts Relacionados
Pruebas de software en una app móvil: guía introductoria
Tipo de tests y consideraciones clave para crear la estrategia y armar el set de dispositivos adecuado para realizar pruebas de software en una aplicación móvil y asegurar una buena experiencia de usuario.
Apptim: herramienta de testing de performance de aplicaciones móviles
Apptim es una herramienta de performance de aplicaciones móviles fácil e intuitiva, que ayuda a mitigar el riesgo que ciertos incidentes lleguen a producción. ¡Conoce más sobre este Spin Off de Abstracta!