Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Gestión de parches en sistemas de control

Fecha de publicación 22/02/2018
Autor
INCIBE (INCIBE)
Gestión de parches

Las actualizaciones, ya sean de seguridad o de funcionalidad, de los sistemas de control deben estar guiadas por un proceso de gestión de parches que identifique adecuadamente el ciclo de vida e indique su periodicidad. Una buena gestión de parches en los sistemas de control se ha de enfrentar con la cultura de este entorno, que se opone a todo cambio en un sistema que funciona; y a la cultura de los fabricantes, no muy dados a publicar parches para solucionar problemas de seguridad. Afortunadamente, ambas limitaciones son ya casi cosas del pasado.

Fases de la gestión de parches y actualizaciones

Como proceso recurrente, es posible definir un seguimiento o ciclo de vida para la gestión de parches y actualizaciones. Se definen 6 fases en este proceso:

Fases de la gestión de parches

-Fases de la gestión de parches-

  • Identificación de activos y software base: La identificación de activos y su software base instalado, así como el nivel de parches, es una tarea compleja pero que mejora la seguridad y la operación. Disponer de esta base permitirá llevar a cabo cambios en el sistema sin riesgos y permitirá volver a un estado previo conocido y funcional en el caso de producirse algún problema a la hora de instalar una actualización.
  • Disponibilidad: En función del inventario de activos y el software identificado, se ha de revisar el listado de parches actual e identificar cuál de ellos afecta a cada activo del proceso.
  • Aplicabilidad: Los parches publicados no siempre son válidos para todos los dispositivos, por lo que se ha de verificar si la actualización en concreto es apta para los activos de nuestro proceso.
  • Adquisición: Obtener los ficheros de actualización de una fuente fidedigna así como comprobar la veracidad del parche no siempre es fácil. La utilización de hashes no es habitual para los parches relacionados con los sistemas de control.
  • Validación: El objetivo de la validación es asegurar que la actualización no impacta en el proceso de forma adversa. Para llevarla a cabo se han de utilizar activos de pruebas y seguir las fases de despliegue. Con la validación se pretende comprobar las implicaciones de la actualización, que puede incluir cambios en las políticas del cortafuegos, modificaciones de configuración, etc.
  • Despliegue: Durante el proceso de validación se ha de crear un paquete de despliegue. El paquete debe contener el/los fichero/s de actualización y las instrucciones de instalación, así como un listado de los activos en los que ha de realizarse el despliegue.

Problemas y soluciones

La gestión de los parches presenta varias dificultades al ser aplicada sobre los sistemas de control, dificultades que no suelen existir o se dan en menor grado en los sistemas de TI.

La dificultad más importante pasa por disponer de un inventario de activos que recoja el software desplegado en cada dispositivo, incluyendo las versiones de cada aplicativo, así como su configuración. Es muy habitual que existan diferentes versiones del mismo software desplegadas en un sistema de control, y cada una de ellas debe ser parcheada según necesidades específicas. Por este motivo, es necesario disponer de una lista de activos maestra (MAL – Master Assets List) que recoja el software base de cada activo.

La identificación correcta de los parches a instalar no siempre es sencilla ya que el soporte proactivo, como el que pueden proporcionar Siemens o ABB con su servicio de avisos y su gestión de ciclo de vida, por parte de los fabricantes no suele ser una característica habitual en los sistemas de control. Cada fabricante tiene establecido su propio sistema de notificaciones a clientes, incluyendo la política de no notificar y hacer al cliente visitar páginas de distribuidores u otras fuentes; por lo que la búsqueda de parches y actualizaciones puede convertirse en una tarea tediosa. Además, determinar si se trata de un parche de seguridad o no, tampoco es fácil en muchos casos, por lo que será necesario leer atentamente la documentación publicada o incluso tener que hablar directamente con el fabricante.

La utilización de herramientas automatizadas sobre sistemas de control para la gestión de parches es complicada, como ya demostraron las herramientas de gestión de activos cuando un entorno incluye equipos no muy extendidos o dispositivos que no admiten métodos de consulta estándar. Las herramientas automatizadas de despliegue de parches y actualizaciones pueden no reconocer los dispositivos industriales, resultando su uso en un nulo o escaso beneficio dentro de los entornos TO.

Otro punto a tener en cuenta suele estar en la determinación de actualizar o realizar otras acciones correctoras para mitigar el problema sin llegar a desplegar el parche. La mejor solución siempre será aplicar el parche, pero algunos dispositivos pueden tener inconvenientes o características que impliquen retrasos para su instalación. Por eso, disponer de un plan de mitigación que eleve la seguridad a un nivel aceptado por la empresa puede ser una solución temporal a la aplicación del parche.

Retos

Los retos a los que debe enfrentarse la gestión de parches son numerosos y abarcan varios ámbitos.

A nivel de procedimiento, han de superarse barreras como los propios límites impuestos por el contrato de servicio, el cambio de paradigma en la valoración de vulnerabilidades basado en métodos clásicos de TI, la confidencialidad de los parches (no siempre están disponibles para el público general o se van entregando según la prioridad del cliente) y el descubrimiento de nuevas vulnerabilidades.

A nivel técnico, los retos serán la obtención y transferencia de parches, el intervalo de despliegue y los sistemas antiguos y obsoletos.

En lo que se refiere al ámbito legal, los mayores retos tendrán que ver con el negocio internacional ya que la mayoría de fabricantes venden en todo el mundo, el uso de software de código abierto (OSS – Open Source Software), la garantía del fabricante, la manera en la que se realiza la gestión de activos (de forma interna, por un tercero mediante un contrato, por el propio fabricante, etc.) y la habilidad para obtener y crear parches (los fabricantes industriales pueden tener dificultades para crear parches de seguridad o que no incluyan nuevas vulnerabilidades).

Buenas prácticas

Las buenas prácticas relacionadas con la gestión de parches se pueden agrupar en cinco grandes apartados.

Controles compensatorios

Los parches pueden no estar disponibles cuando se desean, por lo que es necesario crear una cultura para evitar problemas. Lo primero a valorar es qué es lo que suele fallar en los sistemas de control, las vulnerabilidades que le afectan y determinar las consecuencias. A partir de ahí, medidas como el correcto bastionado de equipos, el control del tráfico y los accesos a los sistemas de control mediante cortafuegos, segmentar la red según la criticidad de los dispositivos, realizar auditorías y evaluaciones de seguridad y utilizar listas blancas permitirán que un determinado fallo no suponga un problema para la empresa aunque tarde en llegar el parche que lo solucione.

De forma habitual, los fabricantes también suelen aportar soluciones alternativas (workarounds) asociados a las debilidades o vulnerabilidades que corrigen de forma temporal el problema hasta que el parche está desarrollado o se puede aplicar.

Establecer un programa de gestión de parches

Implantar un programa adecuado de gestión de parches en los sistemas de control va a permitir controlar las actualizaciones que afectan a los activos de la empresa. La gestión de parches debe contener una política orientada a reducir el esfuerzo en su aplicación y a disminuir los posibles riesgos.

Prueba de parches

La distribución de parches se lleva a cabo por los fabricantes una vez comprobado su correcto funcionamiento. Este procedimiento no garantiza su aplicación en todos los sistemas de control ya que cada proceso es único, y por lo tanto deberían probarse todos los parches antes de su instalación en el sistema de producción en un entorno de test controlado. Aquellos sistemas que se encuentren redundados pueden utilizar los equipos de respaldo para desplegar los parches y verificar en ellos el correcto funcionamiento de los mismos para de esta manera no interrumpir ningún proceso en curso que esté siendo gestionado por los equipos principales.

Distribución de parches

El gestor de parches necesita acceso a internet para la descarga de actualizaciones, pero un sistema de control no debe conectarse a internet. Por lo tanto, el gestor de parches debe situarse en el lugar adecuado de la red, desde el que disponga de acceso a internet, y los equipos del sistema de control puedan conectarse a este gestor. Si fuera necesario se podrían colocar más gestores de parches enlazados con el gestor principal. Para asegurar la autenticidad de los parches debe verificarse que los parches vienen firmados o con un hash de comprobación para asegurar su integridad y que realmente provienen de una fuente fidedigna.

Despliegue de herramientas de parcheo

-Despliegue de herramientas de parcheo-

Programación de parches

Los parches no pueden ser aplicados en cualquier momento, sino que dependen de muchos factores (criticidad, estado del proceso, etc.) según el proceso. El proceso de aplicación de parches debe ser planificado de acuerdo a las necesidades del proceso una vez se ha probado en un entorno controlado. El proceso de planificación de incorporación de parches al sistema debería estar contemplado dentro de las tareas de mantenimiento aplicables al proceso.

La gestión de parches es un proceso que debe incluirse dentro de todas las industrias para mejorar el nivel de seguridad de sus sistemas de control. Su incorporación generará un trabajo extra inicial que será compensado por el aumento del nivel de seguridad y la disminución del tiempo de parada por posibles fallos o infecciones de malware.

Etiquetas