Seguridad en el protocolo GOOSE

Fecha de publicación
06/08/2020
Autor
INCIBE (INCIBE)
GOOSE

La implementación del estándar IEC 61850 en subestaciones eléctricas tenía como objetivo la transformación del modelo analógico al digital, y, de este modo, ser capaz de monitorizar de forma más veloz una mayor cantidad de parámetros. Es en este punto donde se hizo necesaria la implementación de medidas de ciberseguridad para asegurar la estabilidad y la fiabilidad de la red eléctrica.

El estándar IEC 61850 define una serie de reglas para la organización de la información de una manera consistente, con el objetivo de que pueda ser interpretada por cualquier tipo de dispositivo electrónico inteligente (IED, Intelligent Electric Devices) propio de las subestaciones. El protocolo GOOSE (Generic Object Oriented Substation Events) forma parte de los protocolos que componen este estándar para la transmisión de información sobre el estado de los interruptores, alarmas o la temperatura de los transformadores.

Protocolo GOOSE

El objetivo de los mensajes en el protocolo GOOSE es proporcionar, de una manera rápida y viable, un intercambio de datos entre dos o más IED dentro de una red Ethernet.

Los mensajes GOOSE se envían periódicamente a la red o de forma espontánea cuando sucede un evento. El periodo entre dos mensajes, cuando no hay ningún evento, se denomina T0. En el momento en el que se detecta un evento, un mensaje es enviado inmediatamente. En este punto, se genera una cadena de mensajes con una separación de tiempos no establecida en el protocolo, pero que suele tener un carácter exponencial hasta alcanzar la retrasmisión estable.

Tiempo de transmisión del evento

- Tiempo de transmisión del evento. Fuente: SlideShare -

El formato de trama del protocolo GOOSE tiene doce campos. Uno de ellos es la APDU (Protocolo de Aplicación de Unidad de Datos), donde se describen los 12 parámetros que organizan la formación y envío de los mensajes:

  • gocbRef: referencia única al bloque de control asociado que controla el mensaje de GOOSE.
  • timeAllowedToLive: tiempo que tiene que esperar al receptor para el próximo mensaje.
  • datSet: cadena que describe el nombre del data set.
  • goID: es el identificador del IED que envía el mensaje.
  • t: sello de tiempo que indica un nuevo evento de GOOSE.
  • stNum: número de veces que se ha enviado un mensaje GOOSE cuando se ha producido un cambio en los valores del data set.
  • sqNum: guarda el incremento de tiempo cada vez que un mensaje GOOSE ha sido enviado repetidamente.
  • test: indica si el mensaje es de prueba o no.
  • confRev: cuenta las veces que la configuración del data set ha cambiado.
  • ndsCom: valor booleano que indica si el bloque de control requiere reconfigurarse.
  • numDatSetEntries: contiene el número de elementos que componen el conjunto de datos.
  • allData: datos intercambiados en el mensaje (bool, integer, float…). Se pueden incluir varios valores en un mismo mensaje.

Formato de trama de protocolo GOOSE

- Formato de trama de protocolo GOOSE. Fuente: MDPI -

 

Ejemplo de trama de GOOSE en Wireshark

- Ejemplo de trama de GOOSE en Wireshark. Fuente: MDPI -

Debilidades del protocolo GOOSE

La latencia es la principal barrera que surge a la hora de implementar medidas de seguridad, especialmente en infraestructuras del sistema eléctrico, donde la inmediatez es un elemento clave para poder operar de forma correcta. La definición del protocolo GOOSE establece 4 ms como tiempo máximo de desfase para determinados mensajes, por lo que las medidas de seguridad a aplicar, como las expuestas en la IEC 62351, deben cumplir con este requisito. Como consecuencia directa de estos requerimientos, las medidas de cifrado o cualquier otra que aumente el desfase o la latencia están excluidas.

Para conseguir un cifrado de los datos en un tiempo menor de 4 ms se necesitaría una CPU de gran potencia instalada en los IED. Esto puede suponer un problema, ya que, al introducir una nueva CPU, es necesario un rediseño del hardware y, en la mayoría de las ocasiones, eso conlleva la necesidad de certificar el nuevo diseño.

No obstante, ya se está trabajando en la mejora de los tiempos de cifrado. Así, en noviembre de 2011, Siemens publicó una patente que implementaba un método de clave de grupo para el modelo GOOSE que permite seguridad con baja latencia.

Ciberseguridad en IEC 61850

Como ya se comentó en el artículo Estándar IEC 61850, todos para uno y uno para todos, el estándar no presenta recomendaciones relacionadas con la ciberseguridad en los mensajes de capa 2 de GOOSE. Más tarde, se desvelaron algunas carencias de seguridad en este protocolo, pero se consideraron de poca importancia debido al aislamiento físico de la red. Esta situación es muy distinta a día de hoy, debido a las conexiones con dispositivos fuera de la subestación o con centros de control, exponiendo la red ante diferentes vectores de ataque.

En 2007 se elaboró un estándar, denominado IEC 62351, que proporcionaba una serie de medidas de seguridad para los mensajes GOOSE del IEC 61850, entre otros. Las medidas que proporcionó esta actualización respecto al protocolo GOOSE fueron las siguientes:

  • Autentificación de los datos transferidos a través de firmas digitales.
  • Prevención ante espionaje de la información.
  • Suplantación de identidad.
  • Detección de intrusos en los mensajes.

Cómo proteger GOOSE

Desde que unos investigadores de seguridad demostraron que el protocolo GOOSE podía ser comprometido mediante diferentes ciberataques, se evidenció la necesidad de aplicar mecanismos de defensa que asegurasen la integridad de este protocolo. Los ataques que se identificaron estaban basados en:

  • Modificación de tráfico: capturando paquetes y modificando algunos parámetros se podría provocar el encendido de alertas en los interruptores de la subestación.
  • Denegación de servicio (DoS): enviando más paquetes que el número de paquetes permitido en el intervalo de tiempo, consiguiendo que el IED atacado no respondiese a las peticiones.
  • Repetición: captura de paquetes entre dos IED para su posterior envío sin modificación, consiguiendo una posible apertura del interruptor sin autorización.

Una de las soluciones para proteger la integridad del protocolo GOOSE es la llamada TSA (Trust System Architecture, Arquitectura de Sistema de Confianza). Esta arquitectura se compone de un switch, un firewall y un detector de intrusos, y localiza los posibles ataques de seguridad en el protocolo. La principal ventaja de este mecanismo es que se consigue una solución de seguridad integral y completa (detección, alerta, control y bloqueo).

TSA (Trust System Architecture) para GOOSE

- TSA (Trust System Architecture) para GOOSE. Fuente: ResearchGate -

  • El firewall se configura para reconocer la firma de autorización de tráfico.
  • Los parámetros de cada paquete son comprobados mediante tres métodos:
    • stNum (state number) y sqNum (sequence number): se lee primero el parámetro stNum y se compara con el valor stNum previo a través de una serie de reglas. Después, se chequea que el campo sqNum no esté inicializado a cero cuando no debe y esté acorde con el valor stNum.
    • Tiempo: se realiza una comprobación del conteo del tiempo para que coincida con la política de mensajes GOOSE. La regla es que la diferencia entre el tiempo generado y el tiempo de recepción no puede ser mayor que los 4 ms.
    • Integridad de los datos: en este módulo, el sistema de confianza verifica si el indicador que contiene el valor de control binario se cambia de falso a verdadero o viceversa. Según la norma IEC 61580, cuando se cambia el valor de control binario, el número del mensaje GOOSE también debe cambiarse al siguiente número en secuencia y el sqNum necesita restablecerse a cero.

Otras soluciones, aparte del TSA, pasan por la seguridad física y por la aplicación de técnicas para prevenir ataques en la capa 2. Esto último se consigue implantando VLAN y deshabilitando puertos que no se usen. Otras técnicas defensivas podrían ser añadir switches y routers específicos para el estándar IEC 61850 con inspección profunda de los mensajes GOOSE, aunque esta solución tiene el inconveniente de aumentar el tiempo de envío del mensaje.

Conclusión

Dado el carácter de infraestructura crítica que presentan algunas subestaciones eléctricas, su seguridad se presenta como un requisito indispensable. Como se ha mostrado en este artículo, el protocolo GOOSE, tal y como se define en el estándar IEC 61850, no dispone de medidas específicas de seguridad, por lo que se hace necesario implementar los controles y medidas propuestas en otros estándares, como las propuestas en IEC 62351, o la utilización de dispositivos de seguridad habituales en la red.

Ir arriba