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

Sistemas de control de software libre

Fecha de publicación 21/12/2015
Autor
INCIBE (INCIBE)
SCADA

Las aplicaciones que conforman un sistema SCADA o DCS suelen venir integradas dentro de un mismo paquete de software, que incluye aplicaciones para crear el HMI, el servidor SCADA, histórico de datos, etc. Estas aplicaciones se instalan de forma individual y por separado dependiendo de las necesidades del sistema y los condicionantes que impone el desarrollador.

Históricamente, estos paquetes software han sido proporcionados por un único desarrollador en cada instalación, que ha trabajado de forma exclusiva para entornos industriales, creando en muchas ocasiones soluciones a medida para entornos concretos. Entre estos grandes fabricantes de paquetes software están Wonderware, Telvent, Honeywell, Siemens, etc.

La tendencia hacia la implantación del software libre en los sistemas corporativos y en los hogares, sobre todo por el ahorro de costes y el soporte ofrecido por los desarrolladores de las comunidades que suelen ser más activos a la hora de participar en el desarrollo de un proyecto. Esta tendencia también se ha trasladado hacia los sistemas de control, aunque con cierto retraso.

La característica principal del código libre es que no se patenta y se basa en licencias de tipo GPL, AGPL, Copyleft, etc., lo que otorga permisos para ejecutar, copiar, distribuir, estudiar, modificar el software e incluso redistribuirlo una vez modificado. No se debe confundir el software libre con el software gratuito, aunque muchas veces ambos términos confluyen. El beneficio de los desarrolladores de software libre proviene de donaciones y de los servicios asociados que proporcionan, como instalación, personalización o el soporte técnico.

Iniciativa Open Source

-Iniciativa Open Source-

La iniciativa de software libre tiene como objetivo fomentar el desarrollo y colaboración entre desarrolladores dentro de comunidades. Todos ellos, podrán desarrollar libremente y serán poseedores de un acceso a todos los avances realizados, pudiendo modificar los mismos para mejorar los proyectos.

Sistemas operativos

Los sistemas operativos necesarios para la instalación de las aplicaciones que conforman los sistemas SCADA o DCS eran siempre propietarios, utilizando en muchos casos sistemas Windows, pero también otros como AIX, HP-UX, etc. La razón principal para la utilización de estos sistemas operativos era el respaldo por parte de una gran empresa (Microsoft, IBM, HP, etc.) y la posibilidad de disponer de soporte en cualquier momento en caso de incidente.

Estos sistemas operativos se siguen utilizando hoy en día, sobre todo por los principales desarrolladores de software de control, pero sistemas operativos gratuitos como Linux (en varias de sus distribuciones) o Solaris también se están comenzado a tener en cuenta por algunos desarrolladores.

Hay tres razones principales para apoyar los sistemas SCADA y DCS sobre sistemas operativos libres (principalmente Linux):

  • Seguridad: Windows, debido a su amplia distribución es un objetivo principal de ataques. Aunque en menor medida, los sistemas Linux también reciben ataques, por lo que es importante no olvidar llevar a cabo una correcta configuración de los mismos.
  • Estabilidad y confiabilidad: Aunque en este sentido Windows ha mejorado sensiblemente en sus últimas versiones, es de sobra conocida la estabilidad de los sistemas Linux, su mejor gestión de actualizaciones generalmente sin necesidad de reinicio contribuye a lograr una mayor disponibilidad. Esta razón unida a una mayor robustez y rendimiento de los sistemas Linux fortalece la idea de su utilización como sistema operativo para mejorar los tiempos de producción, reduciendo las caídas o pérdidas de integridad del sistema y, por tanto, los problemas de las industrias
  • Menor coste: Además de que Linux es un sistema operativo gratuito, los costes de mantenimiento son inferiores incluso contratando un soporte.

Aplicaciones

Las aplicaciones necesarias para el control de un sistema SCADA o un DCS eran, en general, propietarias y requerían de una licencia para poder funcionar. En la mayoría de los casos, el software que controlaba una instalación no podía ser elegido por el cliente, sino que el propio fabricante de los dispositivos decidía cual utilizar. Esta imposición también fijaba el sistema operativo sobre el que tenían que funcionar, ya que los desarrolladores trabajan, de forma general, con un único sistema operativo para sus aplicaciones.

Hoy en día esta práctica sigue vigente en muchas instalaciones, pero en aquellas donde el entorno de dispositivos es heterogéneo y procede de distintos proveedores, el cliente dispone de mayor granularidad y control sobre los aplicativos que decide utilizar, lo que les permite también eliminar la dependencia a un sistema operativo. Las condiciones y restricciones que las aplicaciones propietarias imponían en los sistemas de control limitaban en gran medida la incorporación de nuevo software a las plantas. Pero cuando la dependencia con un único fabricante se fue relajando surgieron nuevas opciones, con nuevos desarrolladores dedicados exclusivamente al software y que han ido introduciendo paulatinamente diversos componentes libres en los sistemas de control.

Por otra parte, las necesidades globales de información, la aparición de nuevos dispositivos como teléfonos inteligentes o tabletas dentro de la industria, también han ayudado a la revolución del software industrial. Las nuevas tecnologías han propiciado que empresas de software comercial y grupos de usuarios se interesen también por los sistemas industriales.

Algunos ejemplos de software libre en la Industria

Los nuevos desarrollos de código abierto han surgido en muchas ocasiones de proyectos de investigación, aunque muchas empresas privadas también han desarrollado productos libres, habitualmente versiones limitadas de sus opciones comerciales.

A continuación se muestra un ejemplo de cada una de las diferentes opciones de software libre que se pueden encontrar.

ScadaBR

ScadaBR es un sistema de control completo que funciona en sistemas operativos Windows (Windows XP y Windows 7), disponible en la licencia de código abierto (software libre) desarrollado a partir de un proyecto de investigación. El software ha sido desarrollado en el marco de la CERTI.

El software se compone de los siguientes componentes:

  • ScadaBR Core: Núcleo central del sistema SCADA
  • Módulo ScadaBR DA Server: Mantiene las etiquetas de las variables y permite leer y escribir sus valores.
  • Módulo ScadaBR A&E: Encargado de la emisión de alarmas y la gestión de eventos.
  • Módulo ScadaBR Historian: Base de datos de histórico de datos.
  • Módulo ScadaBR Batch & Scripting: Encargado del control de las secuencias de comandos para realizar operaciones básicas.

ScadaBR es un software totalmente funcional y sin versiones limitadas.

IGSS FREE50

IGSS FREE50 es la versión libre del software SCADA IGSS V11 creado por Schneider Electric. Esta versión libre dispone de todas las funcionalidades de la versión comercial pero está limitado al uso máximo de 50 objetos.

Logotipo del SCADA IGSS

-Logotipo del SCADA IGSS-

Con IGSS FREE50 se pueden crear proyectos con total funcionalidad. Algunas características que presenta son:

  • Definir proyectos con un máximo de 50 objetos
  • Recoger información de PLC sin límites temporales
  • Permite usar más de 70 drivers para PLC
  • Es posible actualizarlo a la versión comercial en cualquier momento.

Esta versión libre del SCADA IGSS también incluye proyectos preconfigurados que pueden ser utilizados en el modo Demo. Esta opción permite mostrar las capacidades del software sobre diversos entornos simulados.

IGSS FREE50 funciona bajo entornos Windows.

IndigoSCADA

IndigoSCADA es un software SCADA-DCS para las plataformas Windows y Linux. Está desarrollado principalmente en lenguaje C/C++. Sus características principales son:

  • Uso de datos para generar informes de gestión diarios / semanales / mensuales.
  • Presentación gráfica de los datos de tiempo real e histórico.
  • Notificación de alarma y eventos en tiempo real
  • Bases de datos en tiempo real e histórica integrada
  • Editor de SQL que permite el mantenimiento en línea de las bases de datos de tiempo real e histórico.
  • Múltiples usuarios con diferentes permisos de acceso.
  • Funcionamiento con IEC 60870-5-101.
  • OPC DA 2.05, A & E 1.1, HDA 1.20, DNP 3.0, RFC 1006, Modbus.
  • Copias de seguridad fáciles.
  • Soporta múltiples ventanas del HMI.

 

Como ejemplo especial, a continuación se recoge un sistema SCADA diseñado en exclusiva para funcionar sobre dispositivos móviles.

TeslaMultiSCADA

TeslaMultiSCADA es un SCADA para el acceso a los datos de producción y de proceso desarrollado para dispositivos Android, utilizando protocolos industriales como Modbus TCP (UDP), Siemens ISO / TCP y Ethernet / IP para la comunicación.

La empresa proporciona una versión de evaluación que tiene las siguientes restricciones:

  • No se puede utilizar más de 16 etiquetas en el proyecto.
  • No se puede importar proyectos.
  • El período de evaluación es de 60 días.

Software libre y sistemas de control: ¿un matrimonio con futuro?

Aunque la expansión del software libre para los sistemas de control industrial está aumentando su oferta de manera notable en los últimos años, parece complicado que una de estas soluciones llegue a consolidarse como solución definitiva para controlar procesos críticos dentro de la industria. Seguramente han de pasar varios años para que, por ejemplo pueda verse software de código libre controlando una central nuclear u otro entorno industrial de alta criticidad.