Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

El protocolo serie, entiéndelo y protégelo

Fecha de publicación 08/11/2018
Autor
INCIBE (INCIBE)
protocolo serie

El protocolo serie

El protocolo serie nació como alternativa a los problemas de sincronización y cableado que ofrecía la comunicación en paralelo, modificando la manera de envío de los datos para hacerlo bit a bit por una misma línea de comunicación en lugar de varios bits a la vez por diferentes líneas.

Las comunicaciones serie se definen por 4 parámetros:

  • Velocidad de transmisión (baud rate): número de bits por segundo de la transmisión, medido baudios (bauds). A mayor velocidad de transmisión, menor distancia entre elementos.
  • Bits de datos: cantidad de bits en la transmisión. los valores típicos son 5, 7 y 8 bits. El número de bits que se envía depende del tipo de información que se transfiere.
  • Bits de parada: indica el fin de la transmisión y también se utiliza para permitir una tolerancia en la diferencia de sincronismo entre los relojes de los equipos emisor y receptor. Puede ser de 1, 1,5 o 2 bits.
  • Paridad: permite verificar si se han producido errores durante la transmisión. Hay cinco tipos: par, impar, marcada, espaciada y sin paridad. La paridad par e impar harán que el número de bits a 1 de la trama sea como la paridad indica, las paridades marcada y espaciada colocan el bit de paridad a 1 y 0 respectivamente. La paridad está formada por 1 bit.

PuTTY

-Configuración de las comunicaciones serie en la herramienta PuTTY-

Tanto el bit de parada como el bit paridad pueden no utilizarse. Al conjunto de bits de datos, bits de parada y paridad se le conoce como paquete de datos, y puede ir desde los 5 a los 11 bits.

Comunicación paralela vs. Comunicación serie

-Comunicación paralela vs. Comunicación serie-

En cuanto a los protocolos basados en comunicación serie, la industria creó un gran número de ellos, que se utilizaban sobre 3 estándares de comunicación: RS-232, RS-422 y RS-485, siendo el primero y el último de los citados, los más utilizados. La principal diferencia entre estos estándares afecta a la parte física de la comunicación, es decir, al modo en el que se transmiten las señales eléctricas y el uso de los pines de los conectores, afectando a la distancia máxima que se puede conseguir con cada uno de ellos. Aparte de en el modo, también se diferencian en el tipo de comunicación que pueden realizar, pasando del punto a punto original del RS-232, al punto-multipunto de RS-422 o el multipunto-multipunto del RS-485.

Tabla comparativa entre los diferentes tipos de comunicación serie

-Tabla comparativa entre los diferentes tipos de comunicación serie-

Ataques y contramedidas a bajo nivel

Las comunicaciones industriales de tipo serie siempre se han considerado más seguras que las basadas en Ethernet por el hecho de que, en su mayoría, son punto a punto o porque no incluyen elementos de gestión de la red. Su progresiva sustitución por comunicaciones Ethernet ha hecho que la seguridad de las comunicaciones serie se haya descuidado, no actualizando los protocolos ni controlando el acceso a los puertos físicos.

Los protocolos utilizados en estas comunicaciones no disponen de las medidas de seguridad que hoy en día se les exigen a todos los protocolos, como la autenticación de extremos o el cifrado. Estas carencias permitirían que cualquier dispositivo nuevo que sea integrado en una comunicación serie, pueda enviar mensajes directamente al resto de equipos. También existen elementos divisores (splitters) que permiten hacer capturas de la comunicación e incluso la inyección de mensajes, siendo este uno de los mayores problemas de seguridad.

Modificar los protocolos utilizados para incluir seguridad no es sencillo, por lo que se han de tomar otras soluciones, siendo la más habitual el uso de pasarelas para la trasformación del medio serie a Ethernet. La creciente interconexión de dispositivos mediante pasarelas de medios (gateways) permite incorporar las medidas de seguridad sobre Ethernet y asegurar las comunicaciones con los mismos medios (cortafuegos, IDS, etc.) que las del resto de la empresa. Sin embargo, esta solución también expone las comunicaciones a otros entornos y equipos que no deberían tener visibilidad sobre ellos, ampliando la superficie de ataque. Además, estos equipos suponen un nuevo elemento de fallo en la red y son susceptibles de ataques que pueden provocar denegaciones de servicio en las comunicaciones.

Si pensamos solamente en la comunicación serie, se ha de añadir toda la seguridad de forma externa a los dispositivos. Para ello, lo más sencillo es la incorporación de hardware de cifrado específico, que aplique criptografía a los mensajes de manera que, aunque sean interceptados, no sean comprensibles salvo para los extremos.

Aunque muchos protocolos serien ya disponen de su versión en Ethernet, como DNP3, Modbus, IEC 101, etc., que aprovecha sus cualidades y ventajas en cuanto a la seguridad, aún se siguen utilizando en algunos dispositivos, sobre todo si son antiguos, las versiones serie inseguras originales.

Crashoverride y el protocolo IEC 101

En 2017 se analizó el malware Crashoverride¸ se considera la herramienta de ataque utilizada en 2016 contra el sistema eléctrico de Ucrania. Este malware hacia uso de varios protocolos industriales para su ataque, entre ellos el protocolo serie IEC 101.

Modo de funcionamiento de CrashOverride

-Modo de funcionamiento de CrashOverride-

El estándar IEC 101 define un protocolo utilizado principalmente en el sector eléctrico. Al igual que todos los protocolos de su misma generación (la publicación de la norma IEC 61850-5-101 fue en el año 1995), no contempla la seguridad en su diseño, sino que está pensado como un protocolo orientado al mensaje que consume muy poco ancho de banda.

El malware disponía de un componente que implementaba de modo parcial el protocolo IEC 101 para poder comunicarse con las RTU y otros dispositivos con soporte del protocolo existente en la red. Este componente se encarga de parsear la información obtenida, principalmente configuraciones almacenadas en los ficheros .INI de los equipos. Con esta información, el componente obtenía el nombre de la aplicación que estaba realizando la comunicación IEC 101, la cual trataba de finalizar para iniciar él mismo una nueva conexión. Si detectaba más de un puerto serie de comunicaciones (suele ser habitual en los dispositivos disponer de varios puertos serie de comunicación), establecía la comunicación en el primero y mantenía abiertos el resto para evitar que otro proceso obtuviese el control del equipo infectado. Con esta conexión establecida, el componente relacionado con IEC 101 hacía un barrido por todo el rango de variables permitidas (IOA) enviando paquetes de tipo comando simple (C_SC_NA_1) y comando doble (C_DC_NA_1) para cambiar el estado entre ON y OFF. En realidad, realizaba el envío de una secuencia de paquetes, primero con órdenes a OFF, seguido a ON y de nuevo a OFF para finalizar con la finalidad de crear una inestabilidad en el sistema y acabar rompiendo los breakers que controlan la distribución de la electricidad.

En este caso, la protección no se puede hacer por origen y destino, puesto que es uno de los extremos válidos de la comunicación el que se encuentra comprometido. Para poder asegurar estas comunicaciones hay que realizar una inspección profunda y comprobar los tipos de mensajes enviados, cantidad, intervalo horario, etc., para poder descubrir la anomalía en el funcionamiento. Para ello, es necesario el empleo de dispositivos que permitan monitorizar la comunicación serie, ya sea en versión hardware o software.

Los proyectos de seguridad en las industrias centrados en mejorar las redes se están centrando únicamente en el mundo Ethernet, por ser más sencillo, estar más extendido y disponer de más herramientas para su protección; dejando de lado las comunicaciones serie. Las empresas deben ser conscientes de este riesgo y comenzar también a proteger este tipo de comunicaciones para que tengan el mismo nivel de seguridad que las comunicaciones Ethernet.