Sinopsis

MNEMO-CERT presenta un caso de estudio sobre una tecnología ampliamente utilizada por las entidades financieras como parte de la digitalización de sus servicios: los Servidores de Aplicaciones Web; resaltando las repercusiones que tiene una postura que omite la implementación y/o mejora de los controles de ciberseguridad en los entornos tecnológicos productivos que soportan los servicios digitales.

Introducción

En los últimos años los entornos de operación de las entidades financieras han aumentado su complejidad debido a la evolución de los servicios financieros, que han demandado la creación e integración de un gran número de servicios digitales. Este incremento está relacionado con la inclusión de diversos elementos tecnológicos y humanos necesarios para el correcto funcionamiento y gestión de dichos servicios. Lo anterior se ve acentuado por la celeridad con la que se realiza la liberación de este tipo de componentes, como parte del esfuerzo realizado por las instituciones financieras para mantenerse a la vanguardia y en la preferencia de sus clientes. El ejemplo más claro y representativo de los servicios digitales, y de la complejidad que acarrean, es sin duda la banca en línea (incluyendo los aplicativos móviles).

El entorno de ciberseguridad en el que se desenvuelven las entidades financieras en México ha sido invadido por una mezcla de preocupación y escepticismo. La preocupación se encuentra sustentada por la gran cantidad de incidentes cibernéticos que se han reportado en México en  fechas recientes, que van desde campañas de distribución de malware, siendo el ransomware uno de los más utilizados, hasta ataques dirigidos que buscan obtener acceso a las entidades financieras a través del compromiso de sus activos tecnológicos y humanos. Estas acciones representan afectaciones directas e indirectas para las entidades financieras, siendo las directas las monetarias y reputacionales, mientras que las indirectas están relacionados con el costo que representa darle resolución a cada uno de los incidentes presentados. Por otro lado, el escepticismo puede observarse en algunas entidades financieras que no han tenido un impacto negativo significativo o mediático por las actividades mencionadas,  que aunado a la falta de entendimiento directivo ha provocado la inacción y/o desinterés por la evaluación de los riesgos tecnológicos y la aplicación de controles efectivos de ciberseguridad.

Desafortunadamente, en temas relacionados con la ciberseguridad es cada vez más claro que para las entidades financieras la pregunta no es si serán comprometidas o no, sino cuándo. Incluso, para aquellas que suponen que no han tenido o no tienen actualmente un incidente de ciberseguridad, es importante tener presente que “la ausencia de evidencia no es la evidencia de ausencia”. Es decir, es probable que en realidad no se cuente con los mecanismos necesarios para identificar de manera oportuna el compromiso de los sistemas y/o la actividad maliciosa presente en la infraestructura tecnológica. Tal es el caso de los incidentes cibernéticos acontecidos en el país en el año 2018 en los que se comprometieron los sistemas de algunos participantes de SPEI, y en los que las actividades de los atacantes, que permitieron realizar las transferencias monetarias no reconocidas, se determinaron de manera posterior a la consumación del ciberataque.

Buscando mejorar las capacidades de ciberseguridad es común escuchar sobre la aparición de soluciones que garantizan la mitigación de los riesgos tecnológicos, anunciando la integración de componentes modernos como Blockchain y la Inteligencia Artificial. Sin la intención de demeritar la utilidad y efectividad de este tipo de tecnologías novedosas, previo a considerar su incorporación, es necesario realizar una revisión y mejora de procesos de seguridad más elementales que podrían robustecer los entornos tecnológicos. Puesto que la protección en ciberseguridad reside en la efectividad de los controles implementados, más que en la cantidad y nivel de sofisticación de los mismos.

Es en este contexto en el que la operación continua de los servicios ofrecidos por las entidades financieras suele sobreponerse sobre las actividades de ciberseguridad argumentando, de manera atinada, que la prioridad del negocio es seguir otorgando los servicios a sus clientes de manera ininterrumpida. Sin embargo, la falta de entendimiento del impacto que puede tener la omisión de las tareas de ciberseguridad puede derivar en el compromiso de los procesos de negocio.

La ciberseguridad debe ser un elemento habilitador del negocio y su omisión como un requerimiento transversal en el desarrollo y operación de servicios de TI ha influido de manera adversa en la Gestión del Riesgo Cibernético. Si es bien cierto que los servicios digitales deben encontrarse disponibles la mayor parte del tiempo, también lo es que rezagar las tareas de ciberseguridad puede derivar en incidentes cuyo impacto podría dañar significativamente al negocio, en algunas ocasiones de manera irreparable.

En las siguientes secciones se expone un caso de estudio en el que se describe un fallo de seguridad presente en las tecnologías conocidas como Servidores de Aplicaciones Web (WAS, por sus siglas en inglés “Web Application Server”) que suele ser aprovechado por los atacantes de manera regular, según lo observado por MNEMO-CERT.

Caso de Estudio: WebLogic®, WebSphere® y JBoss®

Es muy probable que alguna de las tecnologías mencionadas en el título de esta sección resulte familiar para el lector, al ser uno de los elementos fundamentales para la operación de los servicios digitales ofrecidos a los clientes. Aunque estos términos resultaran ajenos, es muy probable que alguno de estos componentes forme parte de su entorno tecnológico. WebLogic®, WebSphere® y JBoss® son tecnologías tipo WAS enfocadas en aportar diversas características durante el desarrollo y ejecución de los servicios digitales disponibles en línea.

WebLogic®, WebSphere® y JBoss® han presentado diversas vulnerabilidades a lo largo de los años, algunas de ellas categorizadas como críticas. Sin embargo, comparten una en común que está relacionada con la plataforma que soporta a estas tecnologías: JavaEE (Java Enteprise Edition). Esta vulnerabilidad fue descrita por los investigadores de seguridad Gabriel Lawrence y Chris Frohoff a inicios del 2015 en una presentación[1] en la que detallaron brechas de seguridad relacionadas con el envío y recepción de objetos “serializados”. Un objeto serializado no es más que un tipo de dato con una estructura particular utilizado para almacenar y transferir información. Además, los investigadores liberaron una herramienta  útil para el aprovechamiento de las vulnerabilidades descritas durante su ponencia (“ysoserial[2]”).

La brecha de seguridad expuesta en 2015 afecta a una biblioteca de Java de nombre “commons-collections” que suele ser uno de los componentes de los servidores WAS mencionados. La vulnerabilidad se debe al procesamiento incorrecto de los objetos serializados por parte del servidor de aplicaciones, lo cual permite a los atacantes ejecutar comandos en el sistema de manera remota. Ya que esta vulnerabilidad se manifiesta durante el procesamiento de los objetos serializados, en el que se realiza el proceso contrario a la “serialización”, se identifica como una “vulnerabilidad de deserialización”.

Las vulnerabilidades de deserialización pueden ser aprovechadas bajo dos circunstancias distintas. Una de ellas es a través de los servicios Web expuestos a Internet que utilizan objetos serializados para enviar información al servidor WAS, como parte de su interacción con los clientes. Este intercambio es transparente para los usuarios legítimos de los servicios, sin embargo, los atacantes examinan la información enviada al servidor WAS en busca de objetos serializados. El otro escenario se presenta cuando es posible establecer una comunicación directa con puertos específicos del servidor de aplicaciones que permiten el envío de objetos serializados . En la siguiente imagen se ilustran los dos escenarios descritos, así como la disposición de los distintos componentes tecnológicos que intervienen durante la entrega de los servicios digitales:

Vulnerabilidades Deserialización

Imagen 1. Escenarios en los que pueden aprovecharse las vulnerabilidades de deserialización

En esta imagen se consideró un ambiente productivo típico que se utiliza para desplegar aplicativos en Internet; sin embargo, es necesario tener en cuenta que la tecnología WAS también es utilizada para ofrecer servicios disponibles de manera interna (en la Intranet), además de

existir en los entornos de desarrollo y de QA (por sus siglas en inglés “Quality Assurance”) en dónde los aplicativos son revisados y depurados previo a su liberación.

La utopía de los ambientes productivos completamente actualizados

Aunque la vulnerabilidad de deserialización descrita previamente data del año 2015, aún es posible encontrar servidores de aplicaciones inseguros como consecuencia de la falta de aplicación de las actualizaciones de seguridad provistas por los proveedores de WAS. Lo mismo sucede con las concernientes a otras vulnerabilidades del mismo tipo que han apareciendo a lo largo de los años, específicas para cada una de las tecnologías WAS. Tan sólo en los primeros 5 meses del año 2019 se reportaron dos vulnerabilidades de deserialización existentes en los servidores de Aplicaciones WebLogic®. En la siguiente imagen se muestra la fecha de publicación de los códigos útiles para el aprovechamiento de las vulnerabilidades referidas:

Imagen 2. Vulnerabilidades de deserialización en WebLogic® publicadas en 2019

Pese a que puede resultar incomprensible el hecho de que vulnerabilidades tan antiguas persistan en las infraestructuras de las entidades financieras, es bien sabido que las tareas de ciberseguridad relacionadas con la aplicación de actualizaciones de seguridad en los ambientes tecnológicos productivos es una de las más difíciles de realizar.

A continuación se presentan algunos factores identificados por MNEMO-CERT que incrementan la complejidad y demoran la aplicación de medidas de ciberseguridad que necesitan realizarse en la infraestructura tecnológica de las entidades financieras:

  • La infraestructura tecnológica que soporta los servicios digitales no sólo es de una dimensión considerable, sino que la interacción entre los distintos sistemas se puede ver afectada por cualquier cambio realizado, pudiendo presentar comportamientos inesperados, y en el peor de los casos dejar de funcionar. La gestión de cambios en una infraestructura compleja con frecuencia representa esfuerzos o riesgos difíciles de asumir.
  • Las tareas diarias de la administración de la infraestructura tecnológica demanda la mayor parte de las horas de trabajo del personal encargado de dichas labores, por lo que todas las actividades adicionales, incluyendo las de ciberseguridad, implican una sobrecarga de trabajo.
  • La prioridad de las áreas de infraestructura tecnológica es que los distintos elementos que intervienen en la entrega de los servicios es que se encuentren funcionando, por lo que en ocasiones asumen la seguridad como un tema secundario.
  • La ausencia de una política estricta de gestión de vulnerabilidades tecnológicas en la que se establezca el tiempo máximo de remediación de las mismas, en función de su criticidad y probabilidad de ocurrencia. Además, la complejidad inherente al seguimiento de las vulnerabilidades de seguridad que aparecen diariamente, que afectan las distintas tecnologías que conforman la infraestructura, impide mantenerse al tanto de lo que es necesario remediar.
  • La valoración inexacta del riesgo inherente a las vulnerabilidades existentes en los activos tecnológicos que soportan servicios críticos de negocio, derivada con frecuencia de un entendimiento parcial de su impacto, retarda la aplicación de las medidas de ciberseguridad necesarias para su adecuada gestión.

Si bien los puntos anteriores se encuentran enfocados en los ambientes tecnológicos productivos, que de manera natural son los más críticos para la operación, el tema de la ejecución da las tareas de ciberseguridad en el resto de los ambientes suele ser menos eficiente.

Considerando el ritmo con el que se revelan nuevas brechas de seguridad en la actualidad, resulta utópico pensar en ambientes tecnológicos completamente actualizados. Para aminorar el impacto que podría tener el aprovechamiento de una vulnerabilidad es necesario trabajar en el robustecimiento de las distintas capas de defensa presentes en la infraestructura tecnológica de las entidades financieras, siguiendo con el enfoque denominado defensa en profundidad (Defense In Depth), en el que se establecen distintos niveles que van desde el perímetro hasta los host finales.

Ataques de deserialización, un favorito de los atacantes.

MNEMO-CERT ha observado que los atacantes con actividad en México muestran un amplio interés en las vulnerabilidades de deserialización existentes en la tecnología WAS, debido a su amplio uso en sectores productivos, incluyendo al financiero. Este tipo de vulnerabilidades permite a los atacantes ejecutar comandos en los sistemas WAS afectados mediante el envío de objetos serializados, otorgándoles el acceso inicial a la infraestructura tecnológica, para los casos en los que se encuentran expuestos a Internet. Una vez obtenido este acceso, los atacantes realizan actividades que les permiten ingresar a otros sistemas, conocidas como “movimiento lateral”.

El comportamiento de los atacantes no es fortuito pues las vulnerabilidades de deserialización existentes en las tecnologías de WebLogic®, WebSphere® y JBoss® tienen características particulares que las hacen de su predilección. A continuación se listan las más sobresalientes:

  • En algunos escenarios, los comandos ejecutados por los WAS debido al aprovechamiento de las vulnerabilidades de deserialización, residen en la memoria volátil de los servidores por lo que no dejan un rastro en el disco duro que sean un indicativo de su compromiso.
  • Es posible que los comandos utilizados por los atacantes queden almacenados en los WAS, sin embargo, suelen guardarse en formatos que no son entendibles mediante un análisis simple, lo que complica su identificación, confundiéndose además con los elementos legítimos utilizados por los aplicativos.
  • La configuración predeterminada de los WAS no contempla la generación de bitácoras en las que se registren los recursos requeridos por los usuarios, complicando el seguimiento de las actividades realizadas por los atacantes.
  • Los usuarios utilizados en los WAS suelen tener privilegios elevados lo que facilita las acciones posteriores a la obtención de acceso al sistema, también conocidas como de “post-explotación”.
  • La herramienta ysoserial, entre otras más disponibles en Internet, facilita el aprovechamiento de las vulnerabilidades de deserialización, incrementando la probabilidad de existencia de actividad maliciosa. Estas herramientas se encuentran en una actualización constante para soportar las vulnerabilidades del mismo tipo que van apareciendo.

Como puede apreciarse, este tipo de vulnerabilidades no sólo otorgan acceso a los sistemas vulnerables, sino que dificultan el rastreo de las actividades maliciosas durante la Respuesta a Incidentes. Además, ya que bajo ciertas circunstancias es posible manipular los servidores WAS sin la necesidad de crear archivos maliciosos en las unidades de almacenamiento, resulta viable evadir los controles de seguridad presentes en los sistemas afectados. En resumen, mediante el aprovechamiento de las vulnerabilidades de deserialización los atacantes obtienen acceso a los sistemas y evitan generar alertas mientras cubren sus huellas.

Es necesario señalar que las vulnerabilidades de deserialización no son exclusivas de las tecnologías WAS referenciadas, ni de JavaEE, por lo que no deben ser desestimadas ante la ausencia de este tipo de componentes.

Reflexiones finales

MNEMO-CERT ha elegido profundizar en la tecnología WAS como un ejemplo del tipo de problemas que se presentan debido a la complejidad de los ambientes tecnológicos productivos de las entidades financieras, en los que es frecuente encontrar que se prioriza la operación y funcionalidad sobre la ciberseguridad, sin que el equilibrio entre estos objetivos tenga como base una evaluación eficaz de los riesgos. Otro claro ejemplo es la existencia de procesos críticos de negocio soportados por sistemas anticuados (legacy) que han dejado de tener soporte del proveedor y/o que son inseguros por diseño; características que incrementan la probabilidad de que resulten comprometidos.

Es una realidad que las actividades de ciberseguridad representan una mayor carga de trabajo para las distintas áreas de las entidades financieras involucradas en este tema. Sin embargo, mientras que no sean consideradas como una parte fundamental para el negocio y resultado de una adecuada evaluación de riesgos, resultará complejo revertir la resistencia presentada ante estas tareas. Debido a lo anterior, resulta trascendente comprender que en la era digital, son los elementos tecnológicos los que soportan una gran cantidad de procesos críticos de negocio, por lo que es necesario realizar una correcta valoración del riesgo al que están expuestos como base para definir los controles de ciberseguridad necesarios.

MNEMO-CERT desarrolla este tipo de publicaciones con el objetivo de crear consciencia sobre la importancia de la ciberseguridad en las entidades financieras, con base en su amplia experiencia en la entrega de servicios enfocados en ayudar a las empresas a proteger sus activos tecnológicos y de información en alineación con los objetivos específicos y las operaciones críticas del negocio.

[1] https://www.slideshare.net/frohoff1/appseccali-2015-marshalling-pickles
[2] https://github.com/frohoff/ysoserial