El pasado 15 de junio, ISA Global Cybersecurity Alliance (ISAGCA), junto con admeritia GmbH (admeritia) publicaban un documento donde explicaban las mejores prácticas para programar PLC mejorando la seguridad TI de los PLCs y las plantas que controlan.
¿Te gustaría aprender a proteger dispositivos IoT y formarte como Director de Ciberseguridad? Visita nuestro Máster en Dirección de Ciberseguridad, Hacking Ético y Seguridad Ofensiva y aprende con los mejores.
¿Qué es un Controlador Lógico Programable (PLC)?
Un PLC (Controlador Lógico Programable) es un dispositivo que se suele utilizar en la ingeniería automática o automatización industrial, para automatizar procesos, como por ejemplo el control de la maquinaria de la fábrica, otros procesos de producción, etc.
ISA Global Cybersecurity Alliance es un foro colaborativo para promover la concienciación, la educación, la preparación y el intercambio de conocimientos sobre ciberseguridad.
Desde admeritia GmbH indican que en el documento podemos encontrar:
- Orientación: Instrucciones, teoría, antecedentes y explicaciones.
- Ejemplos: Ejemplos de implementación o también ejemplos de lo que sucedería si no se implementara la práctica.
- “Por qué”: Una lista de beneficios que aportará la implementación de estas prácticas. Casi siempre son ventajas sobre la seguridad, pero también de mantenimiento y fiabilidad.
- Referencias: Referencias a estándares y marcos.
20 Mejores prácticas para programar PLCs
- Modularizar el código del PLC, dividir el código del PLC en módulos.
- Seguimiento de modos de funcionamiento. Mantener el PLC en modo RUN.
- Dejar la lógica operativa en el PLC siempre que sea posible
- Utilizar indicadores de PLC como comprobaciones de integridad
- Utilizar comprobaciones de integridad criptográficas y/o de suma de comprobación para el código PLC.
- Validar temporizadores y contadores.
- Validar y alertar sobre entradas / salidas emparejadas.
- Validar las variables de entrada de HMI a nivel de PLC, no solo en HMI
- Validar indirecciones.
- Asignar bloques de registro designados por función (lectura / escritura / validación).
- Instrumento de verificación de plausibilidad.
- Validar las aportaciones en función de la plausibilidad física.
- Deshabilitar los puertos y protocolos de comunicación innecesarios / no utilizados
- Restringir las interfaces de datos de terceros.
- Definir un estado de proceso seguro en caso de reinicio del PLC.
- Resumir los tiempos de ciclo del PLC y las tendencias en la HMI.
- Registrar el tiempo de actividad del PLC y la tendencia en la HMI
- Registrar las paradas duras del PLC y realice una tendencia en la HMI.
- Monitorear el uso de la memoria del PLC y crear tendencias en la HMI.
- Atrapar falsos negativos y falsos positivos para alertas críticas Identifique las alertas críticas y programe una trampa para esas alertas.
Os dejamos el enlace para poder ver el informe completo aquí.