La importancia de realizar auditorías de seguridad en aplicaciones móviles

La importancia de realizar auditorías de seguridad en aplicaciones móviles

1000 667 Jaime Caraza Luis

El avance de las tecnologías móviles, junto con la falta de conocimiento y concienciación en materia de seguridad por parte de los usuarios, ha provocado que cada vez más ataques se centren en explotar las vulnerabilidades de las aplicaciones móviles. Es por ello que la seguridad de estas aplicaciones ha adquirido una importancia fundamental para proteger los datos de los usuarios. La realización de auditorías de seguridad se ha convertido en una fase imprescindible a lo largo del ciclo de desarrollo de cualquier aplicación.

En los últimos años el uso de los teléfonos móviles ha incrementado fuertemente y las estadísticas señalan que el tráfico global de datos móviles crecerá un 573,24% entre 2017 y 20221. Enviar mensajes a través de redes sociales, consultar el correo, navegar por Internet, usar el GPS, hacer la compra, controlar la domótica de casa, o realizar transferencias bancarias son acciones que se pueden realizar desde un dispositivo móvil. El uso de dispositivos móviles está sustituyendo al uso de ordenadores y portátiles. Tanto, que se estima que casi el 80% del uso de Internet en 2018 se realizó a través de móviles2.

En la tecnología móvil se distinguen tres potenciales vectores de ataque: el sistema operativo, la red y las aplicaciones. Las amenazas a los sistemas operativos se dividen a su vez en amenazas a dispositivos Android y amenazas a dispositivos iOS. Cada uno de estos sistemas operativos cuenta con vulnerabilidades que pueden ser explotadas de forma local o remota. En cuanto a las amenazas de red, los atacantes pueden utilizar malware o ingeniería social para encaminar todo el tráfico de un dispositivo a través de un proxy controlado, pudiendo inspeccionar todos los datos enviados a través del mismo. Finalmente las aplicaciones suponen otro vector de ataque en la tecnología móvil debido a la falta de seguridad en las mismas, o a la instalación de aplicaciones con malware, las cuales suponen un riesgo innegable para los usuarios.

De estos tres vectores de ataque, el de las aplicaciones es el que mayor crecimiento ha tenido, siendo el objetivo de la mayoría de los atacantes. A todo esto se añade el número de aplicaciones que aumentan año a año y con ello, el número de descargas, con una previsión de 160 billones de descargas en 20233. Adicionalmente, hasta la fecha, los desarrolladores han priorizado la funcionalidad y usabilidad de las aplicaciones frente a su seguridad, dando lugar a aplicaciones con las que se pueden realizar diversas operaciones pero con grandes brechas de seguridad.

La falta de concienciación entre los usuarios es otro punto clave que aprovechan los atacantes. Mantener contraseñas por defecto o establecer contraseñas y configuraciones inseguras permite a los atacantes saltarse las capas de seguridad de las aplicaciones para infectar los dispositivos o robar datos de los usuarios.

Por todo lo anterior, las auditorías de seguridad son imprescindibles para desarrollar aplicaciones seguras y disminuir tanto la probabilidad de recibir un ataque como el impacto que tendría un ataque exitoso. Poco a poco las organizaciones van tomando conciencia y  cada vez son más las aplicaciones que se someten a auditorías de seguridad.

Pero, ¿en qué consiste una auditoría de seguridad de una aplicación móvil?

Las auditorías de aplicaciones móviles permiten conocer el estado de seguridad de una aplicación y su nivel de riesgo. Los auditores de seguridad analizan la aplicación móvil con el fin de detectar vulnerabilidades y proponer soluciones para corregirlas.

Son seis las principales áreas en las que se divide una auditoría de seguridad móvil4:

  • Almacenamiento local de datos: La protección de datos sensibles como credenciales de usuarios e información sensible almacenada tanto localmente como en la nube es crucial en la seguridad móvil, donde la pérdida o robo de un dispositivo es más habitual que en otros dispositivos.
  • Comunicaciones con endpoints: Un requisito básico de las aplicaciones móviles es establecer canales de comunicación encriptados a través de TLS para intercambiar información a través de la red.
  • Autenticación y autorización: Los auditores de seguridad deben conocer las ventajas y desventajas de los diferentes frameworks y arquitecturas de autenticación.
  • Interacción con la plataforma móvil: La interacción entre las aplicaciones y los sistemas operativos se debe realizar de forma segura, concediendo los mínimos permisos al sistema para acceder a determinadas APIs.
  • Calidad del código: A pesar de que las aplicaciones móviles no son tan vulnerables a ataques de tipo Cross-Site Scripting, los programadores deben seguir una guía de buenas prácticas para desarrollar un código seguro.
  • Mecanismos contra la manipulación y la ingeniería inversa: Aunque es recomendable implementar mecanismos de ofuscación del código, estos no deben sustituir a otros mecanismos de seguridad.

Tipos de auditorías de seguridad móvil

En una auditoría de una aplicación móvil, al igual que en una auditoría de aplicación web, se distinguen dos tipos: estáticas y dinámicas.

  • En las auditorías de seguridad estática se realiza una revisión del código de la aplicación sin que este se esté ejecutando. A través de los paquetes de instalación de las aplicaciones (APK para Android e IPA para iOS) se realiza un desempaquetado y decompilado de la aplicación con el fin de acceder al código fuente y a los ficheros de configuración de la aplicación. Los auditores de seguridad analizan tanto el código como los ficheros de configuración en búsqueda de funciones y configuraciones inseguras, nombres de usuario y contraseñas, y cualquier tipo de información que pueda ser utilizada por un atacante.
  • En las auditorías de seguridad dinámica se analiza la aplicación en ejecución. Estas pruebas permiten analizar el tráfico generado, la seguridad en la transmisión de datos, el almacenamiento de datos de la aplicación o cómo interactúa la aplicación con el dispositivo.

Es recomendable que en una auditoría de seguridad de una aplicación móvil se hagan tanto pruebas estáticas como dinámicas ya que en ocasiones, los resultados de las pruebas estáticas y dinámicas difieren, por lo que realizar ambas permite a los auditores tener unos resultados más completos y fiables.

Principales amenazas

La metodología más ampliamente conocida y utilizada para realizar auditorías de seguridad de aplicaciones móviles es la metodología OWASP Mobile Security Project, y en particular, las guías OWASP Mobile Security Testing Guide Versión 1, OWASP Mobile Application Security Verification Standard Versión 1 y OWASP Mobile Top 10 – 2016. Esta última propone los 10 riesgos de seguridad más importantes a los que se enfrentan las aplicaciones móviles5:

Código Riesgo
M1 Uso inapropiado de la plataforma
M2 Almacenamiento inseguro de datos
M3 Comunicación insegura
M4 Autenticación insegura
M5 Insuficiente criptografía
M6 Autorización insegura
M7 Calidad del código
M8 Modificación del código
M9 Ingeniería inversa
M10 Funcionalidad superflua

Conclusión

Una aplicación debe verse como un triángulo con tres vértices: funcionabilidad, usabilidad y seguridad; en el que cada vértice influye directamente en los otros dos. Es por esto que no se debe priorizar la funcionabilidad o usabilidad, ya que comprometería la seguridad de la aplicación. Las auditorías de aplicaciones móviles tienen un papel fundamental en su seguridad, ya que permiten descubrir sus vulnerabilidades con el fin de que los desarrolladores implementen las medidas oportunas para mantener la seguridad de la aplicación en un nivel de riesgo aceptable.

Referencias

1 – https://techjury.net/stats-about/mobile-vs-desktop-usage/

2 – https://www.statista.com/statistics/271405/global-mobile-data-traffic-forecast/

3 – https://www.statista.com/statistics/1010716/apple-app-store-google-play-app-downloads-forecast/

4 – https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide

5 – https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10