Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
http://dx.doi.org/10.14236/ewic/ICS2018.12
nombre.apellido@ait.ac.at kieran.mclaughlin@qub.ac.uk
El panorama de amenazas para los sistemas de control industrial está en constante expansión y estos sistemas han
demostrado ser objetivos atractivos para los atacantes cibernéticos. Los controladores lógicos programables son
componentes principales en los ICS y, por lo tanto, deben estar bien protegidos y monitoreados. Al examinar la
investigación existente en este campo, descubrimos que existe un vacío en el análisis integral de las funciones de
registro y extracción de datos en dispositivos industriales. Sin embargo, el análisis de estas características y la
evaluación de su aplicabilidad para la detección de intrusos cibernéticos facilitaría significativamente su adopción
por parte de las herramientas de detección de intrusos. Para cerrar la brecha, analizamos las capacidades de
registro y extracción del panel HMI y PLC Siemens S7-1200. Implementamos una lógica de PLC para el registro de
datos llamada PLCBlockMon. En este papel,
Palabras clave:Sistemas de Control Industrial, Seguridad Cibernética, Registro y Extracción, PLC, Detección de Intrusos
©
CFindrik et al. Publicado por
BCS Learning and Development Ltd. Actas de Actas 102
de ICS y SCADA 2018
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
En la primera sección, presentamos el entorno ICS experimental arquitectura correspondiente a los Niveles 0 a 2 en el modelo de
utilizado en los experimentos. En la Sección 3, se proporciona un Purdue (Obregon (2014)), como se muestra en la Fig. 1.
análisis de diferentes capacidades de registro y extracción de
datos. La principal contribución de este artículo es una lógica La figura 2 ilustra la arquitectura de nuestro banco de pruebas.
para el registro de datos en un PLC, que se presenta en la Sección En el futuro, planeamos ampliar el banco de pruebas para incluir
4, junto con un análisis de sus escenarios de aplicación para la sistemas de nivel 3 que son responsables de las operaciones de
detección de intrusos cibernéticos en la Sección 5. la planta, como un historial de datos y una HMI basada en
escritorio, que son responsables del registro de datos de toda la
planta en todas las zonas de celdas y también se pueden utilizar
para la detección de ciber-intrusos.
2. ENTORNO EXPERIMENTAL DEL SCI
Los ICS son entornos grandes y complejos que se usan comúnmente en industrias, como la
fabricación, la generación de energía eléctrica, las plantas químicas, las refinerías de petróleo y las
de un entorno ICS a gran escala únicamente con fines de investigación puede ser una tarea
abrumadora y costosa, por lo tanto, para realizar experimentos científicos, es común construir
bancos de pruebas ICS utilizando solo unas pocas piezas representativas del equipo que es
necesario para responder preguntas de investigación (Survey (2014)). ). Para analizar las funciones
que se utilizan en instalaciones reales de ICS. Siemens es uno de los mayores proveedores de ICS
junto con Honeywell, Rockwell/Allen-Bradley y Schneider Electric. por lo tanto, su equipo ha sido
elegido para el banco de pruebas. Los dispositivos Siemens incluidos en el banco de pruebas son
un controlador S7-1200, un panel HMI KTP-700 y una máquina de escritorio con Windows 7 con la
aplicación de software TIA portal v14, que se utiliza como estación de trabajo de ingeniería para la
limitan al S7-1200, este dispositivo ofrece información sobre el conjunto de productos S7 más
Figura 2:Arquitectura del banco de pruebas ICS experimental.
grande, ya que todos comparten características similares. La arquitectura de nuestro banco de
pruebas está diseñada para reflejar la supervisión y el control locales de un proceso físico, por lo
Todos los dispositivos antes mencionados están conectados
que representa las zonas de celdas de un ICS general. que se utiliza como estación de trabajo de
a un conmutador de red. Además, se utiliza una
ingeniería para la programación y configuración de PLC/HMI. Si bien los experimentos realizados
computadora portátil que ejecuta Kali Linux (Kali (2018)) en
en este trabajo se limitan al S7-1200, este dispositivo ofrece información sobre el conjunto de
una máquina virtual para la generación de escenarios de
productos S7 más grande, ya que todos comparten características similares. La arquitectura de
ataque experimentales, que se describen en secciones
nuestro banco de pruebas está diseñada para reflejar la supervisión y el control locales de un
posteriores. El PLC S7-1200 utilizado como simulador de
proceso físico, por lo que representa las zonas de celdas de un ICS general. que se utiliza como
procesos y controlador de nivel de agua de un tanque de
estación de trabajo de ingeniería para la programación y configuración de PLC/HMI. Si bien los
refrigerante. El depósito de agua tiene tres válvulas (llenado,
experimentos realizados en este trabajo se limitan al S7-1200, este dispositivo ofrece información
vaciado y refrigerante) con un caudal fijo. El nivel de agua
sobre el conjunto de productos S7 más grande, ya que todos comparten características similares.
actual se simula en el PLC como una entrada analógica, y su
La arquitectura de nuestro banco de pruebas está diseñada para reflejar la supervisión y el
valor se calcula en función del estado actual de las válvulas
control locales de un proceso físico, por lo que representa las zonas de celdas de un ICS general.
(ON o OFF) y el conocimiento de sus caudales. La figura 3
muestra la visualización del proceso en el display de la HMI.
103
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
104
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
Esto permitiría al programador utilizar cualquiera de los Las opciones de registro son: al cambiar el valor de la etiqueta,
bloques de comunicación existentes (p. ej., SMTP sobre TLS) cíclicamente con un período establecido, o puede activarse por el
para transmitir la información de diagnóstico. El TIA Portal cambio en una etiqueta diferente. La HMI no depende de la
está diseñado como una herramienta de programación y lógica de ejecución para leer la memoria del PLC y, por lo tanto,
diagnóstico y solo puede haber una conexión activa en puede continuar registrando valores de memoria mientras el PLC
cualquier momento a un PLC determinado. Por esta razón, está en modo de parada. Una limitación de esta característica es
este método es menos práctico que las otras opciones, ya que la HMI no podrá registrar un pulso en un valor en el PLC que
que genera más desafíos para los ingenieros que trabajan dure menos que el ciclo de actualización de las etiquetas HMI.
con los dispositivos. El uso de la HMI de escritorio para Esto debería tenerse en cuenta para la configuración de la HMI,
guardar los registros parece ser el método más práctico. El ya que cualquier señal de control sensible que pueda causar un
búfer de diagnóstico se puede borrar restableciendo el PLC a cambio necesitaría que el período del ciclo de actualización se
la configuración de fábrica si no hay una tarjeta de memoria establezca al mínimo.
instalada; sin embargo, esto no es posible sin una contraseña
si el nivel mínimo de protección de acceso está configurado Para acceder a los registros en los paneles SIMATIC Basic
en el controlador. HMI, solo hay una opción, que es usar una llave USB
extraíble. Sin embargo, esto no es práctico para una
3.1.3. Extracción de información de registro instalación grande o para usar en un sistema automatizado.
El método principal para extraer los registros del PLC de Los paneles HMI avanzados (es decir, la serie de paneles
forma remota es con el servidor web incorporado. Para ello, SIMATIC HMI Comfort) tienen la opción de habilitar un
el usuario requiere los derechos mínimos más acceso de servidor web para la extracción remota de datos (Siemens
lectura de archivos. Esto permite al usuario descargar los HMI Web Access (2000)). La versión de escritorio de la HMI
registros de datos y recibir datos del dispositivo, pero no (Siemens WinCC (2000)), normalmente utilizada para la
eliminar datos. El servidor web tiene una configuración de implementación de pantallas de operadores de nivel 3, tiene
actualización automática y la frecuencia mínima es cada 5 capacidades para registrar etiquetas y alarmas de PLC/HMI
segundos. Esto significa que el tamaño de los registros de en la memoria del disco, por lo que ofrece muchas más
datos debe ser lo suficientemente grande como para durar la opciones para guardar y transmitir los registros a un sistema
frecuencia de actualización mínima establecida en el servidor de detección. Además de las alarmas del PLC, el panel básico
web. Otras opciones para enviar los datos a un sistema de la HMI también tiene la capacidad de mostrar alarmas
remoto incluyen el uso delT (U) ENVIAR Cbloques de analógicas (activadas por exceder/caer por debajo de un
funciones compatibles con ISO-on-TCP, TCP o UDP (S7 User valor límite previamente definido) y alarmas de bits definidas
Communication (2000)). Por ejemplo, el bloque de funciones por los usuarios en la pantalla de la HMI, y almacenar su
UDP se ha utilizado para implementar la extracción de historial en un búfer cíclico. La integridad de los registros en
registros en formato SYSLOG (S7 Syslog (2018)). Si bien estos el panel HMI y, de manera similar, la versión de escritorio
protocolos no están protegidos, pueden usarse junto con un depende de que la configuración de la HMI sea segura. Un
sistema de detección de intrusos en la red que identifique resumen de estas características se puede ver en la Tabla 1.
posibles manipulaciones de registros en la transmisión. Otra
forma de extraer registros de forma segura es enviándolos a
través de conexiones de correo electrónico seguras (SMTP
4. PLCBLOCKMON: REGISTRO DE DATOS EN PLCS
sobre TLS), que está disponible en el bloque de funciones
En esta sección, describimos la implementación de nuestro
CORREO C(Siemens SMTP, (2004)). Esta opción es una buena
bloque de registro de datos, llamado PLCBlockMon.
alternativa para los casos en que el servidor web no está
PLCBlockMon1está diseñado para registrar diferentes etiquetas
habilitado. Por último, si los registros se almacenan en una
de PLC. La idea es registrar solo las etiquetas que capturan los
tarjeta de memoria utilizada por el PLC, también podrían
estados más importantes del proceso que se está controlando y
extraerse manualmente. Esto es muy poco práctico para
los respectivos valores de entrada/salida del PLC que influyen en
instalaciones reales y solo puede ser útil para fines forenses
los estados del proceso. Por lo tanto, exactamente qué etiquetas
en caso de que el PLC se haya bloqueado.
deben registrarse depende del proceso que se esté controlando,
lo que requiere que se adapte a la lógica del PLC individual.
Además, en esta sección, ilustraremos el proceso de
3.2. Registro y extracción de datos HMI
configuración de PLCBlockMon para registrar los estados del
El panel HMI tiene la capacidad de almacenar registros localmente en proceso del tanque de agua.
un dispositivo USB o tarjeta SD de Siemens conectado. Esta
característica se llamaInformación histórica, y ofrece varias opciones
La lógica de escalera de control programada en el PLC
diferentes para configurar el comportamiento de los registros. Los
utiliza 3 entradas digitales, 3 salidas digitales, 1 entrada
registros almacenados en la HMI consisten en valores registrados de
analógica simulada y 3 entradas HMI (digitales). Las tres
etiquetas HMI y etiquetas PLC que son leídas por la HMI. Estos
entradas HMI son los botones que se pueden ver en la
registros tienen tres opciones para cuando se registran los valores de
Figura 3. Las tres entradas digitales al PLC indican
las etiquetas y esto se puede configurar individualmente para cada 1La fuente está disponible públicamente enhttps://github.com/
etiqueta que se registra. los CSR-AIT/PLCBlockMon
105
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
Registros de bloques de PLC Registros del panel HMI Registros de diagnóstico de PLC
Ubicación de almacenamiento Cargar memoria de PLC Memoria Siemens conectada Cargar memoria de PLC
a la HMI
Seguro extracción Tarjeta de memoria, servidor web Memoria USB TIA Portal, HMI o servidor
métodos o SMTP sobre TLS web
Otro extracción Bloques lógicos de - Bloques lógicos de
métodos comunicación TCP o UDP comunicación TCP o UDP
Ámbito de registro Ubicaciones de lógica y memoria Etiquetas y alarmas HMI/PLC Eventos de diagnóstico
en PLC
Método de activación Disparador cíclico o Cíclico, Bajo Demanda o Bajo Evento activado
programado Cambio
Tabla 1:Un resumen de las funciones de registro que están fácilmente disponibles en los dispositivos de banco de pruebas industriales.
106
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
El inicio de sesión en el panel HMI estuvo disponible En esta sección se discutirán los resultados de los
mediante un dispositivo USB de Siemens conectado. Esto experimentos realizados. En primer lugar, se examinará
permitió registrar diferentes etiquetas utilizando la función la validación del uso de recursos y la resiliencia de la red
incorporada de datos históricos de HMI. Las etiquetas que se de las funciones de registro, y luego se utilizarán tres
registrarán y el tipo de modo de adquisición que se escenarios de ataque para ilustrar las aplicaciones de las
seleccionará se configuraron a través del portal TIA. Esto se funciones de registro en el ejemplo del proceso del
puede ver en la Figura 7. tanque de agua.
107
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
manipular paquetes, o incluso cambiar áreas de memoria, y al hacerlo cambiar la operación del PLC. Por cambiando el registro hasta la próxima solicitud de datos, que es
ejemplo, la explotación de vulnerabilidades de seguridad en el protocolo S7 se ha demostrado previamente un proceso cíclico de un período preestablecido y, por lo tanto,
en los siguientes documentos (Bresford (2011), Cheng et al (2017)). Las etapas de tales ataques podrían tiene un retraso mayor que la actualización inmediata para
ocurrir de la siguiente manera: (i) para producir una modificación específica a un proceso, el atacante cambios legítimos desde la HMI. La información que se muestra
necesitaría tener conocimiento de lo que está haciendo el PLC y observar los paquetes para construir un en la figura podría proporcionarse a un IDS con reconocimiento
perfil de las ubicaciones de memoria que se están configurando. la red, (ii) habiendo creado un perfil de de secuencias (Caselli et al (2015)), que puede identificar
comportamiento y adquirido conocimiento de la configuración del PLC, y el atacante podría capturar el intrusiones en función del orden de ejecución de los eventos.
paquete específico que pretende reproducir, modificarlo para evitar el rechazo y reenviarlo al PLC. O en caso
de que el área de la memoria no esté protegida contra escritura, el atacante podría simplemente emitir Además de observar la secuencia de eventos, una tercera
comandos de fuerza de memoria. Cuando la vulnerabilidad en el protocolo permita la manipulación de forma en que los registros podrían usarse para la detección
paquetes, un paso adicional en este escenario podría ser modificar los paquetes de retorno a la HMI para de ataques que manipulan paquetes de control de HMI es si
ocultar los cambios causados por el ataque de reproducción. En este caso, si se hace correctamente, ambos la HMI está configurada para registrar pulsaciones de
registros se verían normales en comparación, sin embargo, los registros del PLC mostrarían inconsistencias botones, así como cambios de lotes en la etiqueta controlada
en el control del proceso, por ejemplo, la válvula de llenado se abrió cuando debería estar cerrada (es decir, por ese. botón - como se explica en la Sección 5.1. Si esto se
cuando el nivel del agua está por encima de un cierto umbral). ). Sin embargo, si el atacante está forzando las implementa y la etiqueta en el PLC se cambia utilizando la
etiquetas de PLC que normalmente se cambian solo a través del botón HMI, sus acciones podrían detectarse función de fuerza o con el ataque de repetición, entonces la
mediante la comparación de registros, como se muestra en la Figura 10. En este caso, si se hace prensa no se registrará en los datos históricos de HMI. La
correctamente, ambos registros se verían normales en comparación, sin embargo, los registros del PLC diferencia entre un cambio de botón normal y malicioso se
mostrarían inconsistencias en el control del proceso, por ejemplo, la válvula de llenado se abrió cuando capturaría en los registros de datos históricos de HMI y se
debería estar cerrada (es decir, cuando el nivel del agua está por encima de un cierto umbral). ). Sin detectaría analizando el orden de ejecución de los eventos.
embargo, si el atacante está forzando las etiquetas de PLC que normalmente se cambian solo a través del
botón HMI, sus acciones podrían detectarse mediante la comparación de registros, como se muestra en la
Figura 10. En este caso, si se hace correctamente, ambos registros se verían normales en comparación, sin
5.2.3. Detección de carga de lógica maliciosa
embargo, los registros del PLC mostrarían inconsistencias en el control del proceso, por ejemplo, la válvula
Este escenario está diseñado para mostrar las
de llenado se abrió cuando debería estar cerrada (es decir, cuando el nivel del agua está por encima de un
limitaciones de PLCBlockMon y los registros de datos
cierto umbral). ). Sin embargo, si el atacante está forzando las etiquetas de PLC que normalmente se
históricos, al mismo tiempo que ilustra cómo se pueden
cambian solo a través del botón HMI, sus acciones podrían detectarse mediante la comparación de registros,
usar el búfer de diagnóstico y las estadísticas de recursos
como se muestra en la Figura 10.
disponibles del PLC para buscar cambios inusuales. El
ataque de carga de lógica maliciosa considera los
siguientes pasos: (i) un atacante configura un ataque de
phishing o instala un registrador de teclas en la
computadora portátil del ingeniero, (ii) el ingeniero se
conecta al PLC, ingresa la contraseña para realizar el
mantenimiento o ver información de diagnóstico con TIA
Portal, (iii) el atacante captura la contraseña y luego se
conecta al PLC con un TIA Portal diferente y descarga la
lógica existente, (iv) el atacante también puede ver la
operación en tiempo real del sistema para crear un perfil,
( v) una vez que el atacante tiene la lógica del PLC, pueden
modificarlo para llevar a cabo su objetivo mientras
simulan y muestran las condiciones normales de
operación, (vi) el atacante carga la nueva lógica. Para
lograr los pasos descritos sin modificar la configuración
de HMI, se requiere que un atacante modifique el mapeo
de los pines de salida digital en el PLC. Para hacer esto, el
Figura 10:Cambios de botones normales (izquierda) y cambios PLC debe hacer un reinicio completo que borre la
causados por forzar la memoria del PLC (derecha). memoria de las etiquetas y bases de datos. Los archivos
de registro no se eliminan en este punto; sin embargo, la
En referencia a las condiciones de funcionamiento replicadas en lógica de PLCBlockMon no podrá abrir el archivo anterior
el banco de pruebas, se simuló la capacidad de un atacante para y, por lo tanto, lo anulará con un nuevo archivo con el
modificar la etiqueta de memoria utilizando la función de fuerza mismo nombre. Una vez que la lógica se ve
en el portal TIA. Ahora se puede usar una comparación de los comprometida, la precisión de los registros programados
datos históricos de la HMI y los registros del PLC para identificar no está clara, ya que un atacante puede programar los
si el cambio de memoria se inició directamente desde la HMI. La registros del PLC para que se vean como ellos quieran.
diferencia en las marcas de tiempo puede indicar la dirección del Esto se puede ver en la figura 11,
flujo de datos, esto se puede ver en la Figura 10, donde la
demora en los pulsos de la derecha es mayor que los pulsos de la
izquierda, donde no se ve ninguna demora. Este retraso es el El mismo comportamiento vinculado a las operaciones normales
resultado de que la HMI no del PLC se puede ver en el lado derecho de la parte superior
108
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
6. CONCLUSIÓN
109
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
110
PLCBlockMon: Registro y extracción de datos en PLC para la detección de intrusiones cibernéticas
Findrik•Pluma•Herrero•McLaughlin
Caselli M. et al, Intrusión consciente de la secuencia Alerta US-CERT (TA14-013A), amplificación NTP
Detección en Sistemas de Control Industrial. En Ataques usando CVE-2013-5211,https://www. us-
Actas del 1er Taller de ACM sobre Seguridad de cert.gov/ncas/alerts/TA14-013A
Sistemas Cibernéticos y Físicos (CPSS '15). ACM,
Nueva York, NY, EE. UU., 13-24. DOI=http:// Van Vlie et al. “Medicina Forense en Control Industrial
dx.doi.org/10.1145/2732198.2732200 Sistema: un estudio de caso”. (2016),https://arxiv.
org/ftp/arxiv/papers/1611/1611.01754.pdf
Govil, Naman, Anand Agrawal y Nils Ole
Tippenhauer. "Sobre bombas lógicas de escalera en
sistemas de control industrial". Preimpresión de
arXiv arXiv:1702.05241 (2017).https://arxiv.org/pdf/
1702.05241.pdf
111