¿Qué es un PLC?, características principales
Actualmente podemos encontrar diferentes tipos de PLC en el mercado de los que destacan los siguientes: Modular
Compactos..etc

¿Qué es un PLC?
Se le conoce como PLC por sus siglas en Inglés (Programmable Logic Controller) o controlador lógico programable. Básicamente es una computadora que puede operar en ambientes de alto riesgo sirviendo como enlace para los procesos industriales.
Este computador autómata es capaz de recibir diferentes señales de entrada que secuencialmente realizarán una acción específica (Salidas). Su origen se remonta a los años 60’s como una alternativa a los antiguos sistemas de relés, en un inicio fueron programados con el lenguaje de listado de instrucciones, posteriormente llegaría un lenguaje de interfaz gráfica llamado Ladder, también conocido como lenguaje escalera y que hoy en día es el más utilizado.
Partes de un PLC
Ahora veremos las partes que lo conforman que a su vez puede estar por módulos o integradas:
- Módulos de entradas y salidas
- Unidad de Procesamiento Central (CPU)
- Fuente de alimentación
- Unidad de programación
- Módulo de memorias
Tipos de PLC

Actualmente podemos encontrar diferentes tipos de PLC en el mercado de los que destacan los siguientes:
- Modular
- Compactos
- Montaje en Rack
- Con panel operador
- Ordenador industrial
- De ranura
- Tipo Software
- Banda estrecha
- Banda baja
Aplicaciones
Es momento también de hablar de cuáles son sus principales aplicaciones. De antemano sabemos que gracias a su distinguida resistencia su uso se ha diversificado en la industria. Indudablemente los encontramos controlando procesos secuenciales, pero también en aquellos ligeramente cambiantes, imprescindible en espacios reducidos, en maquinaria de procesos variables y en chequeo de programación centralizada.
Principales Características de un PLC
- Lectura de señales de captadores distribuidos.
- Permiten establecer comunicación con los diferentes equipos en tiempo real.
- Interfaz que permite el uso y diálogo con los operarios.
- Pueden ser conectados a un sistema supervisorio que facilita la interfaz y monitoreo del proceso.
- Capaces de ser programados por diferentes lenguajes.
- Reciben y ejecutan órdenes continuas por tiempos prolongados.
- Pueden controlar entradas y salidas distribuidas y ajenas al armario central del autómata mediante un cable de red.
Tanto sus características como aplicaciones se han extendido a lo largo de su historia, ahora las marcas lanzan al mercado PLC’s con mayor tecnología y la vara cada año, es más alta.
Podemos ver los PLC en muchos lugares diferentes (control de presas, subestaciones, distribución de gas, petroquímica, etc.). ¿Imaginan lo que sucede si hackean esos PLC, si hacen que se bloqueen o cambian su configuración? Se pueden llegar a causar incluso daños físicos.
¿Cuáles son los problemas con los PLCs actuales?
- El coste.
- La confianza en el sistema heredado. Los PLCs se diseñaron hace 40 años, lo que supuso un gran problema, ya que se creó en un momento en el que no existía Internet, por lo que los protocolos no son seguros para la comunicación.
- Utilizar protocolos no seguros para comunicarse.
- La mayoría de las empresas prefieren parchear antes que rediseñar.
- Código cerrado.
Comunicación PLC: Protocolos SCADA
A continuación, vamos a hablar un poco de los protocolos de PLC.
La mayoría de los protocolos actuales derivan de comunicaciones de serie heredadas. Si recordamos el estándar de comunicaciones 485, cuando se conecta un grupo de dispositivos a un cable serie, todos los dispositivos reciben el mismo mensaje y todos los dispositivos deciden si aceptarlo o no. ¿Esto es bueno para hackear, no? Sencillamente se escucha el bus y se consigue todo. No hay autenticaciones, no hay integridad y no hay confidencialidad.
Protocolo SCADA más popular: Modbus
Es el más popular, alrededor del 90% de PLCs usan este protocolo. Está abierto, probablemente esta sea la razón por la que todos admiten Modbus, porque no requiere de ninguna licencia. Modbus puede certificar un dispositivo para asegurar que dicho dispositivo realmente cumple con todos los estándares, pero no tiene por qué hacerlo realmente, no hay licencias.
El primer byte es un ID esclavo, el cual es una dirección única porque está basada en una red en serie, así que se tiene que tener un camino para adrezar un dispositivo. El código de función le dice al dispositivo esclavo qué hacer y varía entre lectura o escritura a más áreas de memoria. Los datos dependen del código de función que se esté usando.
Y, finalmente, el CRC es solo una verificación de errores. Se trata de verificar si hay algún error físico que ocurra en la transmisión. Si alguien manipula la tensión, se cambian los datos, se recalcula el CRC y se le envía de nuevo al PLC y el PLC lo aceptará (estos son los códigos de función más utilizados). Hay códigos de función para leer salidas digitales, para leer entradas digitales y para leer y escribir registros. Se está trabajando con la memoria, por lo que Modbus le brinda acceso “gratuito” a la memoria del PLC. Se puede leer lo que quiera y se puede escribir lo que quiera sin autentificación. ¿Qué hacker no ama eso?
Actualizaron Modbus
para que sea compatible con las redes TCP/IP, lo que significa que agregaron una trama encima de la trama Modbus.
Consta de un ID de transición para realizar un seguimiento de todas las transiciones que está realizando, por lo que, si el host realiza una transición, realiza un número aleatorio en ese ID de transición, por lo que cuando recibe una respuesta, puede recibir un montón de respuestas de el mismo dispositivo esclavo y coincidirá con el ID de transición para asegurarse que la respuesta esté relacionada con la consulta que estaba realizando.
Originalmente parece ser que Modbus estaba destinado a trabajar también en otros protocolos. Entonces, este campo, fue creado porque diferentes valores en él significan diferentes protocolos. Casi siempre se ve el 00, el cual está relacionado con Modbus.
Cuando hablamos de la longitud hacemos referencia al número de bytes que hay.
Y finalmente, Unit ID, es la identificación de esclavo. Lo mantuvieron en la trama porque a veces se realizan conversiones entre redes TCP/IP y redes en serie. Normalmente para los PLCs este byte no significada nada, aceptan cualquier cosa.
Escenarios de ataque
Existen varios escenarios factibles. Simplemente se puede interrumpir la comunicación causando una denegación de servicio. Se puede interceptar el mensaje y leer el contenido porque no hay cifrado, no hay confidencialidad en absoluto. De igual modo, se puede modificar el mensaje, recibiéndolo en plano, modificando el contenido y devolviéndolo. Un ataque interesante sería también la inyección, se puede, sencillamente, enviar datos cualesquiera.
Contramedidas
La solución frente a estos ataques es contar con cortafuegos para que controlen el tráfico a nivel de capa de aplicación. Contar también un SIEM para entender los datos recibidos. Cifrar las comunicaciones. Contar con un Sistema de Detección de Intrusos (IDS) para controlar actividades inapropiadas o extrañas y así poder prevenirlos (IPS).
Más sobre: Automatización
Fuente/medios: https://www.sothis.tech