Novedades 20150827

publicado en: Comunicaciones, PLC, Seguridad | 0

En un artículo dividido en dos partes (1 y 2), Jay Griffin describe los sistemas instrumentados de seguridad, que son los que deben llevar planta a situación segura bajo condiciones de riesgo, según se haya determinado en un estudio HAZOP. El texto describe los distintos niveles (desde el SIL 1, que asegura una disponibilidad del 90%, al nivel 4, del 99’99%), las aplicaciones, y cómo se lleva esta seguridad a lógica, entradas, salidas e interfaces.
La web Automation ha publicado una historia sobre los albores de los controladores lógicos programables (PLC). Por desgracia, aunque el contenido es abierto, no se dan facilidades para su lectura, que debe hacerse desde ordenador desde una interfaz engorrosa. La primera parte (página 19) describe los inicios en los 60, cuando se fraguan los ingredientes para la automatización (placas impresas, control numérico, ordenadores analógicos, terminales de vídeo). De ahí al papel de Modicon, Struthers-Dunn y por supuesto General Motors, donde los ingenieros de Hydra-Matic lograron sensibles incrementos de la productividad al reemplazar paneles de relés por controladores digitales. La segunda parte (página 18), centrada en los años 70, describe las compañías pioneras y la segunda generación de PLC.
¿Cómo implantar seguridad en lo sistemas de control? Idealmente con comunicaciones a través de VPN. Pero cuando no es posible (limitación de controladores, exigencia de tiempo real…), aún se pueden usar cortafuegos con inspección profunda de paquetes. Eric Byres, Erik Schweigert y Michael Thomas esbozan como emplearla para evitar ataques DoS o filtrar servicios, por ejemplo.
A propósito del eterno problema de las alarmas, Ian Nimmo y Stephen Maddox hacen un esfuerzo por racionalizarlas. Hay que partir de una correcta definición y priorización, pero también establecer unos valores adecuados, trabajar con operadores, plantear alarmas dinámicas, etc. Es interesante el análisis en función del tiempo de respuesta del usuario a la hora de definir límites no arbitrarios.
¿Qué diferencia un PC industrial de un PC? Tim Munro, de SEL, responde a esta pregunta definiendo las características de un equipo robusto: fiabilidad (refrigeración pasiva, discos sólidos), capacidad de servicio (fuentes redundantes, RAID) y disponibilidad. Es también interesante la introducción, que hace un repaso histórico desde el IBM 5534 hasta los hipervisores, pasando por esa época en la que nos pareció que el PLC quedaría destronado por el PC.

Novedades 20150804

publicado en: Comunicaciones, Seguridad | 0

A la hora de determinar la sucesión correcta de alarmas o datos registrados, es vital mantener los equipos sincronizados de forma precisa. Esta necesidad es tanto más crítica en áreas con tiempos de respuesta muy reducidos, como por ejemplo la distribución eléctrica. Rob Henderson, de Maverick, describe los protocolos que cumplen esta función.
Una de las características ventajosas de Profibus es el diagnóstico de los elementos de comunicación. Tanto es así que el propio protocolo contempla para cualquier esclavo la detección de fallos del propio dispositivo o del canal. Carl Henning lo describe de forma clara en dos entradas (1 y 2).
Este mes de julio se han cumplido cinco años del descubrimiento del primer software malicioso de cierta relevancia en automática, Stuxnet. Como sabéis, consistió en un gusano diseñado con un alto grado de sofisticación. Se propagaba desde memorias USB a través de Windows y software de Siemens hasta autómatas que controlaban centrífugas, a las que aceleraban para producir fallo. Su destino era el sabotaje de plantas de enriquecimiento de uranio iranís, a varias de las cuales comprometieron.
El estándar IEC 61850 se usa utiliza en subestaciones eléctricas y, entre otras cosas, detalla las comunicaciones entre equipos, modelo y almacenamiento de datos, seguridades y comandos. Para ello define varios protocolos (MMS, GOOSE, SMV, servicios web), pero su flexibilidad acarrea también confusión, como se detalla en el siguiente artículo de K. Mahoney.

Novedades 20150716

Innovasic publicó recientemente un par de artículos (1 y 2) orientados a desmontar varios mitos acerca de Industrial Ethernet. Un buen diseño no tiene por qué ser indeterminista, ni prescindir de comunicación inalámbrica, ni aislarla de la red de gestión. Tampoco requiere puertos dedicados o cableado industrial, entre otros.
A propósito de Industrial Ethernet, ABI Research le estima un crecimiento de un 17%, hasta alcanzar los 90 millones de nodos hacia 2020. Esto hará que protocolos como Profinet o Ethernet/IP sobrepasen a los tradicionales buses de campo, de entre los cuales Modbus es el que mantiene una posición más estable.
En el artículo anterior se menciona el concepto de industria 4.0. Es un término acuñado para referirse a la remodelación de los procesos dotándolos de adaptabilidad y eficiencia gracias a las nuevas tecnologías, y hay quienes lo consideran la cuarta revolución industrial. La idea es aumentar la productividad mediante diseño de sistemas inteligentes, digitalizados y descentralizados, que permitan la elaboración JIT y la personalización del producto.
Dos artículos sobre automatización en el transporte. En el caso de los vuelos, según Béla Lipták, la cuestión no es si dirigen humanos o robots, puesto que hace tiempo que los pilotos automáticos controlan el grueso del trayecto, sino de las condiciones en que se puede prescindir del control humano. El segundo texto describe el estado del arte en el transporte por tierra, desde el uso de computación en la nube en logística con camiones, hasta las comunicaciones en el tren.
Se ha publicado una vulnerabilidad que afecta a los servidores OFS de Schneider de versión 3.5 e inferiores, por lo que se recomienda su actualización al SP6.
Esta semana he descubierto el blog de Juan Alberto García Barroso, un espacio donde publica de forma muy didáctica acerca de automatización e instrumentación industrial. Os recomiendo las dos últimas entradas (1 y 2), sobre señales analógicas.
Quiero invitaros a ver un vídeo de José Manuel Carvajal, un amigo que diseña y contruye sus propios drones. Con el último ha sobrevolado las minas abandonadas de Alquife, que durante un tiempo fueron la principal fuente de hierro de España.

Novedades 20150712

Bill Tanner, presidente de Sensoray, escribía esta semana una guía breve para la elección de sensores de temperatura. Comienza distinguiendo las propiedades de termopares, RTD, termistores, diodos y sensores de infrarrojos. En función de ellas, el punto de medida, rango, precisión, coste, etc. se determina qué instrumento es más apropiado para cada aplicación.
Un motivo de queja constante, y justificado, de los operadores en las instalaciones suele ser el alarmero. Rich Carpenter, de General Electric, cree que el 95% de las alarmas que generan los sistemas de control son prescindibles. Básicamente hay que atacar dos problemas: considerarlas dentro del sistema, no como avisos de valores individuales, y eliminar el “ruido”. A propósito de este tema, Bradley Ford, de Yokogawa, da siete consejos para redactar los mensajes de alarma.
Aunque hace unas semanas que se publicaron, quiero mencionar dos artículos sobre seguridad en sistemas de control. El primero, de Kerry L. Sparks, ofrece cinco consejos para proteger las comunicaciones. Se centran en evitar el acceso a la red por medio de firewalls, VPN, filtrado y segmentación. Deborah Galea, directora de OPSWAT, se dirige más específicamente a los SCADA en refinerías y plantas de gas, pero las recomendaciones son extensibles a cualquier instalación.
Por último, mencionar la batalla anunciada entre robots gigantes de Estados Unidos y Japón que, aunque no deje de ser una maniobra publicitaria bien orquestada, promete ratos de diversión el año que viene.

Hackeando un Moeller Easy 512

publicado en: Klockner Moeller, Seguridad | 2

Situación: se necesita extraer el programa de un controlador Klockner Moeller Easy 512, pero está protegido por contraseña. La empresa canadiense que lo instaló cerró hace años y no hay otro modo de obtener el software. Personalmente no hubiese intentado hacer lo que a continuación voy a describir, porque leí en el manual que, al tercer intento fallido, el programa se borra (y se vuelve a conceder acceso). Pero no es así: quien me lo trae ha estado probando contraseñas al azar y sigue sin poder iniciar sesión. En cualquier caso, advierto: si alguien repite esto, posiblemente con un PLC con otra configuración, puede perder el programa.
Easy512
Ya en general, la seguridad en automática no ha sido nunca una cualidad destacable. Al contrario, los sistemas de control se han concebido tradicionalmente como cerrados y de acceso exclusivamente físico por personal de confianza. Es un error lamentable. Por todo el mundo hay repartida una cantidad apabullante de instalaciones desprotegidas. No quiero ser alarmista, pero se trata de una asignatura pendiente que no se debería postergar.
Retomemos el Klockner Moeller. El software de programación, EasySoft, lo primero que pide al establecer la conexión es la contraseña. Y ante fallo desconecta y no admite otra acción. Hasta aquí, poco que objetar, no hay que olvidar que hablamos de un PLC de baja gama. Lo que lo hace tan vulnerable es la limitación sobre la contraseña: cuatro caracteres numéricos. Es decir, que en pocos minutos va a caer ante un ataque de fuerza bruta.
Una opción interesante sería suplantar directamente a la aplicación (la comunicación se realiza por el puerto serie) y lanzarle intentos. Pero no disponía de mucho tiempo, así que me decanté por una alternativa que, por otra parte, puede repetirse en otros contextos, razón por la que me he animado a publicarla. Se trata de mandar pulsaciones de teclas directamente al desplegable que solicita la contraseña.
Para ello, me instalé el programa AutoHotkey. No sé si es bueno, es el primero que encontré buscando en Google. Lo que sí puedo decir es que tiene una sintaxis algo retorcida. Los script se crean con cualquier editor de texto, se graban con la extensión .ahk y están listos para ejecutar. Asigné la combinación CTRL+h para iniciar el envío de pulsaciones del teclado, y la tecla ESC para detenerlas. Manda, como he comentado, todas las contraseñas desde 0000 hasta 9999 acompañadas de dos pulsaciones de ENTER (una para el cuadro de diálogo de la contraseña y la segunda para aceptar el mensaje de error). El código es el siguiente:

^h:: ; La ejecución del scrip se inicia con CTRL+h

;=== Se prueban contraseñas desde 0000 hasta 9999
i=0
Loop, 10000
{
   v:=Format("{:04}",i)   ; Se le da formato de cuatro cifras

   Send, %v%{enter}{enter}   ; Se mandan las cuatro cifras seguidas de dos ENTER
   Sleep, 400 ; Pausa
   i++

   ;=== Para salir, pulsar la tecla ESC
   GetKeyState, state, Esc
   if state = D
   Exit
}

Es muy mejorable. Posiblemente se pueda reducir el tiempo de pausa, por ejemplo. Pero sirve con el Moeller. Basta intentar conectarse, pulsar CTRH+h cuando pide la contraseña, y dejarlo correr. Una vez que acierta, la conexión se mantiene. Se pulsa ESC para detener el envío de teclas y ya es posible guardar la copia del programa.

1 2 3