Panorama de ciberseguridad en aplicaciones móviles orientadas a la banca #Tecnología

180 0

En los últimos años el sector financiero se ha beneficiado de este tipo de tecnologías enfocándose en mejorar la experiencia de sus clientes, la mayoría de entidades bancarias brindan todo tipo de asesorías, transacciones y trámites, a través de sus aplicaciones móviles. Sin embargo, los cibercriminales, quienes son personas o entidades con altos conocimientos técnicos, pueden aprovechar debilidades en el desarrollo de las soluciones tecnológicas con el fin de defraudar a la banca o a los mismos clientes. Este artículo analiza desde un punto de vista técnico la implementación de las aplicaciones móviles de cuatro bancos del país, con el fin de verificar qué tanta seguridad ofrece a los usuarios y qué tan protegido se encuentra su dinero digital.

Introducción

La industria del desarrollo de aplicaciones móviles ha aumentado progresivamente en los últimos años. La cantidad de aplicaciones móviles en las tiendas de aplicaciones principales, Play Store para Android y App Store para iOS registran un aumento considerable en el número de descargas durante los últimos años. Este incremento se debe al aumento de la cobertura mundial de internet, a la velocidad de las redes y a los procesos de desarrollo ágil.

La implementación de la tecnología 4G ha mejorado substancialmente las velocidades de carga y descarga de datos en los dispositivos móviles, a su vez, los precios de los planes ofrecidos por los proveedores de internet móvil han disminuido y la cantidad de datos ofrecidos ha aumentado. Por otra parte, los gobiernos de los países en vías de desarrollo han encontrado en la inversión de infraestructura tecnológica y telecomunicaciones, un camino para reducir la brecha de desigualdad social (Fernández, 2011).

Del mismo modo, el apogeo de las metodologías de desarrollo de software ágiles, promueven ciclos de entrega de artefactos en tiempos cortos, lo cual agiliza el proceso para las grandes productoras de software, como para aquellos emprendedores que buscan en las aplicaciones móviles su sustento. Adicionalmente las tecnologías emergentes de desarrollo híbrido aceleran el proceso de codificación y abren un abanico de oportunidades a los desarrolladores quienes no necesitan aprender los lenguajes nativos para crear aplicaciones. Existen cientos de miles de aplicaciones desarrolladas sobre frameworks híbridos como: Angular, Native Script [DAJM1], jquery Mobile, Cordova, Ionic o Xamarin, y este porcentaje crece paulatinamente, mientras se reduce la complejidad de interacción con hardware y los tiempos de renderizado.

Al día de hoy, una persona con acceso a un teléfono móvil y a una conexión internet, tiene en su dispositivo, en promedio, más de 20 aplicaciones que automatizan sus procesos de información, comunicación, entretenimiento, comercio, relaciones interpersonales y para el sector financiero. Este último se ha beneficiado fructuosamente de la tecnología móvil, ofreciendo soluciones tecnológicas a sus clientes, literalmente a un “touch”.

Es el sector financiero uno de los mayores interesados en la explotación comercial de estas tecnologías, debido a la reducción en los costes de personal y la mejora de la experiencia de sus clientes, se estima que el uso de aplicaciones móviles bancarias aumenta en un 50% anual. En Colombia, uno de los bancos más grandes afirma que, “el 68,8% de los usuarios del banco utilizan los canales digitales como medio para acceder a sus productos y servicios financieros” (Jáuregui, 2017).

Sin embargo, la tecnología tiene su precio, y es que el aumento de los canales virtuales para todo trámite financiero, propone una nueva herramienta para el fraude hacia la banca y sus clientes. Muchos proveedores de antivirus móviles recalcan el aumento de malware desarrollado para estos dispositivos, el 18% de los móviles Android con aplicaciones bancarias instaladas tienen algún tipo de malware (Hispasec, 2018).

Por esta razón es necesario que los desarrolladores de aplicaciones móviles financieras incluyan seguridad dentro todo el ciclo de desarrollo y que los bancos lideren campañas de concientización con sus clientes sobre este tipo de fraude.

Guía de verificación de seguridad

Para efectos prácticos del análisis de vulnerabilidades de seguridad sobre las aplicaciones móviles orientadas a la banca se ha utilizado la guía MASVS.

Mobile Application Security Verification Standar (MASVS) es una guía de verificación de seguridad desarrollada por OWASP, que incluye 75 controles que deberán ser evaluados sobre el cliente móvil, el canal de comunicación y su backend. Actualmente MASVS se encuentra en su versión 1.1 y contiene 3 niveles de verificación, (Seguridad estándar, Defensa en profundidad y Resistencia ante la ingeniería inversa).

El primer nivel ofrece una base sólida sobre la cual debería estar desarrollada toda aplicación, incluye controles básicos como la existencia de una política de seguridad mínima en el dispositivo móvil hasta la implementación de un canal seguro de comunicación.

El segundo nivel proporciona controles para evaluar la seguridad sobre los datos sensibles de la aplicación. Específicamente controles sobre almacenamiento seguro, comunicación segura, gestión de sesiones, autenticación biométrica, manejo de errores, entre otros.

Finalmente, el último nivel, quizá el más complejo dentro de la etapa de codificación es la resistencia a la ingeniería inversa (OWASP, 2018). Incluye controles a nivel de código ofuscado, virtualización del aplicativo, instalación en equipos con permisos de súper-usuario, y manipulación del cliente.

Dependiendo del tipo de aplicación y de los servicios ofrecidos por la misma se recomienda evaluar los diferentes niveles, por ejemplo, para una aplicación bancaria se debería evaluar el nivel 2 y el nivel 3 (L2+R)

Ejecución de la auditoría

Las pruebas realizadas sobre las aplicaciones móviles incluyen la validación de los 75 controles sugeridos en la guía MASVS. Las aplicaciones se han auditado sobre ambiente productivo, descargadas directamente desde las tiendas de aplicaciones oficiales, en modalidad caja gris, utilizando credenciales reales de los miembros del equipo. No ha sido posible validar algunos controles en su totalidad debido al acceso limitado a funcionalidades de cada cuenta.

Para la auditoría se han utilizado herramientas comerciales y libres que incluyen proxys de interceptación, de compiladores, analizadores estáticos y analizadores dinámicos.

La metodología MASVS no ofrece una métrica de evaluación del riesgo, por lo que se ha utilizado un criterio interno para cuantificar el valor de cada vulnerabilidad. Los factores utilizados son:

· Agentes de amenaza: estima la probabilidad de éxito de un ataque basado en el nivel de habilidad requerido, el motivo, la oportunidad y la dimensión.

· Vulnerabilidad: se cuantifica basado en la facilidad de descubrimiento, explotación, el conocimiento de la vulnerabilidad y su detección.

· Impacto: se mide de acuerdo al impacto directo sobre los pilares fundamentales de la seguridad informática, confidencialidad, integridad, disponibilidad.

Finalmente, la calificación permite ver un mapa de madurez de la aplicación basado en los criterios de OWASP y MASVS: administración de identidad, validación de entradas, autenticación, administración de sesión, autorización, manejo de errores, recopilación de información, cliente, lógica del negocio, configuración y criptografía.

Resultados

A continuación, se presentan los resultados de la auditoría. En primer lugar, se evidencia que todas las aplicaciones móviles auditadas contienen un SDK de protección el cual proporciona ciertos controles como, detección de virtualización, permisos de súper-usuario y suplantación de certificado. No obstante, en algunas aplicaciones fue posible evadir el SDK.

El Banco1 ofrece el nivel de madurez más alto de las 4 aplicaciones auditadas. Presenta debilidades en su canal de comunicaciones y en la divulgación de información en el cliente, esto corresponde a evidenciar, líneas de código con comentarios, después de un ataque de ingeniería inversa.

Por otra parte, el Banco4 ha sido catalogado como el más inseguro, con debilidades a nivel de manipulación de cliente, recopilación de información y autenticación.

Estos mapas se basan en la calificación obtenida por la aplicación en cada categoría, en este caso, la manipulación del cliente es teóricamente más sencilla en aplicaciones híbridas, debido a que utilizan un lenguaje interpretado como JavaScript.

Todas las aplicaciones ofrecen controles mínimos de resistencia ante la ingeniería inversa, dos de ellas están desarrolladas nativamente y dos híbridas las cuales no implementan ningún control de verificación de integridad del cliente móvil, por lo que fue posible modificar parte de su lógica, agregar fragmentos de código JavaScript malicioso y manipular sus archivos estáticos (imágenes, logos, iconos).

Como se aprecia en la Fig.4, la divulgación de información (49%) y la manipulación del cliente (52%) son las vulnerabilidades predominantes dentro de los clientes móviles, ambas producto de la ingeniería inversa realizada a los instaladores.

Por otro lado, la implementación de controles para la administración de identidad, el manejo de sesiones y el tratamiento de errores es satisfactorio.

Una de las evidencias más importantes es el control biométrico, dado que las aplicaciones que lo implementan se basan en el sistema operativo del teléfono móvil como principal mecanismo de seguridad, esto quiere decir se puede acceder a la cuenta de la aplicación bancaria con diferentes huellas digitales.

Conclusiones

Es la ingeniería inversa la amenaza predominante dentro de las aplicaciones móviles, la manipulación del cliente permite ataques de ingeniería social sobre clientes del banco que no estén familiarizados con la seguridad informática.

Otro problema es la dificultad para implementar controles anti reversing, dado que el ofuscamiento del código fuente disminuye el performance de las aplicaciones nativas. Del mismo modo para las aplicaciones híbridas la inyección de código JavaScript es una vulnerabilidad intrínseca, por consiguiente, el control debe implementase tanto a nivel de cliente como de servidor.

Es fundamental que el sector financiero lidere campañas de concientización sobre seguridad de la información para sus usuarios y el público general. Se debe educar al usuario para que no descargue e instale aplicaciones que no estén dentro de las tiendas oficiales de Android e iOS, dado que podrían estar manipuladas o contener algún tipo de malware.

Se sabe que las aplicaciones híbridas son más baratas y que tienen vulnerabilidades intrínsecas, sin embargo, la entidad financiera, dentro de sus políticas de seguridad de la información, debe exigir a sus fábricas de software la implementación de lineamientos de desarrollo seguro que cobijen todo el proceso de software.

Finalmente, se considera que las aplicaciones móviles ofrecidas por el sector financiero en Colombia ofrecen un nivel de seguridad aceptable. Las vulnerabilidades encontradas no afectan el negocio, ni las transacciones, pero sí a los usuarios con una conciencia de seguridad informática nula.

Related Post