¿Qué pasa cuando las tendencias van en contra de la seguridad y/o rendimiento?

Es común que con los cambios generacionales o simplemente con la gran velocidad con la que cambia la tecnología, existan ciertas tendencias que permiten mejorar la usabilidad y visión del mundo tecnológico, de hecho es una de las grandes ventajas que tiene este interesante riel imaginario que nos lleva al crecimiento tecnológico, sin embargo en algunas ocasiones, ciertas tendencias nos llevan a tener un pequeño retroceso o no contemplan todos los alcances que se han tenido anteriormente.

A continuación enumero algunos de los elementos que bajo mi experiencia en arquitectura de soluciones y arquitectura de seguridad son gran tendencia y olvidan ciertas necesidades de seguridad o rendimiento, cabe mencionar que no es una lista exahustiva ni tampoco aplica siempre, pero si es que no eres experto en tecnología y no sabes si es que estas en alguno de los casos descritos o requieres ayuda para detectar otros patrones, con gusto, en olaguibert.com podemos ayudarte.

  • Desarrollo de aplicaciones web basadas en microservicios y no contemplar una sesión aplicativa.
    En este caso La tendencia tecnológica nos ha llevado a entornos elásticos y muy buenos en términos de reusabilidad y escalabilidad, sin embargo muchas veces se olvidan que las aplicaciones, en la mayoría de los casos requieren de flujos funcionales completos, que permitan ser seguros durante todo el flujo y no sólo en el inicio del mismo. En este entendido el desarrollar aplicaciones orientadas 100% a APIs sin estado suele ser un problema, ya que no se permite mantener una sesión entre cliente y servidor, lo que nos lleva a utilizar mecanismos alternos como pasos de tokens de manera programática, olvidándonos de algo llamado «cookies» que han evolucionado durante décadas para ser seguras en la navegación web.
  • Olvidar el robo de sesión
    En el mismo escenario del anterior, algunos casos no olvidamos que necesitamos una sesión, sin embargo mantenemos la misma de manera programática, olvidándonos de las funciones de un servidor que puede realizar estas acciones de una forma mucho más eficiente y segura. En este caso no utilizar las cookies puede generar que la sesión pueda robarse mediante XSS o incluso por paso de parámetros en gateways, recordemos que las tecnologías no por ser «viejas» necesariamente significa que son malas.
  • Problemas de rendimiento por uso de APIs sin estado
    El contar con APIs sin estado es una tendencia del mercado muy marcada y en muchos de los casos benéfica en integraciones con terceros, pero ¿Qué pasa en aplicaciones propias?
    Muchas veces olvidamos que en flujos aplicativos contemplar el ciclo de vida de la información, puede llevarnos a tener grandes optimizaciones, un claro ejemplo sería, cuando requerimos de un catálogo de códigos postales, cuando hacemos uso de APIs sin estado, por definición, por cada petición se requiere consultar y/o transmitir la información, sin embargo en una aplicación este tipo de catálogos sólo podría cargarse una vez ya que esta información no cambia por usuario, y tampoco en cortos periodos de tiempo, por lo que hacer uso de estas APIs sin un correcto análisis nos lleva a generar sobrecargas en servicios o servidores, aumentando innecesariamente los costos.
  • Manejo de almacenamiento en local
    La tecnología nos ha dado muchas ventajas entre ellas, la capacidad de desarrollar aplicaciones en navegador (RIA) con prácticamente todas las capacidades de una aplicaciones de escritorio si así lo quisiéramos, sin embargo las tendencias a veces nos hacen olvidarnos de la seguridad de la información. Las tendencias por optimizar, mejorar respuestas o hacer sentir al usuario que no hay retardos en nuestra aplicación, nos lleva a almacenar mucha información sensible en el «local storage», y aunque la seguridad en este almacenamiento ha mejorado desde su nacimiento, no deja de ser un lugar de fácil explotación y tan heterogénea como usuarios hay.

Éstos son sólo algunas de las tendencias que por experiencia suelen ir en contra de la seguridad o rendimiento, pero no son todas las que conocemos ni las que existen.