Protocolo EtherNet/IP: analizando sus comunicaciones y medidas de seguridad

Fecha de publicación 28/02/2019
Autor
INCIBE (INCIBE)
Planta industrial

EtherNet/IP es la adaptación del protocolo CIP al modelo de comunicación Ethernet y se trata de un protocolo industrial con entidad propia que no debe confundirse con el clásico Ethernet que se utiliza tanto en el ámbito de TI, como en el de TO.

Para comprenderlo mejor, antes es conveniente conocer el CIP.

 Protocolo EtherNet/IP en el modelo OSI

- Protocolo EtherNet/IP en el modelo OSI -

CIP, la base de EtherNet/IP

CIP nace de la necesidad de proporcionar interoperabilidad entre las distintas redes de la industria de fabricación, y además el protocolo proporciona un conjunto de mensajes para la integración de las aplicaciones industriales con las redes empresariales e Internet.

Para la comunicación, establece unos objetos que definen el conjunto de servicios del equipo para esta tarea, el comportamiento y el medio común en el que accede e intercambia la información entre diferentes productos CIP. Un objeto producto CIP está compuesto de los siguientes parámetros:

  • Dirección del nodo: en EtherNet/IP será la dirección IP del dispositivo.
  • Identificador de clase: un valor entero asignado a cada objeto accesible en la red.
  • Identificador de instancia: identifica cada instancia de la misma clase.
  • Identificador de atributo: atributo de clase o de instancia.
  • Código de servicio: definen las acciones que son solicitadas en las comunicaciones mediante mensajes explícitos. Además de las funciones simples de lectura y escritura de datos, se definen en el protocolo un conjunto de servicios de naturaleza común que pueden ser utilizados en todas las redes CIP.

Los parámetros de identificación (ID) se dividen en dos tipos:

  • Definidos públicamente: son los valores definidos por el protocolo.
  • Específicos del vendedor: son los valores reservados para definiciones específicas del fabricante.

En el protocolo CIP se definen también dos tipos de mensajes:

  • Mensajes implícitos: utilizan el modelo productor/consumidor. En este modelo, el productor envía los datos a toda la red mediante mensajes multicast y los consumidores son los que se encargan de procesar (consumir) esos datos basándose en el identificador del mensaje. Estos mensajes utilizan conexiones UDP para su envío, en los que la IP de origen del mensaje es la IP del equipo productor y la de destino es una dirección multicast. Estos mensajes son utilizados para el envío de información que necesita ser tratada en tiempo real.
  • Mensajes explícitos: utilizan el modelo cliente/servidor. Un cliente CIP lanzará peticiones a un servidor CIP y este la devolverá la respuesta. La función de los mensajes explícitos es la definida en el código de servicio de los objetos. Para el envío de estos mensajes son utilizadas conexiones TCP.

Seguridad en las comunicaciones EtherNet/IP

Al ser EtherNet/IP una adaptación de un protocolo a Ethernet, su seguridad engloba tanto la del nivel de aplicación (seguridad CIP), como la de transporte (EtherNet/IP).

Originalmente, el protocolo EtherNet/IP no implementaba ningún mecanismo de seguridad, pero actualmente la seguridad a nivel de transporte de EtherNet/IP cuenta con las siguientes características:

  • Autenticación de los equipos: han de garantizarse que tanto el equipo origen, como el destino son entidades de confianza en la red. Para lograr esto, han de ser capaces de soportar el uso de certificados X.509 o de claves compartidas previamente.
  • Autenticación e integridad del mensaje: ha de garantizarse que el mensaje fue enviado por un equipo de confianza y no fue modificado en el camino. Para ello, los equipos EtherNet/IP han de soportar el uso del código de autenticación de mensaje (Message Authentication Code, MAC).
  • Cifrado de mensaje: los equipos EtherNet/IP han de implementar el cifrado de las comunicaciones mediante TLS. Este mecanismo es opcional, debido a que el cifrado/descifrado de los mensajes puede introducir un retardo en las comunicaciones que no puede ser aceptable en los requisitos de la aplicación o que puede provocar una carga computacional excesiva en el dispositivo.

EtherNet/IP bajo TLS y DTLS

- EtherNet/IP bajo TLS y DTLS -

Por otra parte, actualmente se encuentran en desarrollo las especificaciones de seguridad a nivel de aplicación CIP. Estas medidas tienen como objetivo que cualquier dispositivo CIP sea capaz, por sí mismo, de protegerse de comunicaciones CIP maliciosas. Para ello, un equipo CIP debería ser capaz de detectar y rechazar:

  • Datos que han sido alterados, asegurando así la integridad de las comunicaciones.
  • Mensajes que han sido enviados por equipos o usuarios que no son de confianza, asegurando la autenticidad del origen o los mensajes recibidos.
  • Mensajes que requieren acciones que no están permitidas, asegurando así la autorización.

Por último, no todos los dispositivos EtherNet/IP van a requerir o van a ser capaces de implementar todos los mecanismos de seguridad, por lo que se establecen distintos perfiles de seguridad que implementará cada dispositivo:

  • EtherNet/IP Integrity Profile: los dispositivos que hagan uso de este perfil integrarán los mecanismos de autenticación de los equipos y de autenticación e integridad del mensaje.
  • EtherNet/IP Confidentially Profile: este perfil incluye el uso del mecanismo de cifrado de los mensajes para garantizar la confidencialidad, además de los mecanismos del perfil anterior.

También se encuentran en desarrollo los perfiles de seguridad a nivel de aplicación CIP:

  • CIP Authorization Profile: incluirá las medidas para garantizar la autenticidad de equipos y usuarios.
  • CIP Integrity Profile: incluirá las medidas para asegurar la integridad de los datos.

Herramientas de seguridad adicionales

En caso de no ser posible implementar los mecanismos de seguridad que actualmente proporciona EtherNet/IP, es recomendable encapsular las conexiones mediante VPN para proporcionar confidencialidad, ya que así, el tráfico iría cifrado; también garantizaría la autenticidad de los equipos y la integridad del mensaje. Es deseable, el estudio de esta medida sobre todo en comunicaciones EtherNet/IP, teniendo siempre en mente el conocimiento sobre las redes por las que pasará el tráfico y los requisitos de latencia de los equipos.

También es aconsejable el uso de medidas de detección de intrusos en la red (Network Intrusion Detection System, NIDS). El uso y despliegue de un NIDS va a permitir la detección de posibles equipos EtherNet/IP enviando tráfico no legítimo o posibles ataques man in the middle en los que los valores de la comunicación hayan sido alterados con intención de provocar posibles fallos en los dispositivos.

Un sistema de prevención de intrusos (Intrusion Prevention System, IPS) no sólo sería capaz de detectar las comunicaciones, sino también de bloquearlas. Como contraparte, su despliegue ha de ser debidamente testeado y configurado de manera que no llegue a bloquear comunicaciones legítimas, dando lugar a fallos en las comunicaciones de los equipos.

Conclusiones

A lo largo de este artículo hemos conocido el protocolo EtherNet/IP y el estado de seguridad que posee en la actualidad. La concienciación cada vez es mayor y se ve patente en cómo todos los organismos están empezando a aplicar medidas de seguridad en sus protocolos. EtherNet/IP no es distinto y actualmente implementa varios mecanismos de seguridad en sus comunicaciones y en un futuro, esperemos no muy lejano, el protocolo implementará también medidas en las capas superiores de la comunicación.