Capítulo 29 — Seguridad de TO, IoT y sistemas ciberfísicos: medición
Mapa de la lección
Lección 29 publicada. Mapa, ejemplo, EX085.
flowchart TD
N0["Resultados de aprendizaje"]
N1["29.1 La cobertura necesita un plan"]
N2["29.2 Actividad frente a resultado"]
N3["29.3 Honestidad de los detectores"]
N4["Nota práctica"]
N5["29.1b Muestreo y comparaciones entre cohortes"]
N6["Nota de campo: líneas de metodología en los gráficos"]
N7["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX085"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["29.1 La cobertura necesita un plan"]
N2["29.2 Actividad frente a resultado"]
N3["29.3 Honestidad de los detectores"]
N4["Nota práctica"]
N5["29.1b Muestreo y comparaciones entre cohortes"]
N6["Nota de campo: líneas de metodología en los gráficos"]
N7["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX085"]
[Resultados de aprendizaje]
|
v
[29.1 La cobertura necesita un plan]
|
v
[29.2 Actividad frente a resultado]
|
v
[29.3 Honestidad de los detectores]
|
v
[Nota práctica]
|
v
[29.1b Muestreo y comparaciones entre cohortes]
|
v
[Nota de campo: líneas de metodología en los gráficos]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX085]
Resultados de aprendizaje
Usted podrá (1) definir la cobertura con un denominador; (2) separar las métricas de actividad de las de resultado; (3) evaluar detectores con clase de ataque e intervalos (lecciones de Urbina/Giraldo).
29.1 La cobertura necesita un plan
La cobertura de ATT&CK for ICS es lo observado intersecado con lo planificado, dividido entre lo planificado; no lo observado dividido entre todas las técnicas. Sin un plan, la cobertura es vanidad. En ABP, Lena redacta antes de cada evaluación el plan de técnicas que se probarán, y el tablero de cobertura cuenta solo esas. Las técnicas observadas fuera del plan se notifican por separado. La cifra de 31 de 44 técnicas planificadas observadas significa algo porque las 44 se eligieron de antemano y la guía de planificación se publica con el tablero. El plan se fija antes de las pruebas.
29.2 Actividad frente a resultado
Actividad: tramas decodificadas, herramientas lanzadas. Resultado: correcciones verificadas, alcanzabilidad del SIS todavía falsa, tasa de falsas alarmas con la tasa base de la planta. Dirija según los resultados. El informe mensual del CNHP de Lena empieza por los resultados: correcciones verificadas mediante nueva prueba, si el SIS-B sigue siendo inalcanzable desde L4 y la tasa de falsas alarmas del detector con la tasa base de ABP. Los conteos de actividad, como las tramas decodificadas, aparecen solo en un apéndice de capacidad. Dirigir según la actividad premiaría ejecutar más herramientas en lugar de resolver más problemas. Los resultados son lo que financia el jefe de planta.
29.3 Honestidad de los detectores
Informe los intervalos de falsas alarmas, el retardo de detección y la clase de ataque. Un detector de banda que no detecta ataques sigilosos sobre los residuos no equivale a un CUSUM que sí los detecta; el laboratorio lo hace visible.
# Lab 27 - residual CUSUM vs band on batch reactor level (synthetic)
import random
def run(seed, atk, det, k=0.8, h=6.0):
rng=random.Random(seed); true=est=50.0; s=0.0; alarm=None
for t in range(500):
inflow=1.0+rng.gauss(0,0.05)+(0.08 if atk and t>=250 else 0)
true+=inflow-0.02*true
lvl=true+rng.gauss(0,0.3); fm=inflow+rng.gauss(0,0.02)
if atk and t>=250: lvl=50+rng.gauss(0,0.3)
if atk=="B" and t>=250: fm=1.0+rng.gauss(0,0.02)
est+=fm-0.02*est
hit=abs(lvl-50)>2.0 if det=="band" else False
if det=="cusum":
s=max(0.0,s+abs(lvl-est)-k); hit=s>h
if hit and alarm is None: alarm=t
return alarm
for det in ("band","cusum"):
fa=sum(run(i,None,det) is not None for i in range(60))
for atk in ("A","B"):
hits=[a-250 for a in (run(i,atk,det) for i in range(60)) if a is not None and a>=250]
print(f"{det} class{atk} FA={fa}/60 det={len(hits)}/60 mean_delay={sum(hits)/len(hits) if hits else float('nan'):.1f}")
Salida esperada:
band classA FA=0/60 det=0/60 mean_delay=nan
band classB FA=0/60 det=0/60 mean_delay=nan
cusum classA FA=0/60 det=60/60 mean_delay=24.8
cusum classB FA=0/60 det=0/60 mean_delay=nan
Caso sintético — Ashford Batch Plant. El CNHP informa de la cobertura de técnicas planificadas y de las FA/retardo del detector por clase, no de un único porcentaje de «seguro».
El informe piloto de Lena para ABP enumera los resultados por clase de ataque. Cada clase tiene su propio intervalo de falsas alarmas y su retardo medio, de modo que el lector puede ver que el CUSUM detectó los ataques sigilosos sobre los residuos que el detector de banda pasó por alto.
29.4 Errores y límites
Los denominadores tomados de otra planta invalidan la métrica. Los ataques sintéticos no son el adversario. Lena nunca toma prestado un denominador del plan de otro sitio, porque las técnicas, los activos y los procesos de ABP son distintos. Si hace falta una comparación con otra planta, ambos sitios deben usar las mismas reglas de planificación, y el informe lo dice. También indica en cada informe que los ataques sintéticos representan clases elegidas, no el comportamiento de un adversario real, para que los lectores no sobrevaloren las cifras de detección.
Nota práctica
Ponga a cada widget del tablero un pie con la fórmula y el identificador de la planta. Un widget del tablero del CNHP sin fórmula es decoración y se elimina en la revisión.
29.1b Muestreo y comparaciones entre cohortes
Si muestrea 50 de 500 activos, dígalo y no extrapole los hallazgos como si hubiera visitado los 500. Comparar la cobertura entre ventanas exige las mismas reglas de planificación. Publique la guía de planificación junto al tablero de cobertura para que un 71 % en marzo signifique el mismo tipo de denominador que un 71 % en septiembre. La selección de la muestra se registra con su semilla o su regla, para que los mismos activos puedan volver a visitarse en la nueva prueba. Prefiera las métricas que infravaloran el éxito, como contar una corrección solo después de la nueva prueba.
La guía de planificación de ABP se publica junto al tablero.
Nota de campo: líneas de metodología en los gráficos
Cuando el CNHP cambió las reglas de planificación en junio, los gráficos de estilo Pulse incorporaron una línea vertical etiquetada methodology_id=2026-06. La dirección dejó de comparar el 80 % de mayo con el 70 % de julio como si tuvieran el mismo denominador. La honestidad en la leyenda del gráfico evitó un relato falso de declive.
Ejercicios — capítulo 29
- EX085 — Fórmula. Escriba la fórmula de la cobertura y explique un mal denominador. Rúbrica: 3 = denominador planificado + ejemplo del mal uso de todas las técnicas de ICS; 2 = fórmula; 1 = vanidad; 0 = nada.
- EX086 — Laboratorio. Compare en una frase la banda y el CUSUM en la clase A. Rúbrica: 3 = el CUSUM detecta, la banda no, FA de ambos 0 en la muestra; 2 = parcial; 1 = incorrecto; 0 = nada.
- EX087 — Infravalorar. Un diseño que infravalore el éxito. Rúbrica: 3 = exigir nueva prueba antes de cerrar; 2 = parcial; 1 = vago; 0 = nada.
Síntesis del capítulo
Planifique el denominador; mida los resultados; evalúe los detectores por clase con intervalos.
Siga estudiando — capítulo 29 de 50
← Capítulo 28 (borrador) · Índice de capítulos del curso · Capítulo 30 (borrador) →