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

Evil PLC, la amenaza sigilosa

Fecha de publicación 24/11/2022
Autor
INCIBE (INCIBE)
Evil PLC, la amenaza sigilosa

Con el paso del tiempo, el uso de los PLC se ha extendido a nivel industrial en diferentes sectores, con el objetivo de mejorar todos los procesos presentes en las plantas. Además de sufrir una clara evolución con respecto a las capacidades, comunicaciones y robustez, los PLC, también se han convertido en el blanco de diferentes grupos de atacantes o investigadores, como es el caso de PLC-Blaster.

Al tratarse de unos dispositivos que permiten el control de procesos industriales, los ataques sobre los mismos pueden originar una serie de estados complejos de gestionar para los operadores de la planta, acostumbrados a tratar con otros tipos de problemas, como la falta de mantenimiento en el dispositivo, fallos eléctricos, etc. A nivel de ciberseguridad un ataque sobre un PLC puede derivar en:

  • Pérdida de disponibilidad originada por un consumo de recursos tras el envío de tramas específicamente desarrolladas para generar dicha situación, modificación de firmware de forma no legítima, etc.
  • Modificación de comportamiento con impacto directo en la producción. Esta situación podría originar impactos de gran gravedad también a nivel safety.
  • Movimientos laterales por la red. El compromiso de estos dispositivos podría dar pie a que atacantes utilicen los activos que poseen comunicación con los PLC para infectar a estos o propagarse a lo largo de la red, como en el caso de PLC-Blaster.

Relacionado con el ámbito de la investigación y, como alternativa a los puntos anteriormente comentados, el grupo Team82, de Claroty, ha realizado una investigación sobre una potencial amenaza que afectaría a diferentes PLC, denominada Evil PLC. El estudio se desarrolló teniendo en cuenta tanto los PLC, como el software de ingeniería utilizado en las estaciones que se utilizan para programar los mismos. Además, cada fabricante puede utilizar un protocolo concreto para establecer las comunicaciones entre el PLC y la estación de ingeniería, por lo que también se tuvo en cuenta este hecho a la hora de analizar las amenazas.

Tabla resumen de fabricantes

- Resumen de fabricantes, tecnologías, comunicaciones y vulnerabilidades asociadas. -

Las arquitecturas que poseen los PLC a nivel de CPU son variadas, como NXP ColdFire a ARM, MIPS, PowerPC o x86. A nivel de sistema operativo o firmware, también puede encontrase una gran variedad, pero los sistemas operativos utilizados suelen ser en tiempo real (RTOS) con características específicas de cada proveedor. Entre estos sistemas, se encontrarían QNX, uCOS, VxWorks, entre otros. Algunos de los PLC más modernos dentro del mercado permiten ejecutar algunas versiones de Kernel de Linux con ligeras modificaciones.

¿Cómo funciona Evil PLC?

Esta amenaza, puede aprovecharse de 2 formas diferentes, dependiendo de la visión que se quiera dar en la fase de preparación ‘weaponization’ en la taxonomía de ataque acuñada por Lockheed Martin Corporation, Cyber Kill Chain (CKC). Esta fase, dentro de todo el proceso de la taxonomía, se basa en la búsqueda, investigación, identificación y selección del o los objetivos. También puede relacionarse con un reconocimiento gracias a técnicas pasivas de análisis de código abierto o un reconocimiento activo de los sistemas accesibles desde Internet para detectar posibles vulnerabilidades.

Los vectores de ataque que se han publicado en la investigación son:

  • Aprovechar un PLC como punto de acceso a la red industrial. En este escenario, los operadores accederían al PLC y se descargarían su lógica de programación, previamente modificada de forma maliciosa por el atacante, para infectar la estación de ingeniería. Una de las formas que permite originar esta acción con más agilidad, ya que se suele ejecutar en mantenimiento o paradas controladas, consiste en modificar algún valor con repercusión sobre el proceso industrial. Las vulnerabilidades detectadas por parte de los investigadores, en las plataformas de desarrollo, permitirían ejecutar código malicioso en el proceso de carga de una estrategia dentro de la estación de ingeniería. Este proceso se refiere a la acción que realizan los operadores dentro de las estaciones de ingeniería cuando programan los PLC y necesitan subir la lógica de programación para cambiar el comportamiento de los PLC.

Esquema visual del primer escenario de ataque planteado

- Esquema visual del primer escenario planteado. -

  • Propagación del código malicioso a través de proveedores/integradores. Dado que en muchas ocasiones el soporte y mantenimiento de los PLC en el mundo industrial corre a cargo de proveedores/integradores externos, podría darse el caso de que estos utilizasen un ordenador portátil. Dado este escenario, un atacante podría engañar a los ingenieros de mantenimiento, comprometiendo su sistema durante el proceso de diagnóstico de una máquina comprometida. Después de obtener acceso a la máquina del integrador, que por su diseño es capaz de acceder a muchos otros PLC, los atacantes podrían ampliar su control sobre otras organizaciones.

Esquema visual del segundo escenario de ataque planteado

- Esquema visual del segundo escenario de ataque planteado. -

Dado que es necesario poseer un acceso inicial al PLC para originar los 2 escenarios anteriormente comentados, algunas herramientas como los metabuscadores podrían ser una excelente opción, ya que permiten realizar búsquedas sobre activos que poseen exposición en Internet, gracias a una serie de tags o filtros específicos. Algunas herramientas de este ámbito son: Shodan, ZoomEye o Censys.

  • Preparación del PLC como honeypot. Aunque los dos primeros vectores de ataque presenten un enfoque totalmente ofensivo, en la investigación se proporciona este tercer escenario desde un prisma defensivo, poniendo trampas (honeypot) a los posibles atacantes.

Esquema visual del tercer escenario de ataque planteado desde un prisma defensivo

- Esquema visual del tercer escenario de ataque planteado desde un prisma defensivo. -

Aprovechando el hecho de que los atacantes también podrían utilizar el software comercial presente en las estaciones de ingeniería para descargar las estrategias de programación de los PLC, sería posible utilizar Evil PLC para infectar a estos deliberadamente.

Como si de un arma de doble filo se tratase, el contraataque ejecutado por el Evil PLC serviría, tanto como método de disuasión como para la detección temprana de potenciales ataques.

Conclusiones y buenas prácticas

Dado que las vulnerabilidades publicadas por Team82 en esta investigación se reportaron bajo una política de divulgación, todos los fabricantes disponen de un parche que evitaría la explotación de las mismas.

Sin embargo, dada la complejidad al parcheo que presentan muchos de estos sistemas, donde las paradas programadas o mantenimientos pueden ser muy limitados, existen medidas de mitigación adicionales que podrían aplicarse para evitar estos ataques:

  • Segmentación de redes. Una de las principales medidas de mitigación parte de una segmentación correcta que límite el acceso a los PLC sólo a un grupo reducido de personas que ejecuten trabajos en el mismo. Esta mitigación reduciría la exposición de ataque y evitaría potenciales ataques.
  • Autenticación de clientes. El uso de mecanismos de autenticación para la validación de los clientes en las estaciones de ingeniería permitiría limitar la interactuación con los PLC. Este proceso aumenta su robustez, ya que se requerirá a la estación de ingeniería un certificado para establecer la comunicación con el PLC. Algunos fabricantes ya soportan comunicaciones TLS para establecer comunicaciones entre las estaciones de ingeniería y PLC.
  • Despliegue de infraestructura PKI. Una de las soluciones más robustas para implementar comunicaciones seguras, pero que implica gran complejidad en el mundo industrial es un despliegue de una infraestructura de clave pública (PKI). Gracias a esta infraestructura sería posible cifrar todo el tráfico entre la estación de ingeniería como cliente y el PLC como servidor.
  • Supervisión y monitorización de tráfico. Dado que el vector de ataque de Evil PLC se centra en la carga o descarga de la lógica de programación relacionada con el PLC, dicha acción se ejecuta a través de la red, por lo que una monitorización continua con supervisión permitiría la generación de alertas para verificar si esta carga o descarga es legítima.
  • Actualización constante. A medida que las investigaciones y otros análisis técnicos orientados al descubrimiento de vulnerabilidades se hacen públicos, es necesario que las empresas industriales actualicen todos sus activos y posean un procedimiento de parcheado industrial sólido.