OpenCyber Academy
Grado · Capítulo 21 · Español
Código del curso: OCA-114Capítulo 21: OCA-114-C021

Capítulo 21 — Seguridad de TO, IoT y sistemas ciberfísicos: modelos de sistema

Aprendizaje gratuito y abierto para quienes desean proteger a las personas y la tecnología. No se necesita una cuenta para estudiar ni consultar las respuestas.

Mapa de la lección

Lección 21 publicada. Mapa, ejemplo, EX061.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["21.1 Por qué modelar"]
  N2["21.2 Un depósito de compensación con control proporc"]
  N3["21.3 Leer el modelo"]
  N4["21.4 Usar el modelo para la seguridad"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX061"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["21.1 Por qué modelar"]
  N2["21.2 Un depósito de compensación con control proporc"]
  N3["21.3 Leer el modelo"]
  N4["21.4 Usar el modelo para la seguridad"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX061"]
[Resultados de aprendizaje]
    |
    v
[21.1 Por qué modelar]
    |
    v
[21.2 Un depósito de compensación con control proporc]
    |
    v
[21.3 Leer el modelo]
    |
    v
[21.4 Usar el modelo para la seguridad]
    |
    v
[Síntesis del capítulo]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX061]

Resultados de aprendizaje

Usted podrá (1) construir un modelo en tiempo discreto de un depósito o de un lazo; (2) explicar el control proporcional y su error en régimen permanente; (3) usar un modelo para predecir con qué rapidez un punto de consigna manipulado cambia el proceso; y (4) enunciar lo que deja fuera un modelo simplificado.

21.1 Por qué modelar

Un modelo convierte «el atacante cambia el punto de consigna» en «el nivel alcanza la alarma de rebose en 12 minutos». Los defensores usan ese tiempo para dimensionar la detección y la respuesta: si el proceso da 12 minutos, un detector que tarda 20 es inútil para ese escenario. Para LDHP la pregunta es concreta: si el registro 100 se escribe a 30 °C a las 02:10, ¿cuánto tardan los radiadores del distrito en enfriarse lo suficiente como para que los residentes lo noten, y cuánto hasta que las tuberías de las calles más frías corran peligro? En el ejercicio de mesa del capítulo 29, el operador restableció los 90 °C a las 02:15, cinco minutos después de la alerta. Un modelo le dice si cinco minutos son holgados o están cerca del límite y, por tanto, si la detección tiene que ser la alerta del monitor y no la llamada telefónica de un residente.

21.2 Un depósito de compensación con control proporcional

El vaso de expansión de LDHP amortigua el volumen de agua a medida que cambia la temperatura. El laboratorio modela su nivel con un controlador proporcional que fija el caudal de entrada en kp·(punto de consigna − nivel), limitado al rango de 0–5 de la bomba, frente a un caudal de salida constante.

"""Lab 21: discrete-time model of a synthetic buffer tank with a proportional level loop."""
level, sp, kp = 40.0, 60.0, 0.08
for step in range(0, 61):
    inflow = max(0.0, min(5.0, kp * (sp - level) * 10))
    outflow = 2.0
    if step % 10 == 0: print(f"t={step:2} level={level:5.1f}% inflow={inflow:4.2f}")
    level += (inflow - outflow) * 0.5
print("steady-state error ~", round(sp - level, 1), "pct (P-only offset)")

Ejecútelo con python3 lab_tank.py. Salida verificada:

t= 0 level= 40.0% inflow=5.00
t=10 level= 55.0% inflow=4.00
t=20 level= 57.5% inflow=2.01
t=30 level= 57.5% inflow=2.00
t=40 level= 57.5% inflow=2.00
t=50 level= 57.5% inflow=2.00
t=60 level= 57.5% inflow=2.00
steady-state error ~ 2.5 pct (P-only offset)

El laboratorio usa kp = 0,08, multiplicado por 10 en la línea del caudal de entrada para dar una ganancia efectiva de 0,8, un punto de consigna del 60 %, un nivel inicial del 40 % y un caudal de salida fijo de 2,0, así que al principio la bomba funciona en su límite de 5,0. Su salida imprime el nivel cada 10 pasos: 55,0 % en t = 10, y después 57,5 % a partir de t = 20, con un caudal de entrada de 2,01 en t = 20 y de 2,00 a partir de t = 30. Los números son inventados para el vaso de LDHP, pero la forma es general: un lazo proporcional que no llega del todo a su punto de consigna.

21.3 Leer el modelo

El nivel sube rápidamente mientras el caudal de entrada está saturado en 5 y después se estabiliza en el 57,5 % en lugar del 60 %. Esa diferencia de 2,5 puntos es el error clásico del control solo proporcional: en equilibrio, el caudal de entrada debe igualar al de salida (2,0), lo que requiere un error distinto de cero (2,0 / 0,8 = 2,5). La acción integral elimina el error; los ingenieros suelen usar control PI o PID. Para la seguridad, este error importa de una forma fácil de pasar por alto: un operador acostumbrado a ver un 57,5 % frente a un punto de consigna del 60 % no notará una pequeña diferencia adicional. Un sesgo del sensor o un cambio modesto del punto de consigna se esconden dentro de una diferencia que todos aceptan ya como normal.

21.4 Usar el modelo para la seguridad

Si un atacante mueve el punto de consigna del 60 % al 95 %, el modelo predice cuánto tarda el nivel en superar una alarma de nivel alto en el 85 %. El mismo modelo le dice cómo un sesgo del sensor de +10 puntos haría que el controlador llenara de menos el vaso. Los modelos conectan las acciones cibernéticas con el tiempo del proceso. Para usar el laboratorio de esta forma, cambie en una copia del script el punto de consigna de 60 a 95 en un paso elegido e imprima el primer paso en el que el nivel supera 85; con la bomba limitada a 5,0 frente a un caudal de salida fijo de 2,0, el nivel puede subir como máximo (5,0 − 2,0) × 0,5 = 1,5 puntos por paso. Registre juntas la modificación y la salida. Un sesgo de +10 en el sensor actúa al revés: el controlador ve el nivel 10 puntos más alto de lo que está, así que se estabiliza unos 10 puntos por debajo, y nadie lo ve en HMI-1.

Ejemplo resuelto (LDHP sintética)

Con la dinámica del laboratorio, con el caudal de entrada saturado en 5 y el de salida en 2, el nivel sube (5 − 2) × 0,5 = 1,5 puntos por paso. Del régimen permanente del 57,5 % a una alarma en el 85 % hay 27,5 puntos, es decir, unos 18–19 pasos. Si un paso representa 20 segundos, los operadores tienen aproximadamente seis minutos.

Caso sintético — Lakeside District Heating Plant. Las ganancias del depósito y la duración del paso son inventadas.

Errores y límites

Los vasos reales tienen geometría no lineal, dinámica de válvulas y ruido de medición. Un modelo validado en la operación normal puede ser erróneo en los estados extremos que busca un atacante. Nunca derive límites reales de una planta a partir de un modelo de clase.

Ejercicios — capítulo 21

Síntesis del capítulo

Los modelos de proceso sencillos dan a los defensores un reloj: cuánto tarda un lazo manipulado en causar daño y, por tanto, con qué rapidez deben llegar la detección y la respuesta.

Siga estudiando — capítulo 21 de 40

← Capítulo 20 (borrador) · Índice de capítulos del curso · Capítulo 22 (borrador) →

Respuestas desarrolladas

EX061. En equilibrio, caudal de entrada = caudal de salida = 2,0 = 1,6 × error, así que el error es de 1,25 puntos; el nivel se estabiliza en torno al 58,75 %.

EX062. Cada paso saturado añade 1,5 puntos: tras 8 pasos, 69,5 %; tras 9 pasos, 71,0 %; así que 9 pasos.

EX063. El controlador lleva el nivel medido al 57,5 %; con un sesgo de +10, el nivel real es del 47,5 %: el vaso está por debajo de su llenado mientras el HMI parece normal.