Debido al gran crecimiento en sistemas de control industrial basados en soluciones comerciales (COTS) conectados por TCP/IP, y a las amenazas asociadas a estos, la monitorización continua del correcto funcionamiento de las redes Operacionales (OT) ha llegado a ser crucial para nuestro bienestar y forma de vida. Las nuevas tecnologías de monitorización, como la de utilización de patrones de comportamiento en redes de control, pueden ayudarnos a ejecutar eficazmente estas tareas y garantizar la Cyber Seguridad de estas infraestructuras.
Monitorización continua de seguridad en redes de control industrial utilizando patrones de comportamiento
1. Monitorización continua de seguridad en redes de control industrial utilizando patrones de comportamiento
Por Enrique Martín Garcia
Schneider Electric – Global Solutions
IT Consulting & Integration Services
C/ Valgrande, 6
28018 Alcobendas
Madrid – Spain
enrique.martingarcia@telvent.com
2. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
23 de Enero de 2014
2
Contenidos
Resumen ....................................................................... 2
Introducción .................................................................. 2
Fundamentos de la monitorización ............................ 3
Redes IT versus Redes OT ............................. 3
Matriz de conexión. ........................................ 4
Matriz de actividad ......................................... 5
Matriz operacional ......................................... 5
Pruebas sobre la tecnología de monitorización ....... 6
Pruebas sobre la matriz de conexión .............. 6
Pruebas sobre la matriz operacional ............... 8
IEC 61850 MMS operación anormal. .................... 8
IEC 61850 longitud de cabecera anormal .............. 8
Pruebas sobre la matriz de actividad .............. 9
Conclusiones .............................................................. 10
Agradecimientos ........................................................ 10
Referencias ................................................................. 10
Resumen
Debido al gran crecimiento en sistemas de control industrial basados en soluciones comerciales (COTS) conectados por TCP/IP [1], y a las amenazas asociadas a estos, la monitorización continua del correcto funcionamiento de las redes Operacionales (OT) ha llegado a ser crucial para nuestro bienestar y forma de vida. Las nuevas tecnologías de monitorización, como la de utilización de patrones de comportamiento en redes de control, pueden ayudarnos a ejecutar eficazmente estas tareas.
Introducción
Cuando hablamos de seguridad en este tipo de redes industriales, tenemos que enfocarnos en la disponibilidad y fiabilidad, ya que los sistemas de control están diseñados para trabajar 24x7 en tareas de misión crítica que pueden ir desde el transporte de la electricidad, gas y petróleo que necesitamos, hasta el procesamiento del agua que bebemos.
Todas estas tareas críticas dependen del correcto comportamiento de los sistemas de control industrial. Este comportamiento puede ser interrumpido por cualquier operación humana anormal no intencionada o por una acción maliciosa con intenciones políticas, económicas o terroristas. En muchos casos, estos tipos de acciones son realizadas por usuarios de la organización [2], los cuales tienen los derechos, recursos y algunas veces intenciones de interrumpir las operaciones normales.
Para garantizar el correcto funcionamiento de estos sistemas, se necesita estar alerta de cualquier problema que pudiéramos detectar a través de la monitorización continua [3].
3. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
3
En este documento, proponemos la monitorización continua mediante la construcción de patrones de comportamiento como método para conseguir la mayor disponibilidad y seguridad de nuestros activos.
Fundamentos de la monitorización
Redes IT versus Redes OT
En cualquier red IP en el mundo de las tecnologías de la información (IT), hay tal variedad de actividades con tal número de variantes, que se hace extremadamente complicado el poder establecer patrones de funcionamiento normales.
Un ejemplo que mostramos a continuación es el registro de conexiones TCP abiertas al Puerto 80 (HTTP) que se generan después de navegar solamente por 10 páginas Web:
Las páginas accedidas tienen las siguientes categorías:
Una página Web personal.
Dos canales nacionales de TV
Dos Bancos Nacionales
Dos Tiendas online internacionales
Dos periódicos
Una Universidad Americana.
En la siguiente figura, podemos ver las conexiones establecidas tras acceder solamente a 3 páginas.
En Internet hoy en día este comportamiento es normal, y es producido debido al diferente uso de servidores Web de distribución de contenidos (adds, banners, etc) y otras tecnologías de marketing que están fuera de nuestro control
El tráfico IT no es solo HTTP, sino también
DNS, SMTP, POP3, IMAP, FTP y otros servicios nuevos que pueden cambiar rápidamente las conexiones de red necesarias para ejecutar las operaciones.
En este escenario, está claro que no podemos plantearnos tener un patrón de red estable para poder el correcto comportamiento operacional (BluePrint)
4. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
4
Cuando comparamos Redes IT con Redes de Tecnología de Operaciones (OT), encontramos las siguientes diferencias:
Redes OT
Redes IT
Número de dispositivos IP
Baja
Alta
Servicios ejecutándose
Baja
Alta
Protocolos utilizados
Baja
Alta
Exposición internet
Baja
Alta
Número de amenazas
Media
Alta
Prioridad de la disponibilidad
Alta
Baja
Prioridad de la confidencialidad
Baja
Alta
Prioridad de la integridad
Alta
Media
Las redes de control industrial son:
Menores en número de dispositivos y servicios.
No debieran conectarse directamente a Internet.
Bien definidas y diseñadas
Ejecutan operaciones repetitivas.
En estas condiciones es fácil ver que construir un patrón de comportamiento normal es posible, permitiendo de esta manera que cualquier evento fuera de este modelo pueda ser rápidamente detectado y comunicado.
Para configurar nuestro sistema de monitorización industrial basado en patrones de comportamiento, debiéramos pensar en tres principios fundamentales:
Qué va a donde (Matriz de conexión)
Quién está haciendo qué (Matriz operacional)
A qué hora ocurre (Matriz de actividad)
Si tenemos un claro conocimiento de estos tres puntos, podremos tener un sistema de monitorización basado en patrones que pueda evitar falsos positivos y proporcionar el mejor rendimiento.
Este patrón de comportamiento va a proteger nuestra Red industrial de cualquier operación errónea o intento de interrupción malicioso.
Veamos esto en los siguientes puntos:
Matriz de conexión.
Cuando hablamos de Redes de control TCP/IP tenemos que tener en cuenta que la tupla (local ip, local port, remote ip, remote port) es lo que define cada conexión TCP/UDP. Cada dirección IP del servidor normalmente puede utilizar hasta 65.536 puertos.
Dentro de la pila TCP, estos cuatro campos son utilizados como claves compuestas para asociar paquetes a conexiones.
Los puertos son números de 16 bits por lo que el número máximo de conexiones que cualquier cliente podrá tener a cualquier puerto host es de 64.000.
Podemos calcular el máximo número de conexiones externas en una red TCP, usando la siguiente formula:
Σ Σ
(No consideramos conexiones dentro del mismo servidor).
Estos valores pueden crecer exponencialmente en función del número de servidores interconectados y del número de puertos abiertos por cada servidor).
Cuando estudiamos el número de puertos abiertos en una red de control industrial bien configurada, encontramos los siguientes valores:
5. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
5
Nodo de la red de control industrial Puertos abiertos Suma de los otros Puertos Conexiones de red potenciales
Vijeo Citect Scada Server
16
101
1616
Vijeo Citect Client
10
107
1070
Network Switch
6
111
666
Unity Pro Workstation
2
115
230
Radius & Syslog server
16
101
1616
Historian Server
16
101
1616
Historian Client
9
108
972
WSUS, NTP & SNMP Server
16
101
1616
Firewall
6
111
666
PLC Modicom M340
8
109
872
PLC Modicom Quantum
12
105
1260
Total
12200
Este valor perfectamente acotado en el número de conexiones de red hace posible pensar en la generación de un patrón de comportamiento bien definido y manejable.
Este es otro principio básico de administración de sistemas y seguridad: Cada sistema de control industrial o desplegado en un entorno crítico tiene que estar bastionado al máximo para reducir la cantidad de recursos necesarios en su gestión y minimizar los riesgos de intrusiones remotas
Por otro lado, la existencia de tablas de conexiones correctamente documentadas, facilita el mantenimiento de la red y mejora la resistencia de la red en caso de problemas al ser más fácil la detección de cualquier error en la configuración o despliegue.
Matriz de actividad
Muchos sistemas de monitorización confían solo en las operaciones que son permitidas en la red pero no tienen en cuenta cuando se ejecutan. Este hecho es importante si usuarios internos ejecutan operaciones no apropiadas (De manera intencionada o no intencionada)
Cada Red de control debería tener procedimientos operacionales aprobados que los usuarios deberían seguir cuando realizan un acceso para ejecutar cualquier operación, y estos procedimientos tendrían que definir los horarios de cada posible operación en la red.
Con esta información, deberíamos poder definir una tabla que reflejase la relación entre usuarios, procedimientos, acciones y horarios.
Cualquier actividad fuera de esta tabla debiera ser detectada, registrada y escalada como un evento anormal.
Está claro que algunas operaciones como reconfiguración del PLC o RTU, actualización de la base de datos del SCADA o cambios de estados en ejecución de elementos de campo, tienen que ser bien conocidas y ejecutarse una ventana de operaciones definida por el administrador.
Más adelante mostraremos como la utilización de calendarios facilita el poder identificar operaciones inusuales o poco normales en la red de producción y ser escaladas apropiadamente.
Matriz operacional
Aunque muchos fabricantes de sistemas de control soportan la existencia de diferentes roles para el entorno operacional, es un hecho que los grupos de trabajo muchas veces usan el mismo usuario y clave para ejecutar su trabajo, no utilizando algunas veces estos roles de forma adecuada debido a la facilidad o al temor de no ser capaces de entrar en el sistema en situaciones críticas.
6. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
6
El uso anónimo de los roles operaciones es difícil de detectar y por tanto y podría hacer imposible detectar un fallo humano o una intervención maliciosa.
Más tarde mostraremos como la tecnología de monitorización basada en patrones de comportamiento puede utilizarse para detectar comandos no permitidos ejecutados por usuarios legítimos.
Pruebas sobre la tecnología de monitorización
Una vez establecidos los principios y metodología de monitorización de nuestra red de control, vamos a presentar nuestras solución y como se comporta en cada uno de estos aspectos.
La solución utilizada en el Área de Cyber Seguridad está basada en una tecnología muy disruptiva que construye el patrón de comportamiento de la red de manera automática y desatendida.
El patrón de comportamiento construido por la solución, define los modelos de conexión, protocolos, tipos de mensaje, campos de mensaje y valores de los campos que son permitidos en nuestra red (Lista Blanca). De manera que cuando una comunicación difiere del patrón, el sistema de sensores lo reporta indicando la fuente exacta del problema.
Esta tecnología es conocida como inspección profunda del comportamiento de los paquetes (DPBI)
Toda esta tecnología se implanta en un sensor controlado desde un centro de gestión instalado como un servidor físico o virtual llamado SCAB. (Security Control Awareness Box)
Vamos a ver como los principales principios de monitorización de redes industriales funcionan en dispositivos de prueba en nuestro CyberLab.
Pruebas sobre la matriz de conexión
Después de conectar los sensores del SCAB a la red, podemos empezar la fase de aprendizaje.
En esta fase, SCAB construye de manera autónoma nuestro patrón de comportamiento de red.
7. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
7
El flujo que sigue es mostrado a continuación:
Podemos personalizar el patrón de comportamiento si es necesario con solo añadir, modificar o borrar conexiones utilizando un editor de textos.
El sensor es capaz de reconocer e inspeccionar distintos protocolos:
OPC-DA
MMS
Modbus/TCP
IEC 101/104
ICCP
IEC 61850
RPC/DCOM,
SMB/CIFS
DNP3
HTTP
VNC
RDP
Después de la finalización de la fase de aprendizaje, tenemos el perfil de la comunicación local de la red de control.
En este momento SCAB, conoce cada tupla permitido en la red de control.
Src IP,Src Port -> Dest. IP,Dest Port
Esto es algo difícil de conseguir en una Red Local multipropósito sin tener varios cambios (Alertas) por hora.
Desde este instante, podemos ser alertados por:
Nuevos dispositivos en la red
Dispositivos intentando conectarse a nuestro modelo
Dispositivos recibiendo información de fuera de nuestro modelo.
Para conseguir estas alertas, tenemos que cambiar los sensores del estado de aprendizaje al estado de detección.
Hicimos un test muy sencillo después de construir el modelo de red intentando conectarnos desde 10.1.1.243 al puerto 502 en 10.1.31.10.
Como hay una clara violación del modelo, obtenemos lo siguiente:
8. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
8
Descendiendo en el árbol de alerta, podemos ver con mayor detalle la descripción del perfil de violación de la comunicación:
Pruebas sobre la matriz operacional
A pesar de que detectar conexiones no permitidas en una red de control bien definida no parece muy impresionante, es imprescindible hacerlo de manera continua.
Esta funcionalidad es bien conocida pero no muy útil cuando intentamos detectar operaciones ejecutadas desde dispositivos válidos por usuarios legítimos. Para la detección de estas acciones, necesitamos utilizar la tecnología de inspección profunda de comportamiento de paquetes (DPBI).
Una vez el patrón de red es creado, hay una colección de conexiones (IP, puertos, destino IP, puerto destino) protocolos y comandos permitidos.
Pero usando la tecnología DPBI, hay también valores válidos o rangos de valores permitidos para cada mensaje del protocolo en el modelo de Red que SCAB ya ha creado.
Vamos a ver dos casos en un sistema crítico de control de protocolos de red: IEC 61850 MMS.
IEC 61850 MMS operación anormal.
En este caso, hemos activado el sensor IEC 61850 DPBI en modo de aprendizaje en nuestro SCAB y hemos ejecutado comandos usuales que no incluyeron ninguna instrucción de “Borrar Fichero”.
Esto significa, que nuestra matriz operacional no contiene este comando en el patrón de comportamiento de la red.
Después de activar el modo de detección, y ejecutar dichos comandos en la red, las alertas salen y la acción es almacenada con la tiempo exacto de ejecución , la IP y la información que podemos ver en la siguiente figura
recorriendo los mensajes de violación dentro del árbol, podemos ver el nombre del fichero que ha sido borrado. (IED_CONF.dat):
IEC 61850 longitud de cabecera anormal
Utilizando el mismo entorno de prueba (MMS activado en el motor DPBI), hemos enviado un mensaje desde la IP 10.1.1.243 con una cabecera de 1026 bytes a nuestro puerto de simulación RTU en la IP 10.1.31.10.
El efecto de realizar esta acción, hizo que los dispositivos de campo conectados a la
9. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
9
RTU no tuvieran respuesta (Negación de servicio)
Una vez ejecutado este comando, el SCAB detecta la fuente de la operación y la dirección IP de destino.
Buscando la alerta en la figura, podemos ver el valor exacto transmitido en la cabecera (1026) que puede causar un problema potencialmente muy serio.
En ambos casos los comandos fueron ejecutados desde direcciones IP legítimas por usuarios legítimos, y únicamente utilizando esta tecnología pudieron ser detectados, registrados y comunicados.
Pruebas sobre la matriz de actividad
Las violaciones de los modelos de redes son siempre detectadas y comunicadas, pero cuando estas operaciones han sido ejecutadas fuera de los tiempos de operación normales, tenemos que tratarlas con mayor importancia.
El escenario más común es detectar las anomalías en las horas no laborables (Vacaciones)
Como el periodo vacacional puede variar según el país o la región, las fechas concretas pueden ser configuradas utilizando las funcionalidades de “Vacaciones” de manera que fechas independientes o múltiples pueden ser añadidas a la lista de vacaciones.
Utilizando los días de vacaciones, se pueden añadir filtros de alerta y se puede mostrar las alertas durante los días no laborables para tratarlos de una manera prioritaria.
Hemos activado esta funcionalidad en esta prueba definiendo el día de hoy como festivo, de manera que las alertas fueran filtradas y mostradas directamente.
Al producir distintas violaciones del modelo de comportamiento de red, obtenemos el siguiente resultado:
Todas las alarmas fueron detectadas y comunicadas utilizando los filtros dado que ocurrieron en un día no laborable.
10. Monitorización continua de seguridad en redes de control
industrial utilizando patrones de comportamiento
10
Conclusiones
Parece claro que Organizaciones críticas han entendido la necesidad de monitorizar de manera continua su red operacional para poder detectar cualquier anomalía que puede comprometer la producción y los objetivos de negocio.
Aparte de desplegar los procedimientos apropiados de seguridad en nuestra organización, nuestra metodología establece tres fuentes de información para conseguir la deseada seguridad operacional y niveles de disponibilidad:
Matriz de conexión
Matriz operacional
Matriz de actividad
Debiera haber una cuarta matriz describiendo el intercambio de información de los dispositivos de nuestra red industrial: La Matriz volumétrica.
Cuando se transmiten nuevos ficheros de configuración, modificamos la base de datos de un SCADA o modificamos ficheros de configuración de los dispositivos de campo, utilizamos un rango de valores bien definidos.
Es posible establecer el máximo y el mínimo de estos valores en el tamaño de la información que nuestra red de control está intercambiando entre los diferentes dispositivos a través de las soluciones basadas en flujos y en servidor.
Para mantener y gestionar toda esta información, proponemos la solución SCAB, como una herramienta útil en las redes SCADA para construir un patrón comportamiento y detectar cualquier problema causado por errores humanos o por intentos malintencionados que puede comprometer a nuestras redes.
La metodología y solución de sensores continúa propuesta, permite examinar la configuración actual de nuestra red y de sus comunicaciones (dispositivos, aplicaciones, protocolos, tipos/valores de mensajes), analizar la operatividad de la red, detectar comunicaciones o cambios en la configuración inesperados y despliegue de nuevos dispositivos de campo, haciendo más fácil mejorar la resiliencia de nuestra red de control.
Agradecimientos
Me gustaría dar las gracias a DelI España e Intel España por el soporte proporcionado a los servidores de nuestro CyberLab y a Security Matters por sus puntualizaciones técnicas.
Referencias
[1] S.M. Bellovin. “Security Problems in the TCP/IP Protocol Suite”. Computer Communication Review, Vol. 19, No. 2, pp. 32-48, April 1989.
[2] Suzanne Dawson, Heather Davis, Richard Lynch and Others. “2013 State of Cybercrime Survey”. The Software Engineering Institute CERT Program at Carnegie Mellon University. pp. 9-12, Jun 2013
[3] Dr. Sandro Etalle, Dr. Cliford Gregory, Dr. Damiano Bolzoni, Dr. Emmanuele Zambon, Dr. Daniel Trivellato,“Monitoring Industrial Control Systems to improve operations and security”, Dic 2013.