4 riesgos comunes de seguridad de aplicaciones móviles que no debe ignorar

Después de realizar evaluaciones de seguridad independientes durante más de dos décadas, he escuchado casi todas las excusas de por qué un activo de TI en particular no necesita una evaluación. Las personas suelen basar las excusas en una suposición como: «La aplicación no es crítica porque no procesa ni almacena información confidencial». Cuando se trata de aplicaciones móviles, no salte a esa conclusión demasiado rápido. Las aplicaciones móviles utilizadas por sus clientes, trabajadores y socios generan, almacenan y transmiten información personal y confidencial de maneras que no siempre son obvias. Debe probar cualquier suposición que haga sobre la seguridad de una aplicación móvil desde la perspectiva de un atacante para eliminar una serie de riesgos comunes de seguridad de la aplicación móvil.

Las aplicaciones móviles han reemplazado a los modelos tradicionales de cliente/servidor y ahora la gente pasa más tiempo usando aplicaciones móviles y dispositivos (51 por ciento del tiempo) que computadoras de escritorio o portátiles (42 por ciento del tiempo) u otros dispositivos conectados (7 por ciento del tiempo). Los flujos de trabajo de las aplicaciones móviles son complejos y los datos que manejan son confidenciales. Los riesgos son altos, posiblemente más altos que en cualquier otro medio de aplicación dado que los dispositivos móviles se pierden o son robados fácilmente. Además, debido a que los sistemas móviles a menudo no se bloquean de la misma manera que las estaciones de trabajo de organizaciones tradicionales, son aún más susceptibles al abuso. Es la tormenta perfecta de BYOD, TI en la sombra y la falta de visibilidad en el entorno de red/aplicación lo que genera un riesgo considerable para la organización.

Riesgos comunes de seguridad de las aplicaciones móviles

Encuentro muchas vulnerabilidades de seguridad cuando realizo evaluaciones de aplicaciones móviles. Algunos, como los siguientes, tienden a ser predecibles y, por lo tanto, deberían estar en su radar.

Sesiones de comunicación de red que no están cifradas o que se ejecutan a través de SSL y cifrados de cifrado que se sabe que están en riesgo: Los datos confidenciales que viajan a través de la red de un operador de telefonía móvil, Wi-Fi e Internet corren el riesgo de quedar expuestos. Por ejemplo, una persona malintencionada puede interceptar datos móviles al espiar el tráfico de Wi-Fi. Para mitigar este riesgo, asegúrese de que todas las conexiones entre su aplicación y otros servicios estén encriptadas correctamente. Eso incluye el uso de SSL/TLS, asegurándose de que la aplicación solo acepte certificados válidos que usen un cifrado fuerte, no acepte certificados autofirmados y, en muchos casos, implemente la fijación de certificados.

Requisitos y cumplimiento de contraseña débiles, falta de tiempos de espera de sesión de usuario y bloqueo después de una cierta cantidad de intentos fallidos de inicio de sesión: Si los mecanismos de autenticación del usuario dentro de la aplicación móvil son débiles o no existen, una persona malintencionada puede falsificar la autenticación en el backend de la aplicación sin necesidad de manipular la aplicación en sí. La autenticación débil puede exponer a sus usuarios y aumentar el riesgo de transacciones fraudulentas.

En un borrador de sus pautas de identidad digital, el Instituto Nacional de Estándares y Tecnología (NIST) recomienda que las contraseñas tengan al menos ocho caracteres y alienta a los usuarios a crear contraseñas tan largas como quieran. Dependiendo de la sensibilidad de las acciones que los usuarios pueden realizar usando su aplicación móvil, considere implementar también la autenticación de dos factores.

Finalmente, para evitar el acceso no autorizado a los datos de la aplicación en caso de pérdida o robo del dispositivo:

  • Bloquee una cuenta después de una cierta cantidad de intentos fallidos de inicio de sesión para evitar ataques de fuerza bruta
  • Finalice las sesiones activas de la aplicación después de un período de inactividad y solicite al usuario que vuelva a iniciar sesión

Validación de entrada deficiente que permite a los usuarios (y atacantes) inyectar comandos legítimos y basura aleatoria en los campos de entrada: Un actor malicioso puede explotar la falta de validación de entrada o la deficiente para ejecutar la inyección SQL, la inyección de comandos y otros ataques. Puede evitar este tipo de ataques en el backend de su aplicación móvil al validar la entrada de la aplicación y el usuario antes de la transmisión del cliente al host y durante la recepción.

Artefactos confidenciales como las credenciales de inicio de sesión almacenadas de forma no segura, que nunca se limpian y quedan vulnerables: Es mejor asumir que cualquier dato que su aplicación escriba en un dispositivo es recuperable. Entonces, a menos que sea absolutamente necesario, simplemente evite almacenar o almacenar datos en caché. Además, asegúrese de verificar si su aplicación almacena datos en lugares que no conoce, como archivos de registro y depuración, cookies, historial web, caché web, listas de propiedades, bases de datos SQLite y otros lugares. En su mayor parte, necesita saber qué datos está almacenando su aplicación, si es necesario almacenar esos datos (si no es así, deje de almacenarlos) y que cualquier dato que absolutamente deba almacenar se almacene de forma segura.

Modelado de amenazas de seguridad de aplicaciones móviles

Incluso cuando la información confidencial, per se, no es procesada ni almacenada por estas aplicaciones móviles, aún existe el riesgo de que los usuarios reutilicen las credenciales, lo que aumenta el riesgo de acceso no autorizado o exposición de otros sistemas. En un nivel superior, los metadatos generados, almacenados o transmitidos por un dispositivo móvil o una aplicación pueden proporcionar a un atacante un reconocimiento que conduce a otros sistemas de organización y relaciones con terceros que pueden explotarse aún más.

Los escenarios de amenazas son infinitos. Además, también debe considerar los riesgos de daño a su marca y reputación (y otros intangibles) en caso de que su aplicación móvil sea víctima de un ataque como resultado de uno de estos tipos de fallas.

Al evaluar la seguridad de una aplicación móvil, el análisis del código fuente puede ayudar (y siempre lo aconsejo). Tenga en cuenta que ninguna de las debilidades enumeradas anteriormente es particularmente astuta o difícil de encontrar. Basta con echar un vistazo a cualquier número de Ejemplos de vulnerabilidades de seguridad de tipo «fruta madura» sobre las que he escrito en el pasado. Muchas de las vulnerabilidades enumeradas anteriormente solo salen a la luz como resultado de examinar el comportamiento de la aplicación durante el tiempo de ejecución. Una evaluación integral de la seguridad de una aplicación móvil debe incluir tanto un análisis estático (evaluación del código en un entorno que no sea de tiempo de ejecución) como un análisis dinámico (análisis de la aplicación tal como funciona durante el tiempo de ejecución).

¿Qué causa estas debilidades comunes en la seguridad de las aplicaciones móviles?

Desde mi experiencia, estas debilidades generalmente se introducen en la genética y la implementación de la aplicación móvil a través de definiciones de requisitos deficientes, modelos de amenazas débiles y pruebas de seguridad no continuas. Ninguna organización, independientemente de su tamaño, industria o nivel de madurez de seguridad, es inmune a estas fallas de las aplicaciones móviles.

Recuerde, necesita probar sus suposiciones. No asuma que alguien más se ocupará de estos problemas de seguridad. Y no ignore estos riesgos comunes de seguridad de las aplicaciones móviles simplemente porque las personas no preguntan por ellos o porque los contratos o las regulaciones no exigen abordarlos. Los riesgos están ahí. Es solo cuestión de tiempo antes de que salgan a la superficie. Querrás asegurarte de encontrarlos antes de que alguien más lo haga.

Deja un comentario