Protocolos industriales: Herramientas de seguridad

Publicado el 17/11/2016, por INCIBE
Protocolos industriales: Herramientas de seguridad

Protección en las comunicaciones: una clave en la seguridad de todo protocolo

En los sistemas de control industrial las comunicaciones juegan un papel fundamental en un entorno donde se intercambian millones de paquetes diariamente con información, muchas veces crítica, sobre el estado de los procesos y los dispositivos. Por esta razón es de gran importancia preservar la integridad de la información en tránsito y asegurar que ésta llegue sin modificaciones desde su punto de origen hasta su punto de destino.

Existen herramientas de gran ayuda para verificar que las comunicaciones y la implementación de los protocolos se han realizado de forma correcta. Algunas de estas herramientas proporcionan entornos de simulación para realizar todo tipo de pruebas, todo ello sin tener que interferir con entornos reales, y extraer valiosas conclusiones que luego aplican para mejorar los mismos.

Hay una gran variedad de estándares y protocolos de comunicación en los entornos industriales pero, igualmente, también un extenso rango de aplicaciones de simulación que soportan esos protocolos y que son válidas para realizar pruebas.

Entre las herramientas que pueden utilizarse para verificar la seguridad en las comunicaciones de sistemas de control, resultan especialmente útiles aquellas que tratan sobre la simulación de arquitecturas maestro/esclavo y el análisis de tráfico.

Simulación de entornos maestro/esclavo

La mayoría de las comunicaciones industriales se basan en arquitecturas maestro/esclavo. De manera habitual, los dispositivos de campo suelen ser esclavos, razón por la cual, existen numerosas herramientas para simular esa topología con diferentes protocolos, entre ellas,  MatrikonOPC Explorer para OPC o Mod_RSsim para comunicaciones Modbus en sus versiones serie o Ethernet.

MatrikonOPC Explorer es una herramienta que permite simular un dispositivo esclavo con todas las funcionalidades propias del protocolo OPC. Cuenta además con funciones avanzadas entre las que se incluyen la posibilidad de realización de pruebas de carga y test de servidores OPC, ayudando a encontrar la configuración más óptima.

Mod_RSsim, por su parte, cuenta con funcionalidades que permiten modificar los valores de las variables en comunicaciones Modbus entre una RTU y un SCADA/HMI, incorporar ruido a las transmisiones, etc.

Por otro lado están las herramientas definidas exclusivamente para trabajar como maestros. Para muchos protocolos, estas herramientas son directamente las aplicaciones finales, como MatrikonOPC Simulation Server o KEPServerEX para OPC; aunque también existen otras herramientas software que están solo destinadas a la simulación, como Profibus-DP master simulator para el protocolo Profibus-DP o Profinet Master Simulator Plus para Profinet.

Si se pretende simular entornos desde cero, con establecimiento de la comunicación de maestro a esclavo, es necesario un software que proporcione ambos extremos, origen y destino. Cubriendo esta necesidad existen herramientas como Modbus tools (formada por el maestro “Modbus poll” y el esclavo “Modbus slave), Simply Modbus para Modbus en su versión serie o Ethernet; y Opendnp3 para DNP3. Permiten realizar todas las pruebas con el mismo grupo de herramientas, lo que facilita la comprensión de los resultados obtenidos.

Herramientas para el análisis de tráfico

La simulación de tramas de un protocolo concreto permite identificar debilidades en la implementación del mismo dentro de los dispositivos, y facilita localizar fallos en la pila del protocolo, en el tratamiento de determinados mensajes, etc.

Tras lograr simular el entorno de comunicaciones del protocolo deseado o, en su defecto, tener acceso a capturas de tráfico de dispositivos reales, realizar un análisis de la información es el paso siguiente. El valor del análisis no recae tanto en conocer el protocolo en sí mismo y sus debilidades, sino más bien en observar el comportamiento global en un entorno completo y estudiar la posibilidad de integrarlos con mecanismos de seguridad como cortafuegos, IDS, etc.

Para estas tareas, se cuenta con herramientas como MatrikonOPC Analyzer para OPC, que puede recopilar información de archivos importantes como los ajustes de DCOM, la configuración DEP, la versión del sistema operativo, información del registro de acontecimientos y ajustes de red para comprobar áreas problemáticas, etc.; toda esta información es de gran valor en labores de análisis.

Otra herramienta, también para analizar el tráfico OPC, es MatrikonOPC Sniffer. En este caso, su función es registrar la actividad entre cliente y servidor para aislar los problemas de interoperabilidad, ayudando a resolver cualquier problema.

Para el análisis de otros protocolos, una posibilidad es Aegis, otra herramienta especializada que permite analizar más de un protocolo, en su caso DNP3 y Modbus.

Finalmente, para objetivos más generales existen herramientas como Achilles o el conocido Wireshark, que permiten capturar la información en tránsito y analizar comunicaciones cubriendo una extensísima variedad de protocolos, lo que aporta gran valor en la verificación de las medidas de seguridad de la comunicación.

Uso de Wireshark para análisis del protocolo ZigBee

-Uso de Wireshark para análisis del protocolo ZigBee-

Descubrimiento y recopilación de información

De forma complementaria al análisis de tráfico, resulta interesante el estudio sobre el descubrimiento de dispositivos y la información que puede obtenerse a través de escáneres de red.

En este sentido, se cuenta con herramientas como PLCscan y modscan, específicas para el descubrimiento de dispositivos tipo PLC o el análisis de topología en redes ModBus TCP respectivamente.

Sin embargo, utilizar herramientas genéricas de descubrimiento dentro de entornos industriales, como puede ser nmap, no es muy recomendable. El uso de una herramienta cuyo diseño no es específico para un entorno industrial, tiene que ser valorado con gran precaución y siempre realizarse bajo supervisión directa, puesto que su modo de operación podría generar comportamientos indebidos en los dispositivos presentes (parada de producción, mal funcionamiento de dispositivos, etc.). Por ello, es necesario actuar con cautela y revisar bien el posible impacto en el sistema, así como mantener informado al responsable y a los operadores del entorno.

Herramientas para protección de sistemas

Respecto a la seguridad propia de dispositivos y sistemas, también están disponibles herramientas que proporcionan una importante ayuda para incrementar el nivel de protección de los mismos.

Para plataformas Linux, el módulo de iptables modbusfw permite realizar un filtrado de tráfico a nivel de capa de aplicación para proteger sistemas que usan el protocolo Modbus/TCP frente a posibles ataques de red.

También existen otras herramientas que trabajan de forma más activa, como los IDS/IPS (Snort o Suricata) para la supervisión de protocolos como Modbus/TCP, DNP3, EthernetIP, etc., que permiten reconocer el uso de funciones no permitidas o el envío de paquetes de datos desde direcciones IP no controladas detectando, por ejemplo, posibles ataques DoS.

En redes con comunicaciones inalámbricas como ZigBee, KillerBee, es una de las mejores apuestas. Se trata de un conjunto de herramientas para la realización de pruebas de seguridad entre las que destacan la descodificación de tráfico, la reinyección de tramas o la identificación de dispositivos.

Otras herramientas de seguridad

Si lo que se pretende es realizar una auditoría completa de seguridad y evaluar el posible impacto de un ataque, existen soluciones genéricas enfocadas a las pruebas de intrusión, como son metasploit (un framework de código libre para realizar test seguridad tratando de probar y explotar vulnerabilidades) o el módulo escrito en lenguaje Python scapy que proporciona utilidades y librerías para la manipulación de paquetes de red.

Resultados tras la búsqueda "SCADA" entre los módulos de metasploit

-Resultados tras la búsqueda "SCADA" entre los módulos de metasploit-

Aunque el uso de este tipo de herramientas no es común en estos entornos, su empleo para realizar auditorías profundas puede aportar importantes detalles para evaluar y mejorar la seguridad de un sistema. Lógicamente, dada la sensibilidad de los entornos industriales ha de prestarse especial atención a evaluar el impacto y la conveniencia de su utilización.