Falla de seguridad expone la información clínica de millones de pacientes en Colombia y el mundo

David Mauricio
5 min readMay 3, 2021

TL;DR

Falla de seguridad en 2 grandes clínicas en Colombia exponen la información de resultados clínicos de millones de pacientes en Colombia y el mundo. Se dieron aviso y procedieron diligentemente a tomar acciones para mitigar y/o solucionar el problema.

En el siguiente escrito quiero relatarles una situación que a los desarrolladores de software nos pasa muy seguido y es el de encontrar fallas o vulnerabilidades en sistemas ajenos.

Esta vez decidí tomar acción puesto que la información confidencial clínica de millones de pacientes estaba accesible a cualquier persona en internet. No me sorprendería que ya estuviera esta información en manos malintencionadas debido a que no se sabe desde cuándo estas fallas estuvieron presentes, sin embargo las entidades involucradas tomaron medidas de manera rápida lo cual por lo menos demuestra diligencia y entendimiento de la magnitud de dicha problemática por parte de sus directivas.

Omito los nombres de las clínicas, los proveedores, los reportes médicos accedidos y de las personas involucradas para proteger su privacidad y evitar que otras personas puedan intentar encontrar fallas adicionales en el software de dichas compañías, presumo que donde hay una falla puede haber otra más.

Qué sucedió?

El pasado miércoles 12 de mayo tuve que ir a cierta clínica a realizarme un par de exámenes clínicos para dar búsqueda a un padecimiento que tenía en ese momento. Esta clínica permitía descargar los resultados de dichos exámenes a través de una URL, y junto con mi cédula y una contraseña impresa en la factura de venta podía acceder mediante un formulario de Login a mis resultados.

Rápidamente identifiqué un pequeño antipatrón de seguridad el cual podía exponer la información de otros pacientes mediante un pequeño análisis al resultado clínico al que tenía acceso mediante mi usuario y contraseña. Al hacer dicho análisis y explotar el antipatrón logré acceder a los resultados clínicos de la persona que había sido atendida antes, y de manera sucesiva a la persona anterior.

3 resultados clínicos accedidos desde la plataforma, incluyendo el mío

De manera inmediata inspeccioné el código fuente de la página en donde se podían acceder a estos resultados intentando identificar si había alguna firma del desarrollador o empresa que desarrolla para intentar contactarlos. Finalmente encontré un script que provenía de un CDN de una multinacional de software médico con presencia en varios países alrededor del mundo. Intenté localizar un email pero solo encontré un formulario de contacto así que decidí ignorarlo y contactar directamente a la clínica para contar lo sucedido.

Qué y cómo se reportó?

Encontré rápidamente un correo de contacto de la clínica en su página web, así que les escribí el siguiente correo, es muy explícito, así que no me detendré en explicar las motivaciones de mis advertencias hacia la institución puesto que espero quien lea esto tenga una posición similar en términos de la magnitud del problema.

Correo de advertencia a la primera clínica

Pasadas 2 horas recibí una llamada de la jefe de trabajo social de la clínica, la cual me informó que habían recibido mi correo y que querían saber exactamente cuales eran mis pretensiones (Creo que tratando de confirmar que no pretendía extorsionar a la institución) a lo cual le indiqué que tal como lo escribía en el correo, si no daban solución de manera inmediata iba a recurrir a las autoridades.

La funcionaria entendió y me agradeció. En cuestión de una hora la plataforma, y hasta el momento de esta escritura, aún se encuentra apagada.

Finalmente a los 3 días recibí la siguiente comunicación de parte de el Líder del departamento de sistemas de información de la clínica.

La respuesta de la primera clínica (Unas gracias no hubieran sobrado)

Una falla adicional en una empresa aún más grande con presencia en varios países

En esta clínica no pude hacerme todos los exámenes que debía por lo que tuve que ir a otra clínica más grande para poder hacerme el examen que me hacía falta. Cuál sorpresa encontré exactamente la misma situación:

Resultados clínicos de otras personas en la segunda clínica

Por lo que procedí a ponerme en contacto con la clínica y el proveedor de este software el cual si era fácil de identificar y les hice la misma advertencia.

Copié y pegué la primera advertencia de la clínica anterior. Es increíble que tengan el mismo problema.

Esta segunda empresa procedió a llamarme inmediatamente y a pedirme una cita para demostrar en vivo y en directo el problema. Así que accedí y pretendía mostrarles por videollamada, sin ningún tipo de compromiso monetario a mostrarles cuál era la falla de seguridad.

La respuesta de el proveedor de software de la segunda clínica

Noté que en cuestión de 2 horas el problema había sido corregido, por lo que les contacté para cancelar la cita y contextualizar a los involucrados en el correo.

Finalmente no fue necesaria mi intervención y de manera grata veo que fue diligente la solución del problema sin necesidad de comprometer la disponibilidad del servicio, a diferencia de la primera clínica donde el sistema ya va a completar 1 semana sin servicio (Y lo que faltará…)

Mis impresiones y reflexión

Realmente no me desempeño como consultor en seguridad, sólo soy un desarrollador web con conocimientos de fullstack el cual me ha dado conocimiento importante para poder identificar fallas de seguridad a través del ‘exploiting’ de funcionalidades mal hechas o con riesgo a ser usadas de maneras diferentes a las que originalmente fueron diseñadas, tal como fue en esta ocasión.

No sé si mis advertencias pudieron estar un poco pasadas de tono, sin embargo considero que tales le dieron un empujón para que ambas empresas tomaran enserio y de manera diligente atendieran la situación.

Finalmente hago un llamado a mis colegas desarrolladores y otros actores del sector de TI que puedan leer este escrito a fin de que tomen las medidas necesarias para salvaguardar la información de sus clientes y de que hagan una revisión exhaustiva a la calidad de sus productos a fin de evitar futuros problemas, tales como extorsiones, demandas, sanciones o indisponibilidades en sus sistemas.

--

--

David Mauricio

Full Stack Ruby on Rails Developer. Software Engineer @ SpiderDoor LLC