Gestión de datos de laboratorios (LIMS) y sus aplicaciones móviles

Carlos Ávila    14 enero, 2021
Gestión de datos de laboratorios (LIMS) y sus aplicaciones móviles

Para los científicos e investigadores la optimización del tiempo en un laboratorio en la actualidad juega un papel fundamental para procesar y emitir resultados. Existen aplicaciones que tienen capacidades especializadas para laboratorios de I+D, laboratorios de desarrollo y fabricación de procesos o laboratorios bioanalíticos. Este tipo de software en muchos casos es encargado del tratamiento de datos patológicos, procesos de fabricación, gestión de muestras, datos personales, resultados clínicos, procesos químicos, formulas de experimentos “secretos”, intercambio de datos electrónicos, etc. Con lo cual, este tipo de información es un atractivo para los ciberdelincuentes como en cualquier otra industria de hoy en día.

Las plataformas LIMS (Laboratory Information Management System, por sus siglas en inglés), conocidas también como LIS, son un tipo de software diseñado para mejorar la productividad y la eficiencia de los laboratorios actuales. Estas aplicaciones permiten realizar un seguimiento de los datos asociados con muestras, experimentos, flujos de trabajo de los laboratorios e instrumentos.

La arquitectura y despliegue de este tipo de plataformas está presente en varios modelos, entre los principales están ‘thick-client’ y ‘thin-client’, clientes que se ejecutan desde cualquier estación de trabajo, entornos web, aplicaciones móviles y los entornos Cloud y SaaS, que permiten a los usuarios de estos sistemas conectarse a los servidores donde se albergan las funcionalidades y los datos del core de LIMS. En este articulo haremos una aproximación al estado de la seguridad de las aplicaciones móviles que son parte de la plataforma integral de un LIMS proporcionadas por los fabricantes. 

Analizando aplicaciones móviles LIMS

Hemos seleccionado la última versión de 24 aplicaciones (iOS/Android) donde los usuarios pueden interactuar con una arquitectura LIMS desplegada en una organización y ejecutar las tareas correspondientes. Dentro de este muestreo de aplicaciones nos enfocamos en analizar de manera general únicamente la aplicación móvil. Para esta revisión utilizamos un dispositivo Android (rooteado), iPhone (sin jailbreak) y nuestras plataformas mASAPP (análisis de seguridad continuo de aplicaciones móviles) y Tacyt (herramienta de ciberinteligencia de amenazas móviles).

Los principales controles de seguridad del Top 10 Mobile de OWASP fueron considerados para esta revisión. Los mismos, que solo representan un vistazo general, de una cantidad de pruebas que en detalle y de manera exhaustiva se podrían realizar. Los resultados demostraron que, si bien se han implementados controles de seguridad para el desarrollo de este tipo de aplicaciones, se encontraron varias debilidades que deberían corregirse y sobre todo mantener la mejora continua en el proceso de desarrollo.

Las vulnerabilidades encontradas conforme a los controles evaluados se encuentran en la siguiente matriz de resumen:

Sumario general de resultados controles analizados
(-) Característica que aplica solo en plataformas Android

Debilidades encontradas

A continuación, queremos destacar varias debilidades que encontramos en estructuras fácilmente legibles entre archivos XML, API Keys o de configuración, lo que denota una mala práctica en cuanto almacenamiento local inseguro.

Imagen 1: Archivos de Certificados / Key Hardcoded
Imagen 2: Archivos con API Keys Legibles
Imagen 3: API Keys Hardcoded en código fuente

Si bien una gran parte de estas aplicaciones establecen canales de comunicación seguros (HTTPS) con sus backends como muestra nuestro cuadro de resultados, siguen funcionando algunos canales HTTP no cifrados, aplicaciones sin verificar autenticidad de certificados, certificados autofirmados o aplicación de métodos para mejorar la seguridad en este aspecto.

Imagen 4: Uso de canales HTTP (inseguros) hacia el backend

Así mismo, entre las practicas inseguras de programación de aplicaciones, continuamos observando la falta de características de ofuscación de código (despersonalización) para dificultar el proceso de reversing, eliminar archivos obsoletos o de pruebas, no usar funciones o APIs deprecadas, no utilizar funciones de debug o logging en aplicaciones productivas o comentarios muy descriptivos en el código. Características que incluyen la mayoría de guías de practicas segura de desarrollo.

Imagen 5: Revisión de clases luego de proceso de decompilar dlls
Imagen 6: Archivos para test almacenados en la App
Imagen 7: Uso inseguro para transmisión de credenciales (base64)
Imagen 8: Funciones de debug/logging utilizadas

Conclusiones

Las aplicaciones móviles han beneficiado al monitoreo y automatización de procesos de los laboratorios, donde se pueden destacar funcionalidades como ubicación y seguimiento de muestras, inventarios, integración con instrumentos y otras plataformas, optimización de flujos de trabajo y muchas más. Sin embargo, no debemos dejar de lado los desafíos asociados a los controles de seguridad que en este tipo de aplicaciones requieren una consideración cuidadosa por parte de los diseñadores de equipos, los desarrolladores de software y sistemas de control, así como una buena concienciación de los usuarios que las usan.

Los negocios de las empresas de la llamada ‘bioeconomia’ y sus laboratorios del futuro se están enfrentando de los riesgos informáticos asociados a fallos de seguridad que puedan aprovechar los ciberdelicuentes para obtener réditos dentro de la industria del cibercrimen. En el otro lado de la moneda estamos los investigadores, las organizaciones, fabricantes y la comunidad que intentamos aportar seguridad a este “nuevo” ecosistema.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *