Ciclo de vida de las vulnerabilidades en un entorno industrial

Fecha de publicación 18/05/2023
Autor
INCIBE (INCIBE)
Ciclo de vida de las vulnerabilidades en un entorno industrial

La tecnología de telecomunicaciones ha experimentado una gran evolución en la última década, con la incorporación de nuevas funcionalidades, como el Internet de las Cosas (IoT) y la computación en la nube (Cloud Systems) en los sistemas de automatización y control. Sin embargo, las prácticas actuales de implementación en sistemas industriales siguen generando una amplia variedad de vulnerabilidades de seguridad. 

Los ciberdelincuentes aprovechan las vulnerabilidades globales de seguridad de los Sistemas de Control Industrial (SCI) para tomar el control o interrumpir las funciones normales de funcionamiento del sistema. Por lo tanto, es esencial identificar y analizar las vulnerabilidades de seguridad y las debilidades de estos sistemas para desarrollar soluciones de seguridad y mecanismos de protección. 

En este contexto, es importante mencionar la importancia de mantener siempre un control de todos los activos y conocer su estado, actualizando los sistemas con parches de seguridad para vulnerabilidades conocidas. Con esto se reduce significativamente el riesgo de un ciberataque exitoso.

Ciclo de vida de las vulnerabilidades

El ciclo de vida de vulnerabilidades es un proceso que se utiliza para identificar, evaluar y mitigar las vulnerabilidades en los sistemas o sus redes. Consta de varias fases, cada una de las cuales se lleva a cabo de manera secuencial y cíclica para garantizar una protección adecuada contra las vulnerabilidades.

  • Detección y validación: la primera fase consiste en la detección y validación de vulnerabilidades en los sistemas y redes. Esto se logra mediante herramientas de escaneo automatizadas y manuales, actividades de Red Team, o a través de la consulta de informes de alertas o avisos de seguridad.
  • Análisis: una vez detectadas y validadas las vulnerabilidades, se lleva a cabo un análisis detallado para evaluar su gravedad y el impacto que pueden tener en el sistema y en los procesos industriales.
  • Notificación: Se notifica a los responsables de la seguridad en entornos operacionales y a los administradores del sistema sobre la existencia de las vulnerabilidades detectadas.
  • Resolución: la fase de resolución implica tomar medidas para mitigar o eliminar las vulnerabilidades detectadas. Esto puede incluir la instalación de parches, la configuración de reglas de seguridad, la implementación de controles de acceso, entre otras medidas.
  • Validación y cierre: una vez implementadas las medidas de mitigación, se lleva a cabo una validación para asegurarse de que las vulnerabilidades se han corregido correctamente. Finalmente, se cierra la vulnerabilidad y se actualiza el registro de seguimiento.

Ciclo de vida de vulnerabilidades

-Ciclo de vida de las vulnerabilidades-

Un aspecto crucial en el manejo del ciclo de vida de vulnerabilidades es la adecuada distribución y coordinación de los roles encargados de su gestión:

  • Auditor ICS: es el responsable de llevar a cabo auditorías periódicas para identificar vulnerabilidades en los sistemas de automatización y control de procesos (ICS).
  • Gestor de vulnerabilidades: es quien se encarga de supervisar el ciclo de vida de las vulnerabilidades, desde la detección hasta la mitigación.
  • Resolutor de vulnerabilidades: es el encargado de implementar las medidas de mitigación para corregir las vulnerabilidades detectadas.
  • Verificador de vulnerabilidades: es el encargado de realizar la validación para asegurarse de que las vulnerabilidades se han corregido correctamente.

Es importante tener en cuenta que la asignación de roles y responsabilidades en el ciclo de vida de las vulnerabilidades puede variar según las características y necesidades específicas de cada empresa u organización.

A continuación, se muestran en mayor detalle los puntos clave del ciclo de vida de vulnerabilidades: 

Detección y validación

La evaluación de seguridad es un proceso clave en cualquier organización, su objetivo es detectar o identificar debilidades de seguridad que un potencial atacante pueda explotar para ejecutar ciberataques contra nuestros sistemas o redes.

Es importante no limitar las vulnerabilidades a errores de código (bugs) del software, y considerar también configuraciones débiles, diseños inseguros en aplicativos y comunicaciones, etc.

Los desafíos a los que se enfrenta la evaluación de seguridad en entornos ICS son su complejidad y heterogeneidad, la vida útil de los dispositivos industriales y el gran volumen de vulnerabilidades conocidas. Esto lleva a las organizaciones a centrarse solamente en las vulnerabilidades más críticas.

A la hora de llevar a cabo la detección o identificación de vulnerabilidades, es posible emplear, tanto técnicas pasivas como técnicas activas:

  • Técnicas pasivas: 
    • Se emplean solamente para observar y recopilar datos y comportamiento de los activos sin interactuar con ellos. Mediante capturas de tráfico y su análisis sería posible identificar los siguientes problemas: 
      • Activos desconocidos o no inventariados,
      • comunicaciones desconocidas entre activos, 
      • uso de protocolos inseguros,
      • vulnerabilidades de los dispositivos asociados al software o sistema operativo.
    • La principal ventaja de esta técnica es que al no interactuar con los activos se corre un riesgo mínimo de afectar a los sistemas, pero, por el contrario, se obtiene menos información que empleando técnicas activas.
  • Técnicas activas:
    • Interactúan directamente con los activos a analizar, mediante el uso de scripts o herramientas automatizadas para la detección de fallos en la configuración o vulnerabilidades conocidas en los activos;
    • Algunos ejemplos de herramientas empleadas podrían ser las siguientes: 
      • Nmap: empleada para el escaneo de redes y puertos; 
      • Nessus/OpenVAS: empleados para el escaneo de vulnerabilidades.
    • La principal ventaja de esta técnica es que se obtiene una mayor información de los activos analizados, por el contrario, se corre un mayor riesgo de poder afectar a los sistemas y alterar su correcto funcionamiento.
  • Fuentes abiertas
    • Otra de las formas de detección de vulnerabilidades sería mediante la revisión, ya sea manual o automatizada de vulnerabilidades que son publicadas en repositorios públicos, las cuales pueden ser aprovechadas para parchear correctamente las vulnerabilidades identificadas. A continuación, se muestran algunos ejemplos de fuentes donde consultar dichos reportes: 
      • Webs y foros de los fabricantes; 
      • Avisos de seguridad de INCIBE-CERT u otros CERT de referencia; 
      • Boletines de seguridad, como los de INCIBE-CERT;
      • Redes sociales.

Análisis

Una vez identificadas las vulnerabilidades de los activos y sistemas, se debe de realizar un análisis individual de cada una de ellas, para poder dar prioridad a ciertas vulnerabilidades en base a unos riesgos que la organización debe de definir para los distintos activos. La probabilidad de que un impacto específico se lleve a cabo en la organización es lo que se conoce como riesgo:

R = P (Probabilidad) x I (Impacto)

En base a esta fórmula, es posible crear matrices de probabilidad-impacto, las cuales serán empleadas como un método para poder estimar el riesgo de las vulnerabilidades contra un activo en concreto.

matriz de probabilidad impacto riesgo

- Tabla donde se define la probabilidad con respecto al impacto de una vulnerabilidad detectada. Fuente -

Una vez se ha definido el riesgo anterior, es posible combinarlo con la valoración del riesgo que se obtiene a través del valor CVSS de la vulnerabilidad. Este valor CVSS puede obtenerse de las vulnerabilidades publicadas, o si aún no está disponible, es posible realizar el cálculo manual a través de calculadoras de CVSS, cuyos valores están comprendidos entre 1 y 10. A continuación, se muestra un ejemplo de una matriz donde se cruzan los valores obtenidos de la criticidad del activo y el CVSS.

Matriz criticidad del activo

Criticidad del activo con respecto a su CVSS

La prioridad para resolver las vulnerabilidades identificadas por activo debe basarse en el valor final del riesgo obtenido mediante la matriz anterior.

Notificación

Se notifica a los responsables de la seguridad en entornos operacionales y a los administradores del sistema sobre la existencia de las vulnerabilidades detectadas.

Esta fase depende totalmente del organigrama o estructura de la empresa u organización que haya detectado una vulnerabilidad sobre uno de sus activos.

Una vez se ha realizado el proceso de análisis de la vulnerabilidad y se sabe su magnitud y criticidad, se deberán seguir los siguientes pasos genéricos:

  • Listado de terceros afectos por la vulnerabilidad incluyendo a fabricantes y a trabajadores de la propia empresa que se vean afectados.
  • Análisis preliminar de la información a publicar, posibles consecuencias o cualquier información considerada de vital importancia para el tratamiento de la vulnerabilidad.
  • Determinar el canal de comunicación de la vulnerabilidad de acuerdo a la magnitud de la misma, basado tanto en la severidad, como el esfuerzo para corregirla o mitigarla, los recursos necesarios, el tiempo requerido y la mejora obtenida tras la subsanación o mitigación de la vulnerabilidad.

Resolución y cierre

Una vez se han analizado y notificado las vulnerabilidades, se debe de proceder a su resolución y cierre, en caso de que sea posible. A continuación, se muestran algunos de los métodos a llevar a cabo para la resolución de las vulnerabilidades. Dichos métodos han de ser seleccionados por el máximo responsable de la mitigación de las vulnerabilidades, es decir, el resolutor de vulnerabilidades y una vez resueltas, se han de validar por el verificador de vulnerabilidades

  • Mitigar el riesgo: 
    • Esta opción implica tomar medidas para reducir la probabilidad o el impacto del riesgo. 
    • Por ejemplo, se pueden implementar medidas de seguridad, tales como la implementación de software de seguridad o la capacitación del personal, para reducir la probabilidad de un ataque.; 
    • Otra opción sería la supresión del riesgo mediante la aplicación de parches que solventen la vulnerabilidad.
  • Aceptar el riesgo:
    • tomar conciencia del riesgo y decidir no tomar medidas adicionales para tratarlo. 
    • Esto puede ser aceptable si el riesgo es considerado aceptable en comparación con el costo y la dificultad de mitigarlo.
  • Evitar el riesgo:
    • por ejemplo, eliminando un activo o cambiando un proceso para evitar un riesgo específico.
  • Transferir el riesgo: 
    • a otra parte, a través de medios como seguros o contratos

Una vez que se han seleccionado las medidas para tratar el riesgo de la vulnerabilidad, es necesario establecer un plazo para su resolución. Este plazo variará dependiendo de la gravedad y prioridad asignada a la vulnerabilidad. Al igual que en casos anteriores, se podría emplear el uso de una tabla o matriz en la que se definen los plazos para su resolución, a continuación, se muestra un ejemplo:

Priorización en la resolución de vulnerabilidades por criticidad

- Priorización en la resolución de vulnerabilidades por criticidad -

Finalmente, para gestionar y controlar efectivamente las vulnerabilidades, es importante llevar un registro de todas las vulnerabilidades y las medidas adoptadas para abordarlas. Se deben actualizar regularmente el estado de cada vulnerabilidad para garantizar que se aborden adecuadamente.

Conclusiones

El aumento de la conectividad entre las redes ICS y las redes IT, junto con el uso de tecnologías estándar, hace que los sistemas de automatización y control estén expuestos a una amplia variedad de vulnerabilidades y amenazas de seguridad. Por lo tanto, los sistemas ICS se han convertido en objetivos de ataques cibernéticos y es necesario llevar a cabo análisis de seguridad y planificar contramedidas para evitar consecuencias graves.

El proceso de gestión de vulnerabilidades debe incluir todas las fases del ciclo de vida, con especial énfasis en la detección, utilizando técnicas y herramientas adecuadas. Una gestión eficaz de vulnerabilidades ICS ayuda a identificar y valorar las vulnerabilidades y a planificar medidas de protección efectivas. Sin embargo, debido a la escala y complejidad de los sistemas ICS, estas tareas son más difíciles de llevar a cabo en los sistemas IT.