Medición de las capacidades del hardware de los dispositivos OT en un ICS

Techpapers

Cuando se desarrolla una nueva solución para el análisis y la monitorización de redes, la elección de la configuración de hardware adecuada es una de las principales claves del éxito de su solución. Especialmente en una red OT donde la incorporación de un dispositivo defectuoso puede ser motivo de bloqueo de múltiples máquinas industriales importantes y sensibles que pueden causar pérdidas de producción. Para evaluar la capacidad del hardware de un dispositivo dentro de una red OT, tenemos que evaluar sus recursos, como la CPU y la memoria, así como la capacidad de soportar las herramientas de análisis de datos que pueden ser implementadas como parte de la solución final. Estas comparaciones entre los recursos que un dispositivo puede ofrecer y el tráfico son métricas esenciales para evaluar la capacidad del hardware antes de utilizarlo para soluciones OT que serán introducidas en una red de entorno ICS en pleno funcionamiento.

Introducción

Para medir la capacidad de un hardware, necesitamos preparar un entorno de pruebas completo que pueda monitorizar el estado de los recursos del dispositivo y el tamaño del tráfico que está manejando. También necesitamos utilizar herramientas capaces de canalizar una variedad de tamaños e intensidad de tráfico para controlar mejor el tráfico en la red.

En este documento presentaremos y explicaremos una variedad de herramientas simples y fáciles de usar para las pruebas de hardware en el capítulo 1. En el capítulo 2 presentaremos el entorno de pruebas que hemos creado para este objetivo. Por último, presentaremos los resultados de nuestro experimento utilizando el entorno de pruebas mencionado anteriormente.

Herramientas para la evaluación del hardware

En este capítulo presentaremos una serie de herramientas que pueden utilizarse para evaluar la respuesta del hardware hacia una variedad de patrones de tráfico de red.

Tcpreplay como herramienta para generar tráfico

Tcpreplay es un conjunto de utilidades gratuitas de código abierto para editar y reproducir el tráfico de red previamente capturado. Originalmente diseñado para reproducir patrones de tráfico maliciosos para los sistemas de detección/prevención de intrusos. Ha visto muchas evoluciones, incluyendo la capacidad de reproducir a los servidores web. Tcpreplay lee la captura de paquetes y los reproduce a través de la red.

Cuando la captura de paquetes ha finalizado, comienza desde el principio de nuevo. Aquí hay algunos trucos/ideas que puedes usar para hacer que tcpreplay envíe el tráfico tan rápido como quieras:

  • Asegúrese de que está ejecutando la última versión estable de tcpreplay.
Figura 1. Interfaz de Tcpreplay

 

  • Intente instalar los controladores de red -netmap y usando la opción -netmap.
  • Utilice -preload-pcap para cargar el archivo pcap en RAM antes de enviarlo.
  • Pruebe un mecanismo de sincronización diferente. -timer=gtod o – timer=nano por ejemplo. Los usuarios de SOX deben utilizar siempre -timer=abstime.
  • Utilice -mbps en lugar de la opción -pps.
  • Si usa -pps también use -pps-multi=X para que tcpreplay envíe múltiples paquetes en cada ciclo de sueño
  • Utilice -topspeed o -mbps=0. Esta es siempre la manera más rápida de enviar paquetes.

A menudo, el uso de una combinación de las opciones anteriores le permitirá alcanzar las velocidades que está tratando de alcanzar.

Para gestionar el tamaño del tráfico que se enviará a través de la red, utilice la opción -loop para aumentar el número de paquetes a enviar.

Para controlar el ancho de vida del enlace enviará, utilice la opción -M con el valor de Mbs que desea que tenga su enlace.

Mediante una combinación entre las opciones -loop y -M puedes controlar fácilmente el número de paquetes, así como el ancho de banda en tu simulación.

Htop como herramienta de monitorización de recursos

Htop es un monitor interactivo visualizador y gestor de procesos. Está diseñado como una alternativa al programa Unix top. Muestra una lista frecuentemente actualizada de los procesos que se ejecutan en un ordenador, normalmente ordenados por la cantidad de uso de la CPU. A diferencia de top, htop proporciona una lista completa de los procesos en ejecución, en lugar de los procesos que más recursos consumen. 

htop utiliza colores y ofrece información visual sobre el estado del procesador y de la memoria. Htop también puede mostrar los procesos como un árbol. Htop muestra el porcentaje de uso de la CPU, así como el uso de memoria del sistema. El uso de esta herramienta en el hardware objetivo mostrará en tiempo real el estado del Hardware en cuanto a recursos disponibles y saturación.

Iftop como herramienta de control de tráfico

Iftop es una herramienta de monitorización del sistema de línea de comandos que produce una lista frecuentemente actualizada de conexiones de red. Por defecto, las conexiones están ordenadas por el uso del ancho de banda, con sólo el «top» 

Figura 2. Interfaz de Htop

 

consumidores de ancho de banda mostrados. Esta herramienta le permite ver múltiples indicadores relacionados con el TX y RX del dispositivo. TX y RX son las abreviaturas de Transmisión y Recibir, respectivamente. Estos indicadores incluyen el uso de ancho de banda acumulado y el pico de uso de ancho de banda, tanto para la transmisión como para la recepción.

Figure 3. Interfaz de Iftop

 

Elasticsearch como herramienta de gestión de datos

Elasticsearch es un motor de búsqueda basado en la biblioteca Lucene. Proporciona un motor de búsqueda de texto completo con una interfaz web HTTP y documentos JSON sin esquema. Elasticsearch está desarrollado en Java y tiene una doble licencia: la licencia pública del lado del servidor disponible y la licencia Elastic, mientras que otras partes están bajo la licencia propietaria (disponible en el código fuente) de Elastic. 

Los clientes oficiales están disponibles en Java, .NET (C), PHP, Python, Apache Groovy, Ruby y muchos otros lenguajes. Según el ranking de DB-Engines, Elasticsearch es el motor de búsqueda empresarial más popular seguido de Apache Solr, también basado en Lucene.

En este trabajo Elasticsearch se encargará de guardar paquetes de datos y buscar en ellos. Se utilizará como indicador de la capacidad del hardware para servir a una aplicación que requiere recursos que se incrementan en base a en el tráfico recibido.

Figura 4. Interfaz de Elasticsearch

 

Experiencia y resultados

Experiencia

Utilizando un dispositivo industrial como objeto de prueba, hemos preparamos la siguiente experiencia:

  • La descripción del hardware probado:
    • CPU: INTEL i5 5200u 2.2GHZ 5ªgeneración con procesador 5200u (Dual Core / 4 hilos).
    • RAM: 16Gb
    • Conectores de red: 2 tarjetas de red RJ45
  • El software probado:
    • Un motor Elasticsearch responsable de guardar los datos en el dispositivo.
    • Un módulo Tshark responsable de recoger datos de los puertos de red y enviarlos al Elasticsearch.
  • La arquitectura probada: Conectamos el dispositivo objetivo a un puerto de réplica del conmutador principal de la red. También conectamos otro PC industrial al mismo conmutador. El segundo PC industrial era el encargado de generar tráfico en la red. A través de esta configuración, cuando el tráfico se generaba en la red, el dispositivo probado lo recibía y lo guardaba en el dispositivo Elasticsearch.
  • Tráfico generado: Utilizando la herramienta tcpreplay con un PCAP recogido de una red industrial, generamos tráfico en la red de pruebas con una variedad de intensidad y ancho de banda. El PCAP utilizado contenía múltiples paquetes de protocolos Modbus y s7comm para controlar y gestionar un PLC s7-1200 en un entorno ICS.

Resultados

La siguiente tabla muestra el efecto del tamaño del tráfico y ancho de banda sobre los recursos de hardware utilizando la herramienta htop. Como podemos ver en la tabla 1, la CPU es el recurso que más se necesita cuando se trata de análisis.

La tabla 2 muestra que, con el aumento del tráfico de red, tanto los valores de TX como de RX, aumentaron en el dispositivo probado. Al supervisar el estado del elasticsearch, observamos que con 4Gb de tráfico y 500 MBs de ancho de banda, el sistema Elasticsearch comenzó a mostrar un retraso, pero en cuanto aumentamos el ancho de banda, el Elasticsearch dejó de funcionar por completo.

Table 1. CPU and RAM STATE VS. NETWORK BANDWITH AND
TRAFFIC SIZE CHANGE

 

Table 2. NETWORK MESURMENTS VS. NETWORK BANDWIDTH
AND TRAFFIC SIZE CHANGE

 

Conclusión

En este trabajo, hemos presentado varias herramientas que pueden ser utilizadas para evaluar el efecto del tráfico de red en los recursos de hardware. La CPU parece ser el recurso más valioso cuando se trata de analizar el tráfico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

keyboard_arrow_up