(In)Seguridad en Aplicaciones Móviles PACS/DICOMElevenPaths 1 marzo, 2018 Con frecuencia nos hacemos análisis médicos. Toda la información que se produce como resultado tras estas pruebas, es almacenada en alguna infraestructura tecnológica de una empresa o en la nube, para luego ser utilizada por el médico y realizar un diagnostico, o por el usuario (paciente) para revisarla desde la palma de su mano. Acerca de esto, hemos estado revisando en otras entradas, sistemas de almacenamiento y transmisión de información médica y radiológica (PACS) y hemos evidenciado cómo ciertas vulnerabilidades pondrían en riesgo la información médica y análisis radiológicos de los usuarios. Aplicaciones móviles para comunicación con Servidores PACS Además de los servidores y servicios publicados sobre los que ya hemos hablado anteriormente, hemos observado un crecimiento de aplicaciones móviles para que los usuarios consulten desde sus tables o sus smartphones los datos médicos personales. Por ello, hemos partido de la misma pregunta: ¿Podría estar esta información en riesgo por alguna falla de seguridad informática? Muchas de estas aplicaciones tienen comunicación directa con internet mediante dispositivos y sistemas de la infraestructura interna tecnológica de servicios médicos, un vector de ataque adicional para las mismas… Descripciones mostradas en aplicaciones PACS/DICOM Mobile Viewer En este análisis hemos seleccionado la última versión de 35 aplicaciones (iOS/Android) visores DICOM o de conexión hacia servidores PACS, que evidenciamos como los más conocidos y tienen mayor cantidad de descargas en Apple Store y Google Play. Dentro de este muestreo de aplicaciones nos enfocamos en analizar únicamente las aplicaciones móvil, ya que a pesar de que se descubrieron debilidades del lado del servidor (backend), no han sido incluidas en este post. Para esta revisión utilizamos un dispositivo Android (rooteado), IPhone 5S (no jailbreak) y nuestra plataforma de análisis de seguridad continuo de aplicaciones móviles mASAPP. En base a los controles de seguridad del Top 10 Mobile de OWASP se realizaron pruebas a nivel macro, que solo representan un análisis general de las pruebas exhaustivas que se podrían realizar a las aplicaciones móviles, pero que estaban fuera del alcance de este análisis. Top 10 Mobile Risks OWASP Como puede verse en la siguiente imagen, los resultados demostraron que para el desarrollo de este tipo de aplicaciones la seguridad no ha sido una prioridad. Resumen General de Resultados Almacenamiento inseguro y privacidad (M2) En 18 aplicaciones Android hemos encontrado cuentas de correo electrónico de usuarios en la metadata de las apps e incluso cuentas de correo de los desarrolladores que han sido comprometidas en brechas de datos en servicios de internet. Correo de desarrollador comprometido en una brecha de datos en servicios de Internet Usuarios y contraseñas almenas en SQLite en texto plano, además de estructuras fácilmente legibles, nos denota otra mala práctica en cuanto almacenamiento local inseguro. En otros casos, nos encontramos con los passcode o pins como control de acceso en las aplicaciones, almacenados en archivos XML (XD). Bases de Datos SQLite con estructuras que almacenan contraseñas en texto plano Almacenamiento de Clave en Texto-Plan «PassCode» para acceder a la aplicación Archivo de Certificado/Key Hardcodeado en App iOS Comunicación, autenticación y cifrado (M3 – M4 – M5) Diez de las aplicaciones analizadas establecen canales HTTP no cifrados, mientras una gran parte de aplicaciones usan comunicación HTTPS con certificados autofirmados y no verifican la autenticidad del certificado digital (por ej. Métodos Certificate Pinning). Esto facilitaría a un atacante generar ataques MiTM (Main-in-the-Middle). Aplicación que alerta de Certificado Falso Uso de Certificados Auto firmados Uso de Canal HTTP para comunicación Aplicaciones que tienen “opcional” el uso de HTTPS Usando base64 para «cifrar» contraseñas Vulnerabilidades por falta de validación de datos (M7) Entre los principales hallazgos, seguimos encontrando vulnerabilidades de tipo Inyección SQL y XSS (Cross Site Scripting). En el caso particular de XSS, hemos encontrado esta vulnerabilidad en 11 aplicaciones dado que se encuentra activado en las “Webviews” para que puedan ejecutar código Javascript o a su vez agregar librerías HTML. Vulnerabilidades de XSS que permite ataques a usuarios finales de la App Otras de las malas prácticas que pudimos observar en esta categoría, es el uso o generación de funciones para ejecución de comandos desde la aplicación. Ejecución de comandos desde la aplicación Información sensible “Harcodeada” y ofuscación (M9) Las 20 aplicaciones Android se pueden descargar y modificar de manera arbitraria. Se puede obtener de manera legible las clases de JAVA de las aplicaciones porque no mantienen ninguna característica de ofuscación de código (despersonalización) para dificultar el proceso de reversing. Revisión de clases JAVA después del proceso de reversing Archivos JKS & Google API Keys “hardcoded” Esperamos que toda esta información sirva para ayudar a desarrolladores y que la industria continúe mejorando en aspectos de seguridad; ya que como vemos, al involucrar nuevas tecnologías a sectores “tradicionales”, también se pueden heredar malas prácticas que conllevan a mejorar y revisar nuevos vectores de buscan los atacantes. Los investigadores y entusiastas de la ciberseguridad día a día buscamos fallos de seguridad en esta industria y creo que aún faltan muchos por explorar; sistemas de resultados de exámenes, registros médicos en la nube, más servicios radiológicos, dispositivos embebidos (firmware) y componentes del sector de la salud que necesitan ser evaluados profundamente, ya que juegan un papel fundamental en la vida diaria de cada uno de nosotros. Carlos Avila Chief Security Ambassador @badboy_nt carlos.avila@global.11paths.com La importancia del Big Data en la CiberseguridadVentajas de la virtualización del puesto de trabajo: el ejemplo de las tiendas Movistar
Carlos Rebato Criptografía, una herramienta para proteger los datos compartidos en la red Actualmente, la Ciberseguridad representa un aspecto primordial en las empresas. No obstante, cada día surgen nuevos modos de atentar contra ella. Muchos se han preguntado: ¿de qué manera las...
Roberto García Esteban ChatGPT y Cloud Computing: un matrimonio bien avenido ChatGPT (quizá no sepas que son las siglas de Chat Generative Pre-Trained Transformer) está en boca de todos por su impresionante habilidad para generar textos que parecen escritos por...
David Prieto Marqués La importancia del control de acceso: ¿está tu empresa protegida? Por David Prieto y Rodrigo Rojas En un mundo cada vez más digitalizado y complejo, la seguridad de la información es fundamental para las empresas. A medida que las empresas...
Telefónica Tech Boletín semanal de Ciberseguridad, 22 – 26 de mayo GitLab parchea una vulnerabilidad crítica GitLab ha abordado una vulnerabilidad crítica que afecta a GitLab Community Edition (CE) y Enterprise Edition (EE) en la versión 16.0.0. En concreto, dicho fallo...
David García ¿Salvará Rust el mundo? (II) Segunda entrega en la que descubrimos cómo Rust, el lenguaje de programación de código abierto centrado en la seguridad, mejora el panorama en cuanto a vulnerabilidades basadas en errores...
Sergio de los Santos Cuatro hitos en Ciberseguridad que marcaron el futuro del malware Un recorrido por los 15 años que ha dedicado Microsoft para consolidar una estrategia que ha repercutido en la Ciberseguridad a nivel global