Ideas, información y conocimientos compartidos por el equipo
de Investigación, Desarrollo e Innovación de BASE4 Security.
En la actualidad a la hora de realizar prácticas de programación de Controladores Lógicos Programables (PLCs) si no se cuentan físicamente con los equipos se puede optar por softwares de simulación como por ejemplo PLCSim o OpenPLC, estos son capaces de importar el código creado en el “IDE” del fabricante y emular el comportamiento de dicho PLC. La versatilidad que tengan estos simuladores permitirá ejemplificar la mayor parte de las funciones que los controladores poseen. Pero al simular redes industriales estos softwares son bastantes pobres o carecen de dicha funcionalidad. Es verdad que existen soluciones que podrían acercarse a la realidad, creando máquinas virtuales junto a NodeRED y VirtualmakTCP o mismo con TIA Portal en el caso de Siemens. Sin embargo en prácticas ofensivas en donde tenemos que analizar protocolos de comunicación open source, de propietario, o así mismo distintas versiones de firmwares en un mismo dispositivo, es indispensable contar con los equipos físicos.
En este Post se describe el diseño y construcción de un tablero didáctico de bajo costo en una etapa temprana, orientado a productos de la marca Siemens y basado en los estándares de sus exámenes para realizar prácticas ofensivas. El equipo construido a la fecha de publicación de este post cuenta con 12 indicadores luminosos que pueden ser empleados para señalar el estado de las salidas de control, un baliza al estilo “semáforo industrial”, un sistemas de Interface Hombre Máquina (HMI), un Siemens S7-200 con su módulo adaptador Ethernet y un switch. Se incluye también una bornera con 48 conectores extras para futuras actualizaciones, y cuenta con lugar suficiente como para agregar más dispositivos.
Introducción
Desde hace varios años el desarrollo del control de procesos ha ocasionado que las tareas de producción sean desarrolladas en base a sistemas de automatización. Para lo cual en muchas ocasiones es necesario un estudio, donde se desarrollen prototipos previos a la construcción de un sistema real.
En dichos prototipos se está monitoreando continuamente los principales parámetros de interés del proceso, como lo son las temperaturas, presiones, niveles, flujos, concentraciones, etc. Se pueden ajustar dichos valores para que las tareas se realicen de manera automática, encendiendo válvulas, bombas, calentadores, motores, relevadores, entre otros.
Esto realizado dentro de un laboratorio en un entorno educativo, llevado a un contexto de seguridad permitirá a los estudiantes no solo ampliar la experiencia en el diseño, construcción y monitoreo de equipos, sino también, como securizarlos, actualizarlos y protegerlos.
Por otro lado, es posible conectar el tablero a softwares de simulación industrial para ver los resultados de forma didáctica sin tener que construir un prototipo en el jardín de nuestras casas ni entrar en gastos.
Supongamos un ejemplo: Un alumno luego de “escuchar” el protocolo de comunicación, logra mantener una sesión iniciada y cambiar el estado de una de las salidas del PLC. Imaginemos que en una implementación real esa salida corresponde a una válvula que vierte líquidos en una cisterna. Imaginarlo es fácil, pero “verlo” crea una sensación real del peligro que representa un cambio de estado de este tipo y podemos apreciarlo gracias a simuladores como Factory I/O o Machine Simulator.
Muchos de estos dispositivos se pueden conseguir de segunda mano casi a un 50% de su valor ( esto solo sirve para ambientes educativos, ya que dichos dispositivos garantizan un correcto funcionamiento en un lapso de tiempo impuesto por el fabricante, utilizarlo fuera de estos márgenes en un entorno industrial real no cumpliría normas de seguridad)
El diseño del equipo se realizó de tal manera que las distintas señales de entradas y salidas digitales, están disponibles en bornes de conexión dentro del gabinete. De esta manera el alumno es capaz de proponer distintas configuraciones de operación del equipo de una manera simple y rápida.
Diseño y Construcción
Con la intención de facilitar la explicación acerca del diseño y construcción del equipo, este se dividió en tres bloques fundamentales: Puerta, gabinete e interior. Los cuales se exponen a continuación.
Puerta
Como se mencionó anteriormente, el equipo construido fue elaborado utilizando un gabinete metálico. Este cuenta en su parte frontal con una puerta donde se adecua el equipo y componentes necesarios, 12 indicadores luminosos de 22mm que utilizan 24 volts de corriente continua para operar, con los que se podrá indicar estados o etapas en una secuencia de control. Además se incorporó Siemens mp 277 touch de 8 pulgadas. En una próxima etapa se agregarán 16 pulsadores para simular actuadores.
Un buen punto de partida para obtener los conocimientos necesarios antes de iniciar nuestro research pueden ser los exámenes oficiales de Siemens, ya que estos ofrecen manuales detallando paso a paso el coneccionado, protocolos, softwares, etc. Parte de este proyecto nació con la idea de replicar las estaciones de entrenamiento de SITRAIN.
Tanto los modelos como las versiones de firmwares fueron elegidos en base a una lista de vulnerabilidades conocidas, para más detalles técnicos los invito a leer este POST en donde se aborda técnicamente un ataque real. A modo de referencia en el siguiente diagrama podemos ver una línea de tiempo en donde se ubican lanzamientos de productos, exploits y parches de firmwares.
En este post se expuso el diseño y la construcción en una etapa temprana de un equipo didáctico de apoyo para prácticas ofensivas sobre Controladores Lógicos Programables, sus protocolos y softwares. Podría considerarse una gran inversión para particulares, entornos educativos, o para equipos completos de Red Team/Blue Team para desarrollar soluciones para sus clientes.
Si bien la construcción del equipo sigue en proceso en una primera etapa fue capaz de entregar resultados satisfactoriamente, el costo reducido frente a otras soluciones y la practicidad que aporta junto a los simuladores otorga un ventaja competitiva a la hora de emprender una solución OT, y no solo satisface la necesidad de prácticas de seguridad o programación, si no que también podría corregir líneas completas de producción haciéndolas más eficaces solo con simularlas, desde la comodidad de nuestras casas.
Referencias y Bibliografía