Reduciendo el tiempo de recuperación

Como he comentado en artículos anteriores, el objetivo primero para entornos OT, es garantizar la disponibilidad de las instalaciones, quedando a un segundo y tercer plano la integridad y confidencialidad de la información manejada. Esto no quiere decir que no sea importante, sino que se establecen prioridades.

Lo que se pretende con la securización de las instalaciones, es reducir los riesgos de sufrir un incidente y que se vea afectado el funcionamiento de las Infraestructuras de automatización y Control, ya sean Críticas o Industriales. Sin embargo conviene recordar, que no es menos importante garantizar la seguridad de tipo “Safety”. Me refiero a las funcionalidades de protección a personas, esas que vienen de la mano de accionadores de emergencia, barreras infrarrojas, detectores de presencia, y demás dispositivos que evitan que un técnico de mantenimiento, operario, etc. sufra un accidente que ponga en riesgo su vida o integridad física.

De todos es sabido que las amenazas, vulnerabilidades, riesgos y negligencias están ahí, y que la seguridad al 100% no existe. Lo que hoy puede tener unos niveles aceptables, mañana con la aparición de un nuevo bug, exploit, etc. puede no tenerlo.  Aparte, considerando la idiosincrasia de estos entornos con funcionamientos en muchos casos 24 X 7 X 365, la puesta en marcha de parches, actualizaciones, mejoras y nuevas soluciones, puede retrasarse a períodos de tiempo realmente largos. Eso teniendo en cuenta que puedan ser aplicados sobre las mismas plataformas, ya que no siempre es así.

Por tanto, teniendo en cuenta que a pesar de haber desplegado un plan de seguridad para nuestro entorno OT, ¿es suficiente para garantizar la disponibilidad? ¿qué ocurre durante el este período de tiempo en el que estamos expuestos por no poder aplicar medidas correctoras? ¿qué va a pasar si en ese intervalo sufrimos un incidente?

Pues bien, garantizar la disponibilidad no es sólo poner en marcha aquellas medidas que reduzcan los riesgos, sino que, si sufrimos un incidente, tengamos la capacidad de recuperarnos en el menor tiempo posible. Para alcanzar este propósito es necesario implementar, junto con el resto, un Plan de Contingencia que permita restaurar dispositivos y sistemas a un estado nuevamente operativo.

Por ejemplo, si un HMI queda infectado o por alguna razón su hardware sufre un daño, y esto desemboca en una sustitución del equipo, mientras dure dicha operación nuestra instalación puede quedar fuera de servicio. O bien, un operario realiza un cambio incorrecto en un autómata y debe cargarse el programa a una versión anterior.

Ejemplos se pueden poner muchos, pero lo cierto es que resulta indispensable la inclusión de un proceso de generación de copias de respaldo para cubrir estos supuestos. Cuando hablo de un proceso me refiero a un método. Aquí hay que considerar muchos puntos. Uno de ellos es el tipo de equipo. No es lo mismo un PC, que un servidor SCADA, que un PLC o RTU. Así cómo en los dos primeros podremos instalar un agente que nos haga una copia del sistema operativo, ficheros, aplicaciones, etc. en el segundo y tercero su naturaleza puede que no nos lo permita y debamos elegir otra solución o vía.

Un aspecto clave es establecer la forma en que se hacen de estas copias. Todo cambio debe de estar documentado y programado, salvo que se trate de un incidente obviamente. Por ello debe seguirse una nomenclatura que permita la identificación inequívoca de los ficheros, catalogar si es software, sistema operativo, versiones, fecha en la que se hizo, control de accesos a los mismos por parte de las personas responsables, control de integridad, etc. Además, dependiendo del número dispositivos puede justificarse la instalación de herramientas centralizadas que permitan automatizar este proceso.

La generación de copias lleva aparejado necesariamente un espacio de almacenamiento adicional. Nuevamente dependiendo del número, puede necesitar de una inversión en nuevo hardware o sistemas. Aquí la estrategia marcará la manera de llevarse a cabo. Me refiero a que éstas sean accesibles bien de forma local o por red, esto es, que en caso de recuperación pueda descargarse la copia desde un servidor o desde un disco duro externo conectado via USB.

Aplicaciones en el mercado hay varias. En mi ejemplo utilizaré una del fabricante Acronis en concreto del producto Backup Advanced 11.7. Con él podremos realizar imágenes de disco de nuestros equipos y, como comentaba,  para recuperarlos en caso de fallo, rotura de hardware, o cualquier otra incidencia que afecte a su funcionamiento.

Esta solución consiste en un servidor central de administración y un agente software que se debe instalar en los equipos sobre los que se quiere hacer los backups. Para administrarlo, necesitamos de un software cliente (consola) con el que conectaremos al servidor y desde ahí llevar a cabo todas las operaciones necesarias como pueden ser:

  1. Dar de alta equipos.
  2. Organizar lugares de almacenamientos de las copias (Bóvedas).
  3. Control de acceso y permisos de usuarios.
  4. Programación de copias.
  5. Definición de nodos de almacenamiento.

En lo referente al servidor de gestión, a la hora de instalar nos preguntará sobre cómo va a utilizarse el equipo para a partir de ello instalar más o menos componentes.

En el Escritorio del servidor se habrá generado un acceso directo del software con el que nos conectaremos (consola) , en este caso a nosotros mismos contra la IP 127.0.0.1.

Por la parte del cliente, ha de instalarse dos tipos de software. Uno denominado “AcronisAgentCore” y “AcronisAgentWindows”. La instalación es sencilla, un ejecutable más.

Luego, desde el servidor, deberemos dar de alta los equipos para poder dar las órdenes de la generación de las copias. Lo haremos proporcionando el nombre o IP además de las credenciales definidas en el proceso de instalación.

En el apartado “Equipos con agentes – Todos los equipos con agentes” veremos el equipo ya registrado, para este ejemplo, el “HMI-EST-01”.

Allí encontraremos varios parámetros de configuración. Dadas las características de los entornos industriales me centraré en concreto en dos de ellas. La primera es la compresión. La imagen guardada podrá ser comprimida para ahorrar espacio, sin embargo esto podrá afectar no sólo en la generación de la copia sino también la recuperación de la imagen. Esto habrá de tenerse en cuenta ya que aumentará el tiempo en el que el equipo podrá estar disponible de nuevo.

La segunda corresponde la prioridad que tendrá el agente de Acronis con respecto al resto de procesos que corran sobre el equipo final. La generación de la copia consume una serie de recursos, los cuales no podrán afectar al resto aplicaciones control que corre en ese mismo instante. Las copias deberemos programarlas, de ser posible, para su ejecución fuera del horario de funcionamiento pero en el supuesto de que no sea así deberemos dar prioridad al resto en lugar a la de Acronis.

Finalmente, lanzaremos la tarea teniendo una duración variable en función de todos los parámetros configurados y el rendimiento de nuestra red.

Si bien los valores pueden variar bastante, para hacernos idea, una máquina virtual de 60,5 GB de disco duro se quedó en 44 GB y tuvo una duración del entorno a media hora.

Para poder recuperar un equipo, deberemos crear un dispositivo de arranque, esto es un Live CD o USB. Para ello tendremos que instalar la aplicación “Acronis Media Builder” y definir alguno de ellos.

Con anterioridad deberemos tener cambiados los parámetros en la BIOS del sistema para arrancar desde la unidad de CD o medios extraíbles. A partir de aquí el asistente de Acronis nos guiará durante el proceso, teniendo que asignar una IP e indicar el lugar donde se almacena la copia que queremos recuperar.

El mensaje de hoy no es tanto ver la manera de “protegerse” sino de “recuperarse”. O dicho de otra manera no tanto a la seguridad sino  minimizar el tiempo de recuperación en el caso de que tengamos una brecha. Las estadísticas dicen que las vulnerabilidades descubiertas van en aumento y que los ataques cada vez son más diversificados. Que exista un parche, no quiere decir que se pueda implementar nada más publicarse y por tanto, mientras esta situación se mantenga, los equipos son vulnerables. He puesto el ejemplo de un HMI ya que están a la cabeza de ser el objetivo estrella, para desde ahí llevar a cabo distintas acciones sobre la red de control. Estos HMI están basados principalmente sobre sistemas operativos Microsoft Windows, de ahí que en este caso haya puesto como ejemplo una solución como la de Acronis Backup Advanced, y aplicación sobre equipos con esas características.

Espero que haya sido interesante, lo dicho “garantizar la disponibilidad no es sólo poner en marcha aquellas medidas que reduzcan los riesgos, sino que, si sufrimos un incidente, tengamos la capacidad de recuperarnos en el menor tiempo posible”. 

Saludos!

 

Crónica de Curso «Ciberseguridad en IACS»

En esta ocasión la cosa no va a ir de temas técnicos sino más bien, va a ser una crónica de un curso que he realizado recientemente. Ha sido la primera edición, con lo que me parece positivo dar a conocerla para que más gente se anime y se haga eco de los nuevos cursos que están por venir, así más y más profesionales sigamos formándonos en distintas áreas .

El curos en cuestión se ha denominado bajo el nombre “Curso Avanzado de de Ciberseguridad y Sistemas de Control y Automatización Industrial” y ha sido impartido por INCIBE (Instituto Nacional de Ciberseguridad; lo que era antes INTECO”) vía ONLINE.

Llevo 4 años presando servicios como Técnico/Administrador de Redes y Seguridad en una fábrica dedicada al sector de la automoción, y muchas veces me ha tocado que resolver los problemas de conectividad de Robots, Autómatas, Controles de Soldadura, configurar reglas de firewall para sistemas SCADA, etc. Tenía mucho interés por aprender más sobre este tipo de dispositivos y puesto que todos ellos de una manera u otra se “conectan” a la infraestructura de comunicaciones, pues era mi oportunidad.

Dicho esto, a continuación os dejo el enlace del video promocional para que veáis la idea que se persigue y la forma que se imparte:

Enlace

El curso se divide en 7 Unidades, de las cuales haré un breve resumen general ya que no se desea revelar demasiada información sino despertar la curiosidad:

Unidad 0: Bienvenida al curso avanzado de ciberseguridad industrial

Una presentación del curso en general donde se explica el calendario, actividades, normativa, recursos, criterios, manuales, test, etc.

Unidad 1: Introducción a los sistemas de control y automatización

Aquí ya se empieza con la materia en sí. Se abordan temas como historia de la automatización, evolución, problemas de seguridad, particularidades, etc.

Unidad 2: Estudio detallado de los distintos dispositivos de control

Enumeración y descripción de los elementos que intervienen en el proceso de automatización industrial, configuración, parametrización y medidas de seguridad nativas.

Unidad 3: Conceptos fundamentales de las comunicaciones industriales

Propósitos de las comunicaciones, medios físicos, protocolos, tipos de comunicación.

Unidad 4: Sistemas SCADA, historiadores y otros aplicativos

Modelos de implantación, funcionalidades y campo de actuación de los sistemas SCADA, Historización, soluciones BATCH, MES y BII.

Unidad 5: Estudio detallado de amenazas y vulnerabilidades de seguridad 

Amenazas en entornos industriales, vulnerabilidades diseño, desarrollo, operación y mantenimiento; factores de riesgo; incidentes de seguridad. 

Unidad 6: Presentación de iniciativas, buenas prácticas y soluciones

Aproximación a la protección a los sistemas de automatización y control; iniciativas de seguridad a nivel mundial; métodos, modelos, técnicas de seguridad.

Unidad 7: Visita virtual y demostraciones prácticas de seguridad

Introducción a las redes de distribución eléctrica y “Smart Grids”

Evaluación final y encuesta de satisfacción

Examen final de todo el curso y encuesta de satisfacción.

Cada “Unidad” a su vez se subdivide en distintos “Apartados” que abordan de manera específica los temas a tratar. Todas las “Unidades” y “Apartados” cuentan con un documento en formato .pdf, siendo el contenido de estos últimos un resumen del de las respectivas unidades. Adicionalmente cada “Unidad” dispone de un video introductorio. Los “Apartados” también tienen el suyo donde se explica de manera audiovisual su contenido. En algunos casos los documentos y videos tienen contenido muy similar, pero no igual. Es material didáctico complementario y no excluyente. Ojo, a esto!!!

En general cada “Unidad” posee dos ejercicios, uno de investigación y otro práctico. El de investigación se basa en búsqueda, análisis, y desarrollo de información sobre temas propuestos. Los prácticos se basan por ejemplo, en la instalación de software de prueba o libre para realizar distintas actividades como simulación y análisis de cierto tipo de tráfico de comunicaciones industriales.

Aparte la plataforma cuenta con un Blog donde se deberán “subir” los ejercicios prácticos donde los distintos alumnos podrán ver su contenido y votar en consecuencia.

A la hora de evaluar cada, “Unidad” tiene un test final que, para obtener el diploma final, hay que aprobarlo junto con uno  el final. Adicionalmente cada “Apartado” tiene el suyo propio, cuyo objetivo es evaluar los conocimientos. Estos no puntúan, si se suspenden no pasa nada, aunque es muy recomendable hacerlos.

En dos casos, las actividades han de ser plasmadas en documento “Word” o “PDF” para que sean evaluadas por los propios compañeros y calificarlas del 0 al 100 según su propio criterio.

En general, he quedado muy contento con el curso y ha cumplido con mis expectativas. El contenido de los materiales es muy bueno y la inclusión de video ha dinamizado el aprendizaje ya que muchas veces los cursos se basan en documentación escrita que aburre un poco. Con los videos es distintos. Hay que valorar el esfuerzo que supone la edición y maquetación de los mismos.

Otro de los aspectos destacables son los ejercicios, tanto de investigación como prácticos ya que te obliga a trabajar y profundizar en los distintos temas. Esto marca la diferencia con otros cursos que te explican las cosas, te ponen un test y listo. Aquí tienes que “currártelo” más, y eso me parece positivo para el aprendizaje.

Sin embargo no todo ha sido perfecto. Como en todas las cosas que se hacen por primera vez se pueden cometer errores o mejorar ciertas cosas. Por ejemplo, al principio se estimaba que la duración era de 36 horas y luego que no. La organización amplió posteriormente esta cifra a 50. También algunas preguntas de test podían tener a mi juicio (otros alumnos se pronunciaron igual) más de una posible respuesta válida que repercutía en el fallo de la misma. Lo malo es que no se despejaba la duda con lo que te quedas con ella.

Pero bueno, estoy seguro que los responsables tomarán nota de esto último y lo corregirán para futuras ediciones.

En resumen, recomiendo a todo aquel que desee aprender sobre este campo que se apunte y que lo hagan ya que, en mi caso, he aprendido mucho sobre estos sistemas. Ahora queda seguir formándonos, leer, practicar y seguir mejorando.