Pruebas de seguridad de apps móviles: Proteger a las compañías y a sus clientes
Tabla de contenidos
¿Sabes cuántas aplicaciones tienes en tu móvil? Seguramente, muchas más de las que crees. ¿Son todas ellas seguras? ¿Qué permisos de seguridad le has otorgado a cada una? Los smartphones y las apps móviles han transformado nuestro día a día, permitiéndonos realizar un sinfín de acciones y acceder a una ingente cantidad de información con solo mover un dedo. Ello conlleva infinitas ventajas, pero también riesgos en materia de ciberseguridad. De ahí que sea fundamental que las compañías que dispongan de apps, realicen pruebas de seguridad de aplicaciones móviles.
TeaBot, Brata, Xenomorph, Joker… En el último año, diversos malware han infectado miles de móviles con el objetivo de vulnerar apps móviles críticas, como las de las entidades bancarias.
Este fenómeno va en aumento, pues los delincuentes se aprovechan de la mayor relevancia que están adquiriendo las apps tanto a nivel personal como empresarial. Por ello, las auditorías de aplicaciones móviles se han convertido en uno de los servicios de ciberseguridad imprescindibles para las empresas que cuentan con apps móviles en el mercado.
A continuación, vamos a abordar los objetivos, la metodología y los beneficios de realizar pruebas de seguridad de aplicaciones móviles, tanto en Android como en iOS.
1. Los cinco objetivos básicos de las auditorías de apps móviles
Según Data Reportal, el 90% de las personas que acceden a internet en el mundo emplean smartphones. Una cifra notablemente superior al 66% de la población que consume internet mediante un ordenador. Este dato evidencia el profundo cambio de paradigma que se ha producido en la última década en lo relativo al consumo de internet.
Los teléfonos móviles se han convertido en dispositivos esenciales en la digitalización de las empresas y los hogares. Gracias al desarrollo de apps que permiten a las personas y los negocios llevar a cabo múltiples acciones: comunicarse, comprar, comercializar sus productos, gestionar sus cuentas, informarse…
Con estos datos en la mano, la realización de pruebas de seguridad de aplicaciones móviles se convierte en una tarea prioritaria y de suma importancia tanto para las compañías como para el conjunto de la ciudadanía. Puesto que permite a los desarrolladores de apps detectar posibles brechas de seguridad y subsanarlas antes de que sean explotadas por los actores maliciosos. En juego están la reputación de la empresa, la continuidad de negocio y posibles consecuencias económicas y legales de gran calado.
1.1. Detección de vulnerabilidades
El objetivo central de las pruebas de seguridad de aplicaciones móviles es detectar vulnerabilidades en las mismas, de cara a anticiparse a los cibercriminales.
Para ello, es preciso que un equipo de profesionales de la ciberseguridad, lleve a cabo una auditoría pormenorizada de las apps desarrolladas por una compañía, teniendo en cuenta los principales riesgos de seguridad a nivel global.
Las pruebas de seguridad de aplicaciones móviles permiten encontrar los agujeros de seguridad existentes y que pueden ser empleados por los atacantes para comprometer no solo las aplicaciones, sino también los dispositivos en los que están descargadas. Posibilitando que los usuarios maliciosos logren robar información confidencial de los usuarios.
1.2. Elaboración de un plan de mitigación de las debilidades
Tras el testeo de las medidas de seguridad y la detección de vulnerabilidades, los profesionales a cargo de las pruebas de seguridad aplicaciones móviles proceden a elaborar una serie de recomendaciones detalladas para mitigar las debilidades encontradas en las apps analizadas.
Estas recomendaciones son esenciales para que las compañías que han desarrollado las apps móviles puedan implementar las medidas necesarias para subsanar las vulnerabilidades y fortificarlas frente a los ciberataques.
Asimismo, las recomendaciones se priorizan, en función de las características del modelo de negocio de la compañía y el funcionamiento de la aplicación. La priorización es clave a la hora de remediar los problemas detectados, ya que ni el tiempo, ni los recursos humanos, económicos y técnicos son infinitos.
1.3. Validación de las medidas y mecanismos de protección
Las pruebas de seguridad de aplicaciones móviles no solo son un servicio de ciberseguridad de gran valor añadido a la hora de detectar debilidades, sino también para validar las medidas que ya se han puesto en marcha para proteger a las aplicaciones móviles.
Así, mediante una auditoría de seguridad de apps móviles, es posible comprobar la eficiencia y eficacia de los mecanismos y protocolos de seguridad. Y, además, a nivel técnico, este tipo de pruebas permite a los desarrolladores pensar, cada vez más, de forma segura a la hora de escribir el código de las aplicaciones. Lo que se denomina en el sector como desarrollo seguro.
La validación continua de los sistemas de seguridad es esencial, teniendo en cuenta, además, que el panorama de la ciberseguridad está en constante transformación y los actores maliciosos no cejan en su esfuerzo por encontrar nuevas formas de atacar a las compañías y la ciudadanía.
1.4. Incremento de la protección de las aplicaciones, las compañías y los usuarios
La detección de debilidades, la formulación de recomendaciones y su implementación, y la validación continua de las medidas de seguridad tienen una consecuencia clara y rotunda: se aumenta el nivel de protección de la aplicación sometida a la auditoría.
Si la aplicación está protegida de forma óptima frente a los ciberataques, la compañía que la ha desarrollado y los clientes que la han descargado en su dispositivo móvil, también estarán mejor protegidos frente al robo de información sensible y los fraudes.
Como ya hemos ido señalando, los smartphones y las apps móviles ocupan un papel cada vez más central en nuestro día a día y en el funcionamiento de millones de empresas. Protegerlos es una cuestión de vital importancia. Las pruebas de seguridad de aplicaciones móviles están llamadas a ser una actividad estratégica para todas las compañías que operan en el mundo digital.
1.5. Cumplimiento con el marco legal en vigor
Más allá de que las empresas asuman la importancia de las pruebas de seguridad de aplicaciones móviles, el marco normativo europeo en materia de ciberseguridad es cada vez más exigente.
Al archiconocido RGPD, que busca salvaguardar los datos de la ciudadanía europea, se han sumado en los últimos tiempos paquetes normativos del calibre del reglamento DORA y la directiva NIS2.
El primero de ellos, busca garantizar que las entidades financieras europeas son capaces de resistir a los ciberataques y proteger la información económica que tienen en su haber.
Mientras que la directiva NIS2 tiene por misión elevar el nivel de ciber protección de las empresas grandes y medianas de la Unión Europea que operan en sectores económica y socialmente estratégicos.
Estas normas generalizan el deber de las compañías de auditar la protección de sus activos y validar sus políticas y mecanismos de seguridad. Ello incluye, claro está, las aplicaciones móviles que desarrollan y que ponen a disposición de sus clientes.
2. Análisis dinámico y estático de las apps móviles
Los profesionales de ciberseguridad que llevan a cabo la auditoría de una app móvil diseñan las pruebas de seguridad teniendo en cuenta los objetivos que venimos de señalar. Así como las características, necesidades y recursos de la compañía que ha desarrollado la aplicación.
Para realizar las pruebas de seguridad de aplicaciones móviles, los profesionales deben conjugar tanto el análisis dinámico de las apps, como el estático.
2.1. Dinámico
Mediante el análisis dinámico es posible:
- Revisar las conexiones con el servidor, de cara a encontrar vulnerabilidades explotables por los delincuentes.
- Detectar las vulnerabilidades que pueda haber en el lado de la aplicación mientras es usada. Como, por ejemplo, imprimir información sensible en los logs del sistema.
2.2. Estático
Mientras que, al realizar un análisis estático de una app, se pueden comprobar dos aspectos esenciales para garantizar un nivel de protección óptimo frente a los ciberataques:
- Que no se almacene información sensible en el binario
- Que no sea posible evadir los controles de seguridad puestos en marcha por los desarrolladores
Al respecto de esta última cuestión, debemos señalar que algunos de estos controles de seguridad son dinámicos, ya que solamente pueden comprobarse al usar la app. Lo que no es posible mediante el análisis estático, ya que este consiste en buscar vulnerabilidades sin necesidad de instalar la aplicación.
Habida cuenta de todo ello, podemos sostener que no basta con que el equipo que realiza las pruebas de seguridad de aplicaciones móviles realice uno u otro análisis. Sino que ambos son complementarios a la hora de realizar una auditoría de seguridad de las apps móviles integral.
¿Cómo se realizan estas pruebas de seguridad de aplicaciones móviles? Empleando la metodología OWASP. Esta fundación, centrada en construir un mundo digital más seguro, ha desarrollado un estándar usado por desarrolladores y profesionales de la ciberseguridad en todo el mundo para validar la seguridad de las aplicaciones móviles.
3. OWASP MAS: Un estándar global para verificar la seguridad de las apps móviles
El proyecto Mobile Application Security (MAS) de OWASP se sustenta sobre dos pilares básicos. Por un lado, el Mobile Application Security Verification Standard (MASVS), que sistematiza los requisitos de seguridad que deben cumplir las apps móviles, en función del nivel de protección que precisa la app, teniendo en cuenta la criticidad de la información que maneje. Por otro, la Mobile Application Security Testing Guide (MASTG), que establece las pruebas que deben llevarse a cabo para validar los requisitos de seguridad de MASVS.
De tal manera que ambos pilares se complementan el uno al otro y constituyen una metodología aceptada a nivel global para realizar pruebas de seguridad de aplicaciones móviles.
Ello se debe a que MASVS y MASTG se basan en las mejores prácticas del sector en todo el mundo, agrupándolas y sistematizándolas para facilitar su uso por parte de los desarrolladores y los auditores.
3.1. MASVS: Niveles y requerimientos de seguridad
MASVS es un framework ideado para desarrollar apps móviles seguras y auditar su protección. Este marco conjuga dos elementos centrales: requisitos de seguridad y niveles de verificación de seguridad.
3.1.1. Niveles de seguridad
Así, MASVS contempla tres niveles de verificación de seguridad:
- L1. Seguridad estándar. Es el nivel de protección recomendado para todas las aplicaciones móviles. Y engloba los requisitos de seguridad básicos.
- L2. Defensa en profundidad. Este nivel de protección debe exigírsele a aquellas aplicaciones móviles que manejen datos sensibles. Pensemos, por ejemplo, en las apps de las entidades bancarias. En este nivel de seguridad, a los requisitos básicos del L1, se añaden otros que contribuyen a una defensa más integral y profunda de las aplicaciones.
- R. Resistencia contra la ingeniería inversa y la manipulación. Este nivel aporta a las apps, una capa de protección adicional, que no se solapa con las anteriores. De tal forma que una app puede ser sometida a una auditoría que tenga en cuenta los requisitos del nivel 1 y también los de este nivel R, pero no los del nivel 2. Este nivel permite constatar si las aplicaciones pueden hacer frente con éxito a ataques específicos del lado del cliente, como aquellos que emplean técnicas de ingeniería inversa para apoderarse de datos sensibles.
En función de las necesidades de la compañía en cuestión, su modelo de negocio y la información que maneja la aplicación, se pueden definir los niveles de seguridad que deben cumplir.
3.1.2. Requerimientos de seguridad
MASVS estructura los múltiples requerimientos de seguridad de las apps móviles en ocho categorías diferentes:
- V1. Arquitectura, diseño y modelado de amenazas
- V2. Almacenamiento de datos y Privacidad
- V3. Criptografía
- V4. Autenticación y manejo de sesiones
- V5. Comunicación a través de la red
- V6. Interacción con la plataforma
- V7. Calidad de código y configuración del compilador
- V8. Resistencia ante la ingeniería inversa
De tal manera que, el nivel 2 de seguridad contiene todos los requerimientos de las siete primeras categorías. El nivel 1, solo los requisitos básicos incluidos en éstas. Y el nivel R, por su parte, se corresponde con los requerimientos agrupados en la categoría 8.
¿Cómo son estos requerimientos? Por ejemplo, el 4.4., que debe tenerse en cuenta tanto en el nivel 1 como en el 2, estipula que la aplicación debe garantizar que «cuando el usuario cierra sesión se termina la sesión también en el servidor». Mientras que el 5.6., que solo se exige en el nivel 2 de seguridad, señala que se debe comprobar que «la aplicación sólo depende de bibliotecas de conectividad y seguridad actualizadas».
3.2. MASTG: Técnicas y herramientas para realizar pruebas de seguridad de aplicaciones móviles
Los requerimientos formulados en MASVS son de gran valor para que los desarrolladores y los auditores no se olviden de ningún elemento importante a la hora de proteger a una aplicación móvil o comprobar su nivel de seguridad. Sin embargo, su interrelación con MASTG es la clave de bóveda de la metodología de OWASP para realizar pruebas de seguridad de aplicaciones móviles. Puesto que cada requerimiento se ve complementado por los procesos, técnicas y herramientas que se deben emplear para constatar su cumplimiento.
Además, la guía MASTG incluye casos concretos que facilitan el diseño e implementación de una auditoría de seguridad de aplicaciones móviles.
4. Poner coto a los principales riesgos de seguridad de las aplicaciones móviles
A la hora de efectuar pruebas de seguridad de aplicaciones móviles, resulta fundamental tener en cuenta los principales riesgos y amenazas a las que tienen que hacer frente los sistemas de seguridad que las protegen.
En los últimos años, los ciberataques han ido en aumento, tanto en número como en lo que respecta a su complejidad. Malware, ransomware, técnicas de ingeniería inversa… Las tácticas y herramientas empleadas por los delincuentes son cada vez más sofisticadas y en muchas ocasiones hibridan técnicas diversas. Por ejemplo, ataques que combinan el phishing con el malware.
Si a este peligroso contexto le sumamos el hecho de que las apps móviles se han convertido en herramientas básicas de nuestro día a día y que cada vez más compañías desarrollan apps, nos encontramos con un escenario plagado de riesgos.
Por ello, es fundamental que las pruebas de seguridad de aplicaciones móviles sean realizadas por un equipo de profesionales con una amplia experiencia en la auditoría de ciberseguridad. Y que, además, cuenten en su haber con conocimientos precisos y permanentemente actualizados sobre los riesgos que se ciernen sobre las apps móviles, las compañías y los usuarios.
5. Identificar, detectar y recomendar. Los beneficios de realizar pruebas de seguridad de aplicaciones móviles
La realización de la auditoría de una aplicación móvil, siguiendo la metodología de OWASP, y combinando análisis estático y dinámico, permite a los expertos en ciberseguridad obtener una panorámica amplia de las vulnerabilidades de la app. Así como del nivel de eficiencia de las medidas de seguridad implementadas.
Así, a través de la realización de pruebas de seguridad de aplicaciones móviles, los profesionales pueden identificar y detectar las debilidades existentes y obtener la información necesaria para proponer recomendaciones que ayuden a subsanarlas.
5.1. Identificar
Una auditoría de aplicaciones móviles completa sirve para identificar:
- Vulnerabilidades en los mecanismos de autenticación de la aplicación.
- Malas prácticas en el uso de Webviews.
- Malas prácticas en las conexiones de red.
- Evasión de restricciones en el contexto de la aplicación.
5.2. Detectar
Asimismo, las pruebas de seguridad de aplicaciones móviles son de gran ayuda a la hora de detectar:
- El almacenamiento de información sensible en el contexto de la aplicación
- Mecanismos IPC vulnerables en sistemas Android.
- Un uso inapropiado de algoritmos de cifrado en el keychain/keystore.
Más allá de estas acciones, los profesionales que ejecutan la auditoría de seguridad de la app pueden realizar tests de intrusión en el backend de los aplicativos.
5.3. Recomendar
Como ya señalamos al inicio de este artículo, una de las claves de las pruebas de seguridad de aplicaciones móviles es que, a partir de la información recopilada durante la auditoría, se pueden establecer una serie de recomendaciones para mitigar las debilidades detectadas en las apps.
Así, los profesionales de la ciberseguridad no solo señalan los requisitos que no se cumplen, de acuerdo a la metodología OWASP, sino que también proponen una serie de recomendaciones detalladas para subsanar las vulnerabilidades y mejorar la protección de la app frente a los ciberataques.
Si, además, las pruebas de seguridad de aplicaciones móviles se llevan a cabo de manera periódica, es posible observar el nivel de cumplimiento de las recomendaciones y señalar nuevas acciones que subsanen las deficiencias que persistan o den respuesta a nuevas amenazas.
6. Google MASA: Fortalecer el ecosistema de apps de Android
La creciente preocupación por la seguridad de las aplicaciones móviles no se visibiliza solo a través del esfuerzo normativo que se ha llevado a cabo en la Unión Europea. Google, a través de la App Defense Alliance, ha puesto en marcha la Mobile Application Security Assessment (MASA).
6.1. ¿Qué es y cómo funciona?
- ¿Qué es Google MASA? Una iniciativa que busca garantizar que las apps disponibles en la Play Store tienen un nivel de protección óptimo frente a las ciber amenazas.
- ¿Cómo funciona? Google otorga una insignia a las apps que se sometan a una auditoría para verificar su nivel de seguridad.
- ¿Qué requisitos deben cumplir las apps? Los requerimientos incluidos en el nivel 1 del estándar MASVS de OWASP y que explicamos con anterioridad.
- ¿Cómo se comprueban los requisitos? Ejecutando pruebas de seguridad de aplicaciones móviles a partir de las técnicas, herramientas y procesos contemplados en la guía MASTG.
- ¿Cómo sabe Google que la app cumple los requerimientos de OWASP? El laboratorio autorizado que realiza las pruebas remite un informe de validación directamente a Google.
- ¿Cómo averiguan los usuarios que una app es segura? La insignia de Google MASA figurará en el apartado de seguridad de las aplicaciones que se han sumado a esta iniciativa.
De esta forma, Google busca fortalecer el ecosistema de apps de Android, fomentar que las compañías securicen sus apps y generar confianza en los usuarios que se descargan las aplicaciones desde la Play Store. Y las pruebas de seguridad de aplicaciones móviles son la piedra angular de esta iniciativa.
En definitiva, el engranaje normativo europeo, la aparición de Google MASA y, sobre todo, los crecientes ciberataques a apps y dispositivos móviles han situado a las pruebas de seguridad de aplicaciones móviles como un servicio de ciberseguridad imprescindible para las compañías que disponen de apps móviles.
Lo que está en juego es demasiado valioso como para renunciar a fortalecer la seguridad de las apps. Los móviles son dispositivos llenos de oportunidades para las personas y las empresas. Pero para disfrutar de ellas sin correr ningún riesgo, es imprescindible garantizar la seguridad de las apps móviles.