Seguridad y disponibilidad de servicios digitales: el diablo está en los detalles
Cada vez aparecen nuevas y más potentes herramientas. Pero aún no son la panacea.
Tal como sucedía cuando empecé mi carrera profesional siendo desarrolladora, el uso de frameworks que te abstraen de lo que ocurre tras bambalinas a veces te lleva a generar bugs, sobre todo, si no tienes la experiencia para saberlo.
Estos errores son evitables y afectan los servicios que ofrecemos. Ese impacto será mayor mientras más alcance tengamos y mayor será el nivel de problemas que estos ‘horrores’ provoquen.
En los últimos dos años hemos sido testigos de bugs básicos, desde ordenamientos de datos mal hechos (el típico Query sin un Order by adecuado) hasta problemas con links que no llevan a ningún lugar.
El que esté libre de pecado que lance la primera piedra.
Pero cuando el servicio escala y llegamos a más personas, aparecen nuevos desafíos.
La alta disponibilidad, la seguridad, la gobernanza y nuestra respuesta frente a los fallos — porque recordemos que hasta Amazon y Google se caen y a todos nos duele — son parte de esos ‘detalles’ que debemos tener en cuenta.
En esta reflexión quiero detenerme a analizar los problemas en seguridad y disponibilidad
Seguridad
Para quienes diseñamos e implementamos tecnología, este punto es clave. La información debe estar protegida, pero muchas veces se nos pasa.
Razones explican esta omisión:
- A veces, la legislación no está al día y las nuevas tecnologías evolucionan mas rápidamente, ¡Queremos usarlas! Pero no sabemos si son seguras 🤔, ¡No importa todos las están usando! 😎
- Decidimos ahorrar costos y no hacer pruebas, al extremo de no testear (lo barato cuesta caro, cuanta verdad hay en esto)
- No consideramos la seguridad como parte del desafío que tenemos
La seguridad debería ser tema en nuestros equipos. Siempre.
Preguntas que sirven para ponderar su prioridad:
- ¿Pasa algo si cualquiera puede acceder a los datos?
- Si doy acceso, ¿podría alguien llegar a información sensible que no debería estar disponible?
Si la respuesta es no a las dos cuestiones, podemos hacer una implementación simple. No sucederá nada si alguien descarga esa data (pero por favor no nos olvidemos que a través de esto podríamos llegar a otra información que no está protegida y si es malo que cualquiera la acceda)
Pero si estamos regulados o surgen problemas al tener abiertas las puertas de nuestros servicios y, con ello, permitimos el acceso a la información que contienen, ¿qué debemos proteger y qué no?
Este dilema ocurre en todas las industrias, pero tengo un ejemplo fresquito en salud.
Hace unas semanas los canales digitales de EPS Sanitas Colombia sufrieron un ataque y la información confidencial quedó expuesta.
¿Está bien que los datos de identificación de un paciente, cuánto ha gastado en tratamiento y su diagnóstico sean conocidos por todos?
El equipo de emergencias cibernéticas de Colombia salió a dar apoyo ante la contingencia, pero el daño quedó hecho.
¿Nuestros equipos conversan acerca de la seguridad de los servicios desarrollan?
Esa es la pregunta fundamental. Aunque sea difícil.
Y no solo debe preocupar a los líderes técnicos, arquitectos o desarrolladores. También tiene que ser tema para diseñadores, certificadores y líderes de los productos que implementamos.
Disponibilidad
Cuando llegamos a millones de personas y estas reciben un servicio de forma constante, el impacto de estar offline es enorme.
Sigamos con el caso de la EPS Sanitas Colombia, donde millones de personas no pudieron agendar citas médicas o exámenes durante la semana del 20 de diciembre.
Es lógico decir que diseñamos servicios pensando en que estarán disponibles, pero debemos reflexionar qué pasa con las fallas, cuál es su impacto, cómo responder a la contingencia y qué nivel de oferta podemos entregar para no quedarnos sin servicios.
Pensar en esto es responsabilidad de todos quienes diseñamos e implementamos tecnología.
Y es crítico en Salud, porque nuestros usuarios — los pacientes — se encuentran en un estado anímico sensible y las consecuencias de no atenderlos pueden ser graves.
Acá no se trata de quedarnos abajo de la oferta en un CiberMonday. Es más importante. Está la salud de las personas en juego.
Mucho se habla de las nuevas tendencias en tecnología, de crear aplicaciones sin siquiera haber estudiado Ingeniería en Informática. Sin embargo, existen detalles técnicos que no pueden pasar desapercibidos a la hora de implementar servicios y escalar. Debemos tener una mirada crítica, involucrarnos más allá de lo técnico y abrazar la curiosidad por lo que ocurre tras bambalinas, superando lo que el framework que usamos nos deja ver.
Porque, como siempre, el diablo está en los pequeños, pero grandes detalles.
Gracias por llegar hasta acá y por favor, no te olvides de la seguridad y la disponibilidad de los servicios digitales. Tus pacientes lo agradecerán.