Más que IPs y puertos para proteger entornos industriales

Los cortafuegos representan la primera línea de defensa para proteger los entornos industriales. Separar y segmentar las redes, tanto si nos referimos a los entornos IT-OT como exclusivamente a OT es considerada como la primera labor a realizar. Con ello conseguiremos controlar, entre otros aspectos, accesos, conexiones, aplicaciones, usuarios… reduciendo así el grado de exposición de nuestros dispositivos y la respectiva superficie de ataque.

Sin embargo, desplegar este tipo de soluciones lleva aparejado un conjunto de acciones como identificar el tráfico existente para luego configurar todas las reglas de filtrado. La realidad me demuestra que muchas organizaciones no tienen conocimiento de las comunicaciones que se producen dentro de sus redes y aún menos documentadas. Nos enfrentamos en muchos casos a redes conmutadas o enrutadas donde todo comunica de forma directa y en las que no se ha contemplado, no sólo la seguridad, sino también un diseño jerárquico, escalable y tolerante a fallos. Me refiero, a que no existe una clara definición de perímetros, lo cual da lugar a arquitecturas con propósitos distintos bajo un mismo dominio de broadcast, alcance directo a los entornos OT desde oficinas, un único plan de direccionamiento, y así un largo etcétera.

Por tanto, de igual modo que hemos de identificar nuestros activos que antes de llevar a cabo cualquier acción, aquí deberemos hacer lo mismo con las comunicaciones. Necesitaremos, al menos, información de las direcciones de IP tanto de origen como de destino y los puertos, en particular el de destino. No podremos avanzar hasta llevar a cabo esta labor y, por supuesto, generar la documentación asociada. Además, hemos de tener presente que muchas de esas comunicaciones no serán necesarias, por lo que no tendrán que ser configuradas. Finalmente, y habiendo cerrado este proceso o, en paralelo con otros, habrán de ser validadas por responsables de planta, IT o similares.

Sin embargo, este análisis no puede quedar ahí. En redes industriales aparte de saber quién se comunica con quién y en qué puerto, hemos de saber el protocolo utilizado y qué valor, comando o instrucción “va dentro” de ese tráfico. Es decir, importa no sólo el tipo de equipo que inicia la comunicación y la mantiene, sino además cómo y qué se “dicen” entre sí.

Entre otros muchos motivos, lo que puede provocar un incidente o una pérdida del servicio, va a ser la escritura de una variable, el borrado de un fichero, cambio de estado de la CPU, acceso con credenciales por defecto desde dispositivos, etc.

Esto nos lleva a otra conclusión… y es que para saber lo que envía y recibe, hemos de conocer el protocolo, cosa que no siempre sucede. Se sabe que un HMI se comunica con un PLC; se responde ante ciertas peticiones; una aplicación se comunica con componentes de campo, pero pocas veces se baja hasta ese nivel.

Hemos de tener en cuenta que la mayoría de los protocolos de comunicaciones no incorporan medidas de seguridad nativas con lo que, sumado a ciertas funcionalidades y vulnerabilidades de equipos podremos, de forma intencionada generar o reproducir tráfico que permita leer o escribir valores, alterando así el normal funcionamiento.

Sumado a lo anterior, no podemos olvidar que la naturaleza de estos entornos es muy particular. Adicionalmente, pueden darse con frecuencia otra serie de circunstancias que aumenten el riesgo que se produzca un incidente, bien de forma intencionada o no intencionada. Por ejemplo:

  1. La viabilidad de aplicar una actualización o parche para corregir una vulnerabilidad puede llegar a ser muy difícil o inviable, por razones de disponibilidad, número de equipos, ubicación, riesgos asociados, y sobre todo impacto sobre el sistema.
  2. Inexistencia de software antivirus o protección de endpoint para análisis de dispositivos USB.
  3. Conexionado a la red de equipos de Proveedores o terceras partes para labores de mantenimiento o soporte.
  4. Incorporación de nuevos dispositivos con funcionalidades embebidas en los que no se ha contemplado la seguridad.
  5. Definición de usuarios con permisos de administrador y de uso compartido por equipos técnicos.

Las circunstancias descritas con anterioridad, favorecen el éxito de que una negligencia, exceso de confianza, infección, uso incorrecto de credenciales, explotación de una vulnerabilidad, software no necesario para la operación de las instalaciones, etc; tenga éxito y afectar a su disponibilidad y por tanto a la actividad de negocio.

Así pues, en estos análisis previos no podemos quedarnos exclusivamente en identificar IPs de origen y destino y puertos. Hemos de ir más allá y realizar un análisis más pormenorizado. Es necesario, aplicar otros controles que nos permitan detectar aplicaciones; analizar patrones para la identificación de intrusiones; presencia de malware; tráfico Web para accesos a interfaces de gestión; etc. para conocer el estado actual y si ya hay, o no, alguna anomalía en el entorno donde estamos.

En este sentido una de las opciones/recurso son las herramientas de monitorización como la que hablaba en la entrada “Monitorización Redes Industriales, SCADAGuardian” pero, claro está, no siempre podremos hacerlo.

Por tanto, se nos plantea la cuestión sobre cómo podremos hacer dicho análisis en esa fase previa al despliegue de cortafuegos. Sin olvidarnos, claro está, las características tanto de los sistemas como de las comunicaciones industriales en particular en lo que a latencias y variación del “Jitter” se refiere. Muy especialmente aquellas a nivel de célula de automatización.

En próximas entradas veremos la manera en la que podremos utilizar los estos dispositivos ya adquiridos para llevar a cabo esta labor. Es decir, realizar ese análisis más pormenorizado al que hacíamos referencia y a partir de ahí conocer lo qué sucede en nuestras infraestructuras de comunicaciones.

Gracias a ello, podremos avanzar de una manera más eficiente, completa y contextualizada la protección de nuestras organizaciones, empresas o clientes.

¡Nos vemos en la próxima!

SIEMENS SCALANCE S615, firewall para protección de célula

La seguridad perimetral es, y seguirá siendo, el primero de los requisitos para proteger los entornos industriales. Si no somos capaces de establecer los límites y saber hasta dónde llegan los entornos IT y OT, poco podremos hacer a favor de su seguridad. Para ello la apuesta es el despliegue de NGFW y ejercer así un control hasta Capa 7 para Separar y Segmentar nuestras redes. Pero si lo que necesitamos, o queremos, es ir un paso más allá y bajar a nivel de célula, también podremos hacerlo empleando modelos más pequeños pero adaptados físicamente a situaciones ambientales más hostiles de temperatura, humedad, polvo o campos electromagnéticos. Tal es el caso de modelos como Fortinet Fortigate Rugged30D, 35D, 60D y 90D; CheckPoint 1200R o Palo Alto 220R

Sin embargo, puede haber escenarios en los que este grado de protección a bajo nivel no pueda o no tenga porqué alcanzarse.

Por un lado, hay que tener en cuenta un que las actualizaciones de las firmas Antivirus, Control de Aplicación, IDS/IPS, Filtrado Web hay que renovarlas asumiendo un coste mayor o menor dependiendo el número de equipos o el período de soporte contratado. Y por otro, que cada organización determinará el grado de riesgo asumible en función de su actividad. Por lo que podrá aceptar que no es aceptable tal inversión, dando por buena una protección hasta Capa 4 implementando en firewalls superiores los citados controles.

No nos podemos olvidar que cada proyecto lleva aparejado un consumo de recursos, tanto de tiempo, personal y dinero. Dicho de otra manera, ¿cuánto tiempo necesito? ¿Cuántos profesionales me hacen falta? Y … ¿Cuánto me va a costar? Y en este sentido, no solamente en el momento del despliegue sino en los años sucesivos.

Cada organización es única, con lo que arquitecturas, sistemas, procesos, riesgos, amenazas, vulnerabilidades entre otros factores deben ser tratados de forma individual.

Por tanto, por muy buenas y que sean las medidas, y las propuestas sean de máximos, puede haber muchos condicionantes que nos hagan reducir nuestras pretensiones y no ir a propuestas de máximos. Por tanto, deberemos buscar una vez más alternativas y aproximaciones distintas.

En este sentido los fabricantes de equipos industriales disponen de productos de networking para una u otra función. Tal es el caso del equipo SIEMENS Scalance S615

Se trata de un Router/Firewall de pequeño tamaño con el que podremos crear hasta un total de 128 reglas de filtrado en Capa 4 y con el que podremos apoyarnos para realizar un filtrado de las comunicaciones. Posee un diseño pequeño, para equipos individuales o un conjunto reducido de ellos, pudiéndose instalar como es lógico, sobre carril DIN para un montaje próximo al equipo final.

Permite ser alimentado por doble fuente de alimentación a 24VDC, mientras que sus 5 puertos RJ45 nos permiten conectar distintos equipos a nivel de célula un rango de operación de -40º a 70º C. La protección ambiental está situada en IP20.

Ya dentro de las funcionalidades de filtrado (de tipo “Stateful Inspection”) si bien no tendría mucho sentido hacerlo, podremos deshabilitar la funcionalidad de cortafuegos.

Luego dentro del mismo menú podremos definir Servicios IP, Protocolos a nivel de capa 3 e incluso establecer el tipo y código permitidos por ICMP.

La definición de servicios lo encontraremos en la pestaña “IP Service”, desde donde luego los encontraremos como veremos en las reglas a configurar.

Las reglas las configuraremos en la pestaña “IP Rules”. En cuanto a las acciones podremos elegir entre Permitir, denegar o denegar sin enviar ninguna notificación al emisor.

Adicionalmente a las IPs origen y destino, podremos definir las interfaces de entrada y salida para luego completarlas con los servicios.

Para cada una de ellas podremos indicar si queremos registrar algún tipo de log y su respectiva categorización en caso de “machee” con alguna de las reglas configuradas. En nosotros estará definir qué es más o menos importante.

Luego en otro de los menús podremos visualizarlos.

En este sentido conviene mencionar la posibilidad de enviarlos a un servidor Syslog para poderlos consolidad junto con los de otros equipos. Esto cobra especial importancia si contamos con un sistema de correlación SIEM con el que podremos detectar anomalías de forma conjunta y contextualizada.

Como podemos apreciar se trata de un cortafuegos con capacidades reducidas, y con limitaciones en comparación productos de fabricantes especializados. No obstante, puede ser un buen recurso como apoyo a otros con las funcionalidades y motores de análisis necesarios para garantizar unos niveles de protección acordes a las amenazas de hoy en día.

Tal es el caso de la protección PLCs, RTU´s como se puede apreciar en la imagen siguiente.

Hasta aquí la presentación de este equipo, que aunque sencillo, puede ayudarnos a mejorar los controles de acceso a equipos finales.

¡Nos vemos en la próxima!

Un saludo.

Sumando fuerzas, Switching y Firewalling para proteger maquinaria e instalaciones industriales

Dentro de cualquier estrategia de protección de entornos industriales no podemos pasar por alto la heterogeneidad de éstos. No podemos considerar de igual manera una actividad dedicada a la fabricación de vehículos, farmacéutica, alimentación o componentes electrónicos. Los tiempos de respuesta, los máximos asumibles de parada, estrategia de producción, pueden no ser para nada similares. Por tanto, la manera en la que debemos priorizar y desplegar las medidas que prevengan incidentes, debe ser distinta.

Pero independientemente del sector, los propietarios de los activos (esto es, las propias empresas) incorporan tecnología distinta de fabricantes, ingenierías, integradores o cualquier otra tercera parte debido al alto grado de especialización aparte de la complejidad o necesidades concretas de estos entornos. Claro está, que en muchos casos sea más operativo, económico o práctico externalizar estas tareas en lugar de desarrollar la solución y el conocimiento con medios internos.

Puesto que forman parte del proceso, se ha de acordar contratos de mantenimiento con el fin de garantizar un recurso en caso de ser necesario y recibir soporte a lo largo del ciclo de vida del producto, que como sabemos, dentro del mundo es OT es mayor que el tradicional IT. Esto es, respuesta ante una incidencia, actualizaciones, modificaciones o cualquier otra razón, de tal manera que el propietario de ese activo no pueda ver afectada su actividad por no saber resolver, atender o actuar sobre él.

Esto supone un problema para los citados integradores ya que una vez sus sistemas o maquinaria están en las instalaciones de sus clientes, dejan de tener, a priori, un control sobre el mismo. No tienen la garantía de que alguien pueda, en un momento dado, “conectarse” y llevar a cabo una acción que derive en un mal funcionamiento y generar un incidente con mayor o menor impacto. Por tanto, resulta necesario controlar los puntos de conexión a ese equipamiento en particular al de red como switches que permitan la comunicación entre equipos y componentes. Particularmente si hay consecuencias económicas…

En este sentido la conjunción de Switches y Firewalls del fabricante Fortinet pueden ayudarnos ya que dichos cortafuegos poseen la capacidad de controlar algunas funciones de los switches mediante un controlador embebido.

En este caso disponemos de un Fortigate Rugged 90D y un FortiSwitch Rugged 112D-PoE.

El Firewall será el que nos una a la red del cliente y evitará que un activo de la red de éste llegue a los componentes de la instalación o maquinaria en cuestión. La configuración podrá ser variada según la topología, esto es, que opere a nivel de capa 2 o 3. Será pues nuestra seguridad perimetral. El modo de acceso lo podemos establecer a través de un túnel VPN a partir de las opciones que nos permite el equipo. Obviamente, habilitaremos los distintos perfiles de seguridad como Antivirus, IDS/IPS, Control de Aplicación, etc.

Ya aguas abajo del Cortafuegos, el Switch permitirá la comunicación entre los equipos finales. Cómo configuremos ambos equipos dependerá del tipo de instalación, arquitectura, tipo de tráfico, conexionado, entre otras variables.

Para poder llevar a cabo esta administración, deberemos configurar una de las interfaces del Fortigate para la comunicación con el FortiSwitch empleando el protocolo FortiLink. En nuestro caso serán enlaces por medio de dos SFP de fibra en ambos extremos. Podréis encontrar más información en estos dos enlaces, enlace 1 y enlace 2.

Por defecto el switch operará en modo “Local Management”.

Si decidimos gestionarlo desde el Firewall deberemos tener presente que la se borrará cualquier configuración existente.

Hecho esto, se nos generarán dos interfaces, dependiendo de las características habilitadas.

Para poder agregar el switch deberemos ir al apartado “WIFI & Switch Controller” y comprobar que el switch se ha detectado y autorizarlo. Una vez hecho el mismo se reiniciará. Según el modelo del switch, por defecto se definirán algunas interfaces de “Auto-discovery”. Podréis encontrar más información aquí.

En el siguiente apartado podremos crear las interfaces de cada una de las VLAN que necesitemos. En mi caso he creado la VLAN100.

A continuación, podremos asignar a cada puerto la correspondiente VLAN y configurar algunos otros parámetros adicionales relativos a PoE, STP, Status, etc.

El último apartado será lo relacionado a las Políticas de Seguridad, algo que nos es objeto por ahora, todo se andará.

Cabe mencionar que aunque veamos que las características de parametrización son menores podremos abrir un CLI desde el apartado “Managed FortiSwitch”.

No obstante, si lo deseásemos también podríamos acceder a la interfaz web. Para ello deberemos de configurar una ruta estática que apunte a la interfaz creada para el enlace Fortilink.

A partir de ahí, podremos acceder a él, no sin antes ser avisados de que este equipo está siendo gestionado por un Fortigate.

Así pues, lo que he querido mostrar hoy es la posibilidad de administrar desde un Firewall algunos parámetros de un switch y con ello ejercer un control sobre los puertos de éste desde éste sin tener la necesidad de acceder a él. Por ejemplo, ante una tarea de mantenimiento, por defecto, dejaremos deshabilitados los puertos que no se utilicen y habilitar uno en caso de ser necesario. Pero si en contreto se trata de una tarea ejercida por un personal externo a la organización como puede ser la ingeniería que construyó la citada maquinaria podríamos, crear una VLAN concreta, asignarla aun puerto del switch y que todo el tráfico pase por el firewall hacia los equipos autorizados, teniendo registro y control de lo que se realice. Aparte, someterlo a filtrado de capa 7, generando los logs pertinentes y registrando evidencias de lo que suceda.

Además, hemos de recordar que los equipos FortiGate también disponen de un controlador Wi-Fi con lo que de forma análoga podremos administrar puntos de acceso tal y como se muestra en la imagen siguiente.

Esto lo podríamos acompañar como puede ser el software FortiClient tal y como lo hablaba tiempo atrás en la entrada “Controlando a nuestros Proveedores, Parte I” y “Controlando a nuestros Proveedores, Parte II”.

Desde luego este es el aspecto más básico ya que podremos explotar algunas funcionalidades más que por ahora no hemos contemplado.

Un saludo, hasta la próxima!

«DoS Policy» más allá del filtrado tradicional

Como hemos comentado en otras ocasiones la separación y segmentación de los entornos IT y OT es la primera medida técnica que debemos tomar. Es necesario definir los perímetros y qué comunicaciones deben permitirse entre uno y otro lado. Para conseguirlo, empleamos Cortafuegos aunque con características adicionales que han dado lugar a los conocidos NGFW. Sin embargo, también podemos contar con otras adicionales, en este caso, para evitar denegaciones de servicio, DoS.

La primera acción que debemos hacer es identificar el tráfico. Definir qué comunicaciones existen en nuestro entorno de control y automatización. Luego, permitirlas en función del criterio que más se ajuste ya sea por IPs, interfaces, servicios, subredes, aplicaciones, protocolos o cualquier otro. Sin embargo, una vez hecho esto y teniendo que claro “qué si y qué no”, también es importante identificar posibles anomalías dentro del mismo pudiendo afectar al funcionamiento del, o los equipos, destino.

Una de las acciones con las que podríamos afectar a las comunicaciones de este ámbito es introduciendo tráfico adicional. Sea este Broadcast, Multicast o Unicast los efectos podrán ser unos u otros ya que dependerá si la electrónica de red lo replica por todos los puertos o sólo por aquél que está dirigido al destinatario.

Si nos referimos a los equipos de control, sabemos que éstos tienen un ciclo de vida mayor con lo que es muy común encontrarnos con equipos antiguos con una capacidad para gestionar comunicaciones mucho más limitada que los equipos actuales. Ante un exceso de tráfico, aunque esté dirigido a un puerto de destino permitido, éstos podrían dejar de responder perdiendo así visibilidad y control.

Hay que tener presente que una denegación de servicio puede no venir exclusivamente de medidas claramente intencionadas. También puede hacerse por un error o mala parametrización de sistemas. Un caso lo podríamos encontrar en los escáneres de vulnerabilidades. Si no los configuramos correctamente y no los ejecutamos acorde a los equipos finales podríamos llegar a comprobar vulnerabilidades de sistemas operativos Windows, Linux, etc. sobre autómatas o controladores que, lógicamente, no los empleen o podrían no hacerlo. Aparte de que los resultados no tendrían sentido, podría desembocar en posibles bloqueos en módulos de comunicaciones, tiempos de respuesta tardíos, entre otros.

Para emular una situación de esta índole he elaborado una Prueba de Concepto empleando el simulador Snap7 y equipos virtuales. No obstante, la prueba fue realizada sobre dos autómatas Siemens S7-400 y S7-300 y los resultados fueron la pérdida de visibilidad desde el servidor que los gestionaba. Los equipos no eran capaces de manipular tanto tráfico. Por supuesto, en un entorno de laboratorio.

La misma sigue el siguiente esquema:

Desde un equipo con una distribución Kali Linux realizamos una inundación de tráfico por medio de la herramienta hping3, efectuando peticiones TCP SYN contra el puerto TCP 102, que es el empleado por el fabricante Siemens. Dicho equipo tendrá una IP 192.168.100.20, mientras que el PLC virtualizado 192.168.20.10.

root@kali:~# hping3 –flood -p 102 -S 192.168.20.10

Antes de realizar dicha operación podremos comprobar que el consumo de CPU como de memoria es bajo dada la ausencia de sesiones.

Sin embargo, una vez comenzado el envío de paquetes el consumo de recursos va en aumento:

Si en ese momento decidiésemos conectarnos a dicho PLC simulando un servidor, HMI, etc. veríamos que no sería posible y cómo la propia herramienta muestra un mensaje en la parte inferior de la captura “ISO: An error occurred during…”

En este sentido fabricantes como Fortinet introducen una funcionalidad denominada “IPv4 DoS Policy” que nos va a permitir atajar que, algo o alguien, de una manera intencionada, o no, pueda generar un exceso de tráfico que desemboque en una pérdida de visibilidad o control sobre equipos finales.

En la imagen siguiente podemos ver los distintos parámetros que podemos definir y parametrizar según sea nuestra necesidad.

Deberemos indicar la interfaz de entrada por dónde esperaremos el tráfico en cuestión, ya sea física o lógica; direcciones IP de origen y destino y servicios. A continuación, hemos de identificar las características a nivel de capa 3 y/o 4 que queremos habilitar y los respectivos umbrales de cada uno de ellos. Este es un trabajo que hemos realizar con cautela ya que nos obliga a tener una estimación acerca de los valores tolerables y qué se escapa de un normal comportamiento. No tenemos porqué habilitar todas las opciones, sino aquellas que consideremos que nos pueden ser de utilidad o tengan sentido dependiendo de la ubicación y exposición del cortafuegos. Finalmente, una de las opciones que sí resulta conveniente habilitar es la opción de registro ya que nos va a permitir disponer de información al respecto, como se puede ver en la imagen siguiente.

Cuando hablamos de cortafuegos, generalmente nos viene a la mente la opción de permitir o denegar tráfico y sobre él aplicarle controles adicionales como Antivirus, IDS/IPS, entre otros. Es cierto, ese su principal cometido. Sin embargo, podemos encontrar funcionalidades que, sin penalizar el rendimiento, pueda ayudar a identificar anomalías de aquél que estamos dejando pasar.

La primera tarea es decidir qué debemos autorizar y qué no. Esto nos va obligar a conocer qué comunicaciones establecen nuestros equipos de control y sistemas asociados. A menudo partiremos de un desconocimiento total ya que nos enfrentaremos a entornos conmutados o enrutados donde no se ha documentado dicha información y obviamente no existen elementos de seguridad perimetral. Si queremos filtrarlas deberemos identificarlas, y entender el por qué deben producirse, o no. No todo lo que veamos debe ser permitido. Probablemente ni tan siquiera los propios usuarios de las instalaciones lo sepan. Es una labor que puede complicarse según sean los escenarios, pero que en cualquier caso, ha de realizarse.

Un buen recurso pueden ser los “Puerto Espejo” o dispositivos como el Siemens TAP  104, que nos ayudarán a replicar tráfico de red y que pueda ser colectado y analizado a posteriori.

Hasta aquí la entrada de hoy.

¡Un saludo nos vemos en la próxima!

BACnet, fundamentos de un protocolo para la gestión de edificios

A menudo nos centramos en materia de Ciberseguridad haciendo referencia a aquellos equipos y sistemas que intervienen en los procesos productivos o entornos de control y automatización. Sin embargo, las fábricas no sólo son PLCs, HMIs, Workstations, sensores u actuadores. Dependiendo de la actividad y el tamaño, cuentan con otros elementos que también contribuyen a que se garantice la disponibilidad de la que tanto hemos hablado. Me refiero a sistemas de refrigeración, extinción de fuegos, climatización, montacargas, etc. los cuales pueden ser gestionados por medio del protocolo BACnet.

Habitualmente los vemos referenciados en los denominados “Edificios Inteligentes”, sin embargo, su uso ni es exclusivo de ellos ni es algo relativamente nuevo. La gestión de edificios viene dada por las siglas BMS, Building Management System debiéndose distinguir, entre edificios de viviendas o edificios industriales. En general, los sistemas BMS integran un conjunto de subsistemas encargados de los sistemas de control de iluminación, antincendios, alarmas, elevadores, ventilación, temperatura, etc. Si bien muchos de ellos son comunes a ambos entornos no podemos decir que son similares ya que las aplicaciones y alcance son distintos.

Ahora bien, al igual que PLCs, HMIs, y demás dispositivos, estos sistemas han de comunicarse entre sí para su propio funcionamiento y gestión. En este sentido, uno de los protocolos empleados es BACnet, Buiding Automation Control Network. Desarrollado en 1987, ha sido un ANSI e ISO estándar desde 1995 y 2003, respectivamente. Aunque su mantenimiento es continuo, el propósito de BACnet es proporcionar interoperabilidad entre sistemas y dispositivos en aplicaciones de control y automatización de edificios, mediante un protocolo de comunicaciones estándar.

Al igual que muchos otros, cada dispositivo BACNet es una combinación de hardware y software, encontrándolo como norma general en forma de controlador, pasarela o interfaz de usuario. Cada uno de ellos dispone de un identificador o número de instancia único que lo identifica y diferencia de los existentes en la red aparte de otros con información relativa a las entradas y salidas que  monitoriza y controla.

Dentro de BACnet podemos encontrar 3 conceptos claramente diferenciados, Objetos, Propiedades y Servicios.

Toda la información contenida dentro de un dispositivo BACnet es ordenada como objetos, el cual le convierte en un protocolo orientado justamente a esto mismo, a objetos. Cada Objeto” representa un componente del propio dispositivo o un conjunto de información que puede ser solicitada por otro a través de medios como Ethernet, IP, RS-485, etc.

El protocolo define un total de 54 tipos de objetos para los usos más comunes cubriendo así la mayoría de las necesidades. Sin embargo, da la posibilidad de crear otros nuevos para no interferir sobre aquellos usos más concretos o aplicaciones propietarias.

Arquitectura e inteoperabilidad en BACnet

 

Cada objeto tiene un identificador de 32 bits el cual contiene un código para el tipo de objeto y el número de instancia de dicho objeto.

Con independencia del propósito o función, cada “Objeto” posee un conjunto de “Propiedades”. Cada una de ellas contendrá dos partes, un identificador y un valor. El identificador son números que la definen de forma única en el ámbito del tipo de objeto; y el valor, la magnitud del mismo. Luego, dicha información podrá ser tanto de lectura como de y escritura.

Si unificamos ambos conceptos, podemos decir que cada “Objeto” incluyen “Propiedades” que determinan sus capacidades, operación e información asociada.

Como hemos dicho anteriormente los dispositivos interactúan entre sí para su operación. Cuando un equipo se comunica con otro para llevar a cabo una determinada acción, lo hace a través de los denominados “Servicios”. Los servicios son agrupados en 5 categorías según su funcionalidad:

  1. Object access (lectura, escritura, creación, borrado)
  2. Device management (descubrimiento, sincronización horaria, inicialización, copia de respaldo y restauración)
  3. Alarm and event (alarmas y cambios de estado)
  4. File transfer (Tendencia de datos y cambio de programa)
  5. Virtual terminal (interfaz hombre-máquina por medio de menús o similar)

Cada dispositivo envía las peticiones empleando mensajes convenientemente estructurados tanto en la pregunta como en la respuesta. Los mensajes son codificados en un stream numérico definiendo las funciones que deben llevarse a cabo.

Para que dichos mensajes puedan enviarse y recibirse, se establecen varios medios de transporte, los cuales se citan a continuación:

  1. BACnet/IP
  2. BACnet ISO 802-3 (Ethernet)
  3. BACnet MS/TP (Master-Slave/Token Passing)
  4. BACnet over ARCNET
  5. BACnet Point-to-Point (EIA-232 and Telephone)
  6. BACnet over LonTalk Foreign Frames
  7. BACnet over ZigBee

Cada uno de ellos son una combinación de capas Físicas y Enlace de Datos. Sin embargo, el mensaje BACnet es independiente del medio empleado pudiendo existir a su vez pasarelas referenciadas como “Routers” que puedan combinar cada uno de los medios. No obstante, serán los dos primeros los que reclaman más nuestra atención ya que proporcionan integración con redes tradicionales.

BACnet/IP proporciona conectividad a nivel de capa 3 pudiendo ser los equipos accesibles desde distintas redes IP. Cuando este medio es empleado con múltiples subredes, es necesario el uso de una funcionalidad especial denominada BBMD, Broadcast (Management Devices), equipo empleado para administrar los mensajes broadcast entre subredes. Éste recoge dichos mensajes y los redistribuye a otro BBMD ubicado en otra red mediante mensajes unicast.

Mientras que, BACnet ISO 802.3, similar al anterior, pero limitando las comunicaciones a nivel de capa 2.

Ahora bien, teniendo en cuenta los conceptos acerca de dispositivos, objetos propiedades, servicios y la forma en la que transmitir los mensajes, BACnet proporciona capacidades funcionales las cuales son denominadas como “Interoperability Areas”.  Existen un total de 5:

  1. Data Sharing, intercambio de información entre dispositivos. Lo mensajes pueden ser priorizados en función de su propiedad, además de ser de lectura o lectura/escritura.
  2. Trending, visualización de los valores recogidos y graficados para determinar tendencias.
  3. Scheduling, programación de tareas a ejecutar en momentos o intervalos concretos.
  4. Alarm & Event Management, intercambio de información relativo a alarmas o eventos.
  5. Device & Network Management, permite el descubrimiento de dispositivos, objetos dentro de ellos, establecimiento y reconexión en caso de caída de comunicación, sincronización horaria y reinicio.

Estas áreas están definidas dentro de BACnet como BIBB, “BACnet Interoperability Blocks”.

Puesto que BACnet es un estándar, los distintos fabricantes de equipos deben garantizar que sus productos soportan ciertos requisitos para poder operar unos con otros. Para ello, deben cumplir con lo definido en lo que se denomina “Protocol and Implementation and Conformance Statement”, PICS; una ficha técnica con distinta información y entre ella, los distintos BIBB soportados para que puedan ser comparados y garantizar su funcionamiento.

Es importarte resaltar que los mensajes pueden ser dotados de una “Prioridad” dependiendo el tipo de mensaje y la información que transporta. Se definen un total de 16, siendo las dos primeras relativas a cuestiones de “Safety”, “Manual Life-Safety” y “Automatic Life-Safety”.

Hasta aquí la presentación de los conceptos básicos de BACnet. Un protocolo con unas características específicas para entornos concretos. Como decía, es importante remarcar que su uso puede no estar necesariamente asociado a edificios de viviendas sino también a entornos industriales. Éstos también disponen de sistemas de refrigeración, sensores de humos, montacargas, etc. dependiendo, claro está, del tamaño y la actividad. Podrán almacenar productos químicos que deban ser almacenados bajo unas condiciones de temperatura determinada; entornos donde la calidad del aire deba ser única debiendo accionarse los sistemas de ventilación bajo unas circunstancias concretas; controlar la iluminación de un pabellón en distintas franjas horarias, entre otras muchas. ¿Alguien se imagina los efectos que pudiera tener si algo o alguien, pudiese alterar a las dos de la madrugada la iluminación de parte o toda una nave de producción y los operarios no pudiesen trabajar? Y peor aún, cómo o porqué se genera esa situación si no se puede acotar la causa que lo origina. No estamos hablando de un hecho con unas consecuencias graves, pero sí con impacto sobre la actividad de la propia empresa.

Un saludo a todos, nos vemos en la siguiente y no te olvides que puedes seguirnos también en @enredandoconred .

Firewalls Virtuales, por qué no en redes industriales?

Como hemos hablado en otras ocasiones la primera medida técnica para securizar las redes industriales es separar nuestros entornos de Oficinas y de Control mediante un NGFW. Con ello, conseguimos independizarlos y ceñir a cada uno de ellos el tráfico necesario. Luego, ya dentro del segundo es necesario segmentarlo en áreas funcionales más pequeñas de tal modo que si se produjese algún incidente, intencionado o no, no se propague al resto evitando así un daño mayor. Todo esto y más lo comentaba en un artículo de abril de 2016. Os dejo el enlace, pinchar aquí.

En él citaba que las mismas podrían ser física o lógica, utilizándose enlaces dedicados o configuraciones en la electrónica de red como pueden ser las tan conocidas VLAN. Sin embargo, el uso de tecnología “virtual” no es exclusivo de los switches o servidores. También la podemos emplear en Firewalls. Sí, los mismos que nos separan y segmentan dichos entornos.

En mi caso voy a tomar como ejemplo el uso que hace de esta tecnología el fabricante Fortinet.

Fortinet lo denomina como “VDOMs”, Virtual Domains. Con ella podremos crear dos o más Firewalls “lógicos” dentro de uno físico siendo cada uno de ellos totalmente independiente uno del otro. Tendrán sus propias reglas de filtrado, sus propios perfiles de seguridad, sus propios administradores, etc.

Tal es así que, aparte de los que se configuren, se creará otro de forma automática denominado “root”. Cuando todos los VDOMs son deshabilitados en cualquier unidad FortiGate, hay un VDOM que sigue activo, el “root”. Esto es así ya que debe existir un VDOM de administración entre otros aspectos, para la gestión de tráfico. Por ejemplo, cuando habilitamos la funcionalidad de VDOM toda la configuración se conserva en el VDOM “root”. A partir de ahí iremos creando otros en consecuencia. Todas las configuraciones que sean necesarias fuera de los VDOM, se realizan desde el apartado “Global”. Hablamos de las que afectan a la unidad Fortigate como dispositivo físico, esto es, la asignación de interfaces, Alta Disponibilidad, mantenimiento, etc.

Aquí os dejo un video donde se muestra tanto el concepto como una configuración básica:

Como es evidente, cada unidad FortiGate tiene recursos hardware limitados como CPU, memoria y almacenamiento. Cuando no empleamos VDOMs, este límite no supone un problema ya que todas las sesiones, usuarios y otros procesos comparten todos los recursos de forma equitativa. Sin embargo, cuando hacemos uso de ellos, podremos asignar a cada VDOM distinta cantidad, mínima y máxima, según sea necesario. Por defecto, cada VDOM no tendrá límites, con lo que un solo VDOM podría en un momento dado emplear todos los recursos en detrimento de otros VDOM.

Por ello es conveniente definir límites a este respecto. Veamos porqué.

Si bien la electrónica ha mejorado, cada vez que instalamos un equipo de seguridad perimetral introducimos una latencia, que puede aumentar tanto en cuanto se habilitan más características con el fin de mejorar la seguridad en las comunicaciones. Me refiero a servicios antivirus, IDS/IPS, Control de Aplicación, VPNs, etc. Las comunicaciones industriales no requieren unos anchos de banda como las que puede haber en entornos IT, sin embargo, las latencias experimentadas pueden ser inasumibles. Cuando hablamos en comunicaciones en tiempo real como voz o video sobre IP, podemos aceptar tiempos de hasta 150 ms. Sin embargo, en comunicaciones industriales tipo RT (Real Time) podemos hablar de hasta 10 ms o incluso en IRT (Isochronous Real Time) entre 0.25 y 1 ms. A la hora de instalar dispositivos de seguridad perimetral físicos como virtualizados, debemos tener esto presente. Más aún, en el caso de estos últimos donde compartimos recursos hardware. Si no realizamos un correcto dimensionamiento o asignación, podríamos enfrentarnos a que un Firewall virtual del entorno IT donde los anchos de banda sean mayores y exista una mayor cantidad de tráfico, requiera  recursos hardware y penalice al virtualizado en el entorno OT, donde si bien la cantidad de tráfico es menor, las latencias asumibles son mucho menores o críticas.

Como decía dentro de la Ciberseguridad Industrial, nuestro primer paso será la separación de entornos y la segmentación del de Control. Esta tecnología puede sernos de gran utilidad ya  que además de lo anterior es compatible con entornos de Alta Disponibilidad. Dos nodos físicos pueden albergar VDOMs, de tal manera que, si un Firewall cae, el otro podrá dar servicio en los VDOMs alojados en el contrario.

En la imagen que se muestra a continuación se puede ver cómo a partir de un equipo físico se han definido 3 VDOMs. Uno denominado “VDOM IT” donde tendremos nuestro Firewall Virtual encargado del filtrado de las comunicaciones entre todos los segmentos del entorno de “Oficinas”. El puerto “WAN 1”, red de servidores y del 1 al 3, subredes de clientes. Luego, el “VDOM OT”, y de forma homónima, “WAN 2”, servidores SCADA, Historians, etc. y del 4 al 6 los equipos finales como PLCs, Robots, SIS, etc. Finalmente, el “VDOM Root” el que emplearemos para la administración del equipo.

Al igual que ocurre con los Firewalls físicos podremos necesitar permitir cierto tráfico de un entorno a otro. Puesto que los Firewalls virtuales son independientes, es necesario establecer los denominados “VDOM Links”, que no son otra cosa que interfaces virtuales que comunican VDOMs. Cada “VDOM Link” posee su propio direccionamiento punto a punto, debiendo cada extremo ser asociado a uno de los VDOMs. Estas interfaces virtuales son más rápidas que las físicas, aunque dependerá tanto de la CPU como de la carga que ésta tenga fruto de las funcionalidades, perfiles, sesiones, funciones criptográficas, análisis de tráfico, etc.

En la siguiente guía podréis encontrar más información al respecto.

La idea mostrada aquí es que, si necesitamos aislar y segmentar ambos entornos, no tenemos por qué hacerlo necesariamente con equipos físicos como muestran muchos modelos y recomendaciones. No tiene por qué ser así. De igual manera que lo hacemos de forma lógica en switches con la definición de VLANs, lo podemos hacer con los Firewall, si éstos lo soportan; obviamente. Haciendo uso de esta capacidad podremos no sólo cumplir con nuestras necesidades y estrategias sino también, optimizar recursos hardware, reducir el número de equipos físicos, minimizar el espacio en nuestras instalaciones, escalabilidad, etc. Tal vez requiera de una planificación mayor, no sólo en cuanto a configuración en sí sino la administración futura.

Nuevamente las tecnologías nos ofrecen alternativas y soluciones más apropiadas, sólo tenemos que ver cuál se ajusta mejor a las necesidades de nuestros clientes para reducir los riesgos y garantizar la disponibilidad de las instalaciones. Eso si, previo estudio y planificación.

Un saludo, nos vemos en la próxima.

Edorta