Recolectando tráfico con Nozomi Guardian

Aunque en entornos industriales hay, y seguirá, habiendo por mucho tiempo comunicaciones basadas en protocolos serie, existe una clara tendencia hacia el uso de aquéllos basados en Ethernet. Este hecho que, aunque no resulta fácil por el impacto y consumos de recursos de tiempo, dinero y humanos aporta, entre otras, una escalabilidad e interoperabilidad mucho mayor.

Sin embargo, esto tiene su parte negativa ya que la superficie de exposición aumenta exponencialmente. Es por ello que resulta necesario implementar medidas capaces de reducir los riesgos de sufrir un incidente y por ende alterar el normal funcionamiento de la instalación.

Al igual que sucede en las redes de datos tradicionales, también en este tipo de entornos es necesario llevar a cabo una captura de tráfico para realizar un análisis a bajo nivel. Para conseguirlo recurrir a un puerto espejo alguno de los switches o un dispositivo TAP tal y como hablábamos en las dos siguientes entradas.

Puerto espejo, un aliado a veces olvidado

TAP Devices, SIEMENS TAP 104

Luego le llegará la hora de la parte software. Si bien la herramienta estrella es Wireshark la cual cuenta con la capacidad de analizar el contenido de protocolos industriales, también podremos recurrir a otras como Grassmarlin ya en su última versión 3.2.

Sin embargo, existen otras soluciones propietarias que también tiene la capacidad de recolección y análisis. Hace unos meses hablaba en concreto de la del fabricante Nozomi y su producto Guardian.

Monitorización redes industriales, SCADAGuardian

Este producto gracias al desarrollo de nuevas capacidades, mejoras, acuerdos con compañías líderes del sector ha hecho que tenga una gran presencia en el mercado situándose como la de referencia en el mercado.

Una vez desplegada la sonda en el segmento en cuestión, ésta comenzará a analizar y procesar el tráfico recibido para luego opcionalmente recolectarlo para una descarga estudio posterior. Para ello deberemos aplicar un filtro concreto, como puede ser una dirección de origen, destino, protocolo, puerto o cualquier otro paraámetro que pueda ser proporcionado o soportado.

Dicho lo cual, para hacerlo, dentro del menú principal, deberemos de acudir al menú “admin – Other actions”.

Allí deberemos de seleccionar “Continous trace” y acceder al menú correspondiente.

El siguiente punto, tal y como indicábamos anteriormente, habrá  indicar el filtro que queremos aplicar. En nuestro caso será lo relativo con la dirección 192.168.1.XX. Tras seleccionar “Start” comenzará la captura y que veremos en la parte inferior en la imagen siguiente.

A medida que se vaya cumpliendo la condición especificada, Nozomi Guardian irá almacenando el tráfico que más tarde podremos descargar. Para ello deberemos seleccionar el cuarto de los iconos de la parte inferior. Allí aparecerán todos los ficheros generados hasta ese entonces. A partir de aquí,  como decíamos, bien con Wiresahrk o cualquier otra herramienta podremos analizarlo con detalle.

No obstante, también podremos hacerlo son la misma herramienta. Para ello deberemos ir a “Administration – System – Upload PCAPs” tal y como viene indicado en la imagen siguiente:

Allí bastaría con subir la captura y reproducirla presionando en el icono que se indica.

Como podemos comprobar este tipo de herramientas además de informarnos de los activos, comunicaciones, integración con SIEM, informarnos de anomalías, potenciales vulnerabilidades, entre otras muchas más opciones, también nos permite recolectar el tráfico que pueda capturar. Esto resulta de gran importancia y vitalidad ya nos permitirá analizar a bajo nivel los flujos de comunicaciones y detectar anomalías de distinta índole.

 

Un saludo, nos vemos en la siguiente!

Identificando tráfico en redes ICS, Grassmarlin.

Son muchos los motivos que nos pueden llevar a realizar un análisis de tráfico, desde una auditoría, documentación de tráfico, hasta una labor de troubleshooting, etc. En concreto esto cobra mayor importancia en los entornos industriales con la evolución de los protocolos de comunicaciones hacia estándares Ethernet y TCP/IP permitiendo la integración con otros sistemas y tecnologías dando lugar a la llamada Industria 4.0 e IIoT.

Pero esta integración también tiene sus riesgos, ya que el grado de exposición dentro de la red aumenta con lo que resulta necesario implementar estrategias de seguridad que reduzcan los riesgos de sufrir un incidente.

Dentro de un proceso de securización, en concreto, de un entorno industrial, una de las primeras zonas donde intervenir es a nivel de infraestructura de red. Aquí surgen dos conceptos importantes como son “Separación” y “Segmentación”. Por separación entendemos dividir las redes de entornos IT tradicionales como por ejemplo “Oficinas”; y las redes de automatización OT como pueden ser las de producción en una empresa manufacturera. Entre cada una de ellas es necesario instalar un elemento de seguridad que filtre todas aquellas comunicaciones entre ambos entornos, siendo el más común un NGFW que además de las funciones tradicionales de un cortafuegos añada una capa más de seguridad con motores Antivirus, IDS/IPS, Control de Aplicación, DPI, etc.

Hecho esto, la siguiente fase es segmentar nuestro entorno OT. Esto es, fraccionar en áreas, zonas, celdas, más pequeñas nuestra red o conjunto de redes, de tal manera que en caso de incidente en una de ellas, éste no se propague al resto y ponga en peligro la totalidad de las instalaciones. Recordemos que la regla número uno es garantizar la “Disponibilidad”. Esto requiere que todo el tráfico de cada una de estas áreas, celdas, etc. pase nuevamente por un dispositivo tipo NGFW y quede condicionado a unas políticas de seguridad preestablecidas.

Ahora bien, para que todo esto funcione deberemos en primer lugar identificar el tráfico y realizar el análisis del que hablaba al principio.

El primero de los pasos será capturarlo para posteriormente realizar el análisis para extraer de él la información que necesitemos. Para llevar cabo esta tarea contamos con la aplicación Grassmarlin.

GrassMarlin es una herramienta destinada a entornos industriales y sistemas SCADA con la que podremos llevar a cabo:

  1. Identificación de tráfico
  2. Descubrimiento de dispositivos.
  3. Representación lógica y física.
  4. Gráfico de segmentos o arquitecturas.
  5. Exportar información a formato .CSV.

Todo ello lo realiza de forma pasiva sin interceder en la operativo normal de la operación de los equipos. Para ello permite dos opciones:

  1. Interpretar la información contenida en un fichero PCAP
  2. Captura de tráfico con la propio Grassmarlin.

Para conseguir esta información sin interceder en la operativa, la forma de hacerlo es la configuración de un puerto en modo “port-mirroring” (puerto espejo) de tal manera que recibamos una copia de todo el tráfico hacia/desde otros que sean de nuestro interés. Os dejo dos enlaces ejemplo sobre cómo hacerlo sobre dispositivos de distintos fabricantes.

Siemens

Cisco

Es posible descargarla desde aquí, estando disponible para sistemas operativos Microsoft Windows y Linux. Su última versión es la 3.

Para el presente artículo voy a partir de una captura que importaré a Grassmarlin.

En la zona de “Network Tree Map” podremos ver tanto las redes y los nodos existentes; mientras que en la parte derecha la “Logical View” la forma gráfica de la misma con los enlaces entre uno y otro.

Si sobre uno de los nodos hacemos “botón derecho”, “Show all connections” podremos ver todas aquellas relacionadas con éste, junto con un gráfico representativo del tamaño del paquete en función del tiempo.

Si sobre uno ellos hacemos nuevamente “botón derecho” podremos ver dicha captura en Wireshark. Esta aplicación se instala por defecto, pero en una versión antigua. Si disponemos una más reciente, podremos configurarlo en “Option – Preferences – Wireshark Executable Path” y abrirlo con ésta. Luego, en la esquina inferior derecha tendremos la opción de exportar el contenido a un fichero con formato CSV y a partir de ahí formatear y explotar la información para uno u otro propósito.

La aplicación incluye por defecto algunos identificadores como pueden ser los primeros 24 bits que hacen referencia a los fabricantes en las direcciones MAC. No obstante, si no localizamos alguna podremos dar de alta nuevas en función de nuestras necesidades.

Lo mismo ocurre con los protocolos.

Allí encontraremos un buen número de ellos, pero si en el caso de que queramos bien editar uno existente o crear el nuestro propio, tendremos la capacidad de hacerlo. Aquí os dejo una muestra de modbus.

Finalmente comentar que Grassmarlin dispone de una vista física. Esto es una representación de los equipos. Según he visto en distintas webs, la versión 3 sólo dispone de compatibilidad con dispositivos Cisco. La información que deberemos contener en un fichero de configuración para su importación es el resultado de los siguientes comandos:

  1. “show running-config”
  2. “show ip arp” (OU) “show mac address-table”
  3. “show interfaces”

Como podemos comprobar Grassmarlin puede sernos de mucha utilidad. En el proceso de trasformación de la industria y de la inclusión de políticas de ciberseguridad, identificar el tráfico resulta vital. Es muy común que los responsables o personas involucradas en procesos de fabricación, ingeniería, mantenimiento, etc. no estén familiarizados con todos estos términos y ni conozcan cómo y de qué manera se comunican sus equipos. Como mucho te puedan decir, si tal o cual equipos lo hace con tal o cual servidor o dispositivo, pero hasta ahí. Esta herramienta nos podrá facilitar mucho esta tarea y sobre todo poder comenzar a documentar todo aquello que sea necesario y evitar así esta situación.

Espero que os haya gustado, nos vemos en la siguiente.

Edorta