El profesor Avishai Wool y el estudiante de M.Sc Uriel Malin de la Facultad de Ingeniería Eléctrica de TAU trabajaron junto con el Prof. Eli Biham y la Dra. Sara Bitan del Technion para interrumpir las funciones del PLC y obtener el control de sus operaciones.
La estación de trabajo de ingeniería deshonesta de los científicos se hizo pasar por la llamada estación de ingeniería TIA (Portal de automatización totalmente integrado) que se interconectaba con el PLC Simatic S7-1500 que controlaba el sistema industrial.
"La estación pudo iniciar y detener el controlador lógico programable de forma remota a través de la arquitectura de comunicaciones de Siemens, lo que podría causar estragos en un proceso industrial", explicó el profesor Wool. "Entonces pudimos extraer los controles del TIA y descargar subrepticiamente la lógica de comando deshonesta al PLC S7-1500".
Los investigadores ocultaron el código falso para que un ingeniero de procesos no pudiera verlo. Si el ingeniero examinara el código del PLC, vería solo el código fuente legítimo del PLC, sin darse cuenta del código malicioso que se ejecuta en segundo plano y emitiendo comandos falsos al controlador.
Sus hallazgos demuestran cómo un atacante sofisticado puede abusar de la última generación de controladores industriales de Siemens que se construyeron con características de seguridad más avanzadas y protocolos de comunicación supuestamente más seguros.
Arreglos y mitigaciones del PLC
“La brecha principal en el protocolo de enlace criptográfico S7 es que el TIA no está autenticado en el PLC: solo el PLC está autenticado en el TIA.
Básicamente, esto nos permite crear una estación de ingeniería deshonesta (una vez que se quitó el velo de oscuridad del protocolo).
Este vacío puede abordarse criptográficamente, por ejemplo, haciendo que cada instancia de TIA use su propia clave privada, cuya clave pública es compartida y retenida por el controlador lógico programable.
Una alternativa es introducir un modo de 'emparejamiento', en el que el controlador lógico programable y el TIA establecen un secreto compartido de larga duración durante la primera sesión.
De cualquier manera, el controlador lógico programable debe negarse a comunicarse con cualquier dispositivo que afirme ser un TIA que no sea el TIA previamente autenticado. De acuerdo con Siemens ProductCERT,explicó .
“ Una segunda brecha es que todos los PLC del mismo modelo y versión de firmware comparten el mismo par de claves público-privadas.
Esta brecha se puede emplear de dos maneras. Lo utilizamos de forma genérica para realizar ataques de suplantación en todos los PLC S7-1500, que utilizan el hecho de que todos los PLC utilizan la misma clave. Sin embargo, no extrajimos la clave privada de los PLC.
Si la clave privada se extrae de un controlador lógico programable de una versión en particular, entonces ataques más fuertes, específicamente ataques con secuestro de sesión sobre la marcha, y también ataques de suplantación de PLC contra una estación TIA (sin ningún PLC válido), pueden ser posibles" .
Siguiendo las mejores prácticas de divulgación responsable, los resultados de la investigación fueron compartidos con Siemens mucho antes de la programada BlackHat EE.UU. 2019 presentación , permitiendo que el fabricante se preparara.
Siemens aún no ha publicado un aviso de seguridad que apunta a las correcciones de software.
Mientras tanto, las organizaciones que implementan los controladores lógicos programables vulnerables pueden, como generalmente aconseja Siemens, proteger el acceso a ellos activando el mecanismo de control de acceso protegido por contraseña.
También pueden asegurarse de que estos controladores no estén conectados a Internet o colocarlos detrás de firewalls.
El Dr. Bitan señaló que el ataque enfatiza la necesidad de inversión tanto de fabricantes como de clientes en la seguridad de los sistemas de control industrial.
"El ataque muestra que asegurar los sistemas de control industrial es una tarea más difícil y desafiante que asegurar los sistemas de información", concluyó.