OpenCyber Academy
Posgrado · Capítulo 6 · Español
Código del curso: OCA-160Capítulo 06: OCA-160-C006

Capítulo 6 — Seguridad de TO, IoT y sistemas ciberfísicos: evaluación controlada

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 06 publicada. Mapa, ejemplo, EX026.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["6.1 Mismos datos, dos tratamientos"]
  N2["6.2 Cómo leer el resultado"]
  N3["6.3 Tomar la decisión"]
  N4["6.4 Amenazas a la validez"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX026"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["6.1 Mismos datos, dos tratamientos"]
  N2["6.2 Cómo leer el resultado"]
  N3["6.3 Tomar la decisión"]
  N4["6.4 Amenazas a la validez"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX026"]
[Resultados de aprendizaje]
    |
    v
[6.1 Mismos datos, dos tratamientos]
    |
    v
[6.2 Cómo leer el resultado]
    |
    v
[6.3 Tomar la decisión]
    |
    v
[6.4 Amenazas a la validez]
    |
    v
[Síntesis del capítulo]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX026]

Resultados de aprendizaje

Usted será capaz de (1) diseñar una comparación controlada de dos conjuntos de reglas de alerta sobre la misma reproducción etiquetada; (2) estimar la exhaustividad y la tasa de falsas alertas de cada uno; (3) calcular un intervalo de confianza bootstrap para la diferencia; y (4) decidir si la evidencia justifica un cambio en producción.

6.1 Mismos datos, dos tratamientos

Comparar el conjunto de reglas A (actual) con el conjunto de reglas B (propuesto) sobre semanas de datos distintas confunde las reglas con las semanas. Una evaluación controlada pasa las mismas ventanas etiquetadas por ambos. Las etiquetas proceden de un plan de pruebas: 40 ventanas contienen comportamiento de ataque inyectado en la reproducción y 160 son de operación normal.

"""Lab 06: controlled evaluation of two alerting rule sets on the same synthetic replay, with bootstrap CI."""
import random
rnd = random.Random(6)
# 200 labelled replay windows: (is_attack, alert_by_A, alert_by_B)
data = []
for i in range(200):
    att = i < 40
    a = rnd.random() < (0.70 if att else 0.08)
    b = rnd.random() < (0.85 if att else 0.05)
    data.append((att, a, b))
def recall(rows, k): at = [r for r in rows if r[0]]; return sum(r[k] for r in at) / len(at)
def far(rows, k): be = [r for r in rows if not r[0]]; return sum(r[k] for r in be) / len(be)
print(f"A recall={recall(data,1):.3f} false-alert rate={far(data,1):.3f}")
print(f"B recall={recall(data,2):.3f} false-alert rate={far(data,2):.3f}")
diffs = []
for _ in range(2000):
    s = [rnd.choice(data) for _ in data]
    if any(r[0] for r in s): diffs.append(recall(s, 2) - recall(s, 1))
diffs.sort()
print(f"recall difference B-A 95% bootstrap CI: [{diffs[50]:.3f}, {diffs[1949]:.3f}]")

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

A recall=0.650 false-alert rate=0.069
B recall=0.850 false-alert rate=0.037
recall difference B-A 95% bootstrap CI: [0.000, 0.388]

El plan de pruebas debe escribirse antes de construir la reproducción, nombrando los comportamientos de ataque, cuántas ventanas recibe cada uno y quién las etiqueta. Lo ideal es que la persona que inyecta los ataques no haya diseñado ninguno de los dos conjuntos de reglas. El laboratorio 6 sustituye esto por resultados aleatorios con semilla fija, así que sus números muestran el método y no el rendimiento real de las reglas de BWRP.

6.2 Cómo leer el resultado

La exhaustividad de B es 0,85 frente a 0,65 de A, y su tasa de falsas alertas es menor (3,7 % frente a 6,9 %). El intervalo bootstrap para la diferencia de exhaustividad va de 0,000 a 0,388: el extremo inferior toca el cero. Con solo 40 ventanas de ataque, no podemos descartar que B no sea mejor que A en exhaustividad, aunque la estimación puntual lo favorece claramente. Cada ventana remuestreada lleva los resultados de ambos conjuntos de reglas, así que el bootstrap anterior ya conserva el emparejamiento; una prueba exacta sobre las ventanas en las que A y B discrepan sería la comprobación cruzada natural.

Informe de los recuentos junto a las tasas para que el lector pueda juzgar la evidencia: 34 de 40 frente a 26 de 40 ventanas de ataque, y 6 frente a 11 de 160 ventanas normales. Con tan pocas ventanas de ataque, un puñado de resultados distintos cambiaría el panorama. Esa es la razón principal por la que Daniel pide una reproducción más grande y construida de forma independiente antes de la siguiente revisión.

6.3 Tomar la decisión

Los líderes rara vez necesitan certeza estadística para actuar; necesitan conocer el riesgo de cada opción. B es más barato en falsas alertas y probablemente mejor en exhaustividad. El inconveniente de cambiar (si B en realidad no fuera mejor) es pequeño. Daniel recomienda cambiar, ampliando a la vez el conjunto de ventanas de ataque a 120 antes de la siguiente revisión. La decisión es más fácil porque B también produce menos falsas alertas, algo que los operadores notan en cada turno. Daniel registra la recomendación con su incertidumbre, fija la fecha de la siguiente revisión y nombra al colega que construirá las 120 ventanas de ataque. Si la reproducción más grande no muestra ninguna ventaja en exhaustividad, la decisión se revisa en lugar de defenderse.

6.4 Amenazas a la validez

Los ataques inyectados reflejan la imaginación del autor de las pruebas; los adversarios reales pueden ser distintos. La reproducción omite la reacción de los operadores. El conjunto de reglas B se diseñó después de ver algunos de estos tipos de ataque, lo que lo favorece. Cada amenaza tiene un remedio parcial. Pida a un colega que no diseñó B que escriba ventanas de ataque nuevas. Deje constancia de que la reproducción mide alertas, no si los operadores actúan sobre ellas. Registre qué tipos de ataque influyeron en el diseño de B e informe de los resultados de B sobre ellos por separado del resto, para que el lector pueda ver si su ventaja se mantiene con comportamientos no vistos.

Ejemplo resuelto (BWRP sintética)

Nota de evaluación de Daniel: «Reproducción R-6 (200 ventanas, 40 de ataque, semilla 6). B: exhaustividad 34/40, falsas alertas 6/160. A: exhaustividad 26/40, falsas alertas 11/160. Diferencia de exhaustividad, IC bootstrap del 95 % [0,000; 0,388]. Recomendación: adoptar B; ampliar a 120 ventanas de ataque construidas por un colega que no diseñó B».

Caso sintético — Bayside Water Reclamation Plant. Las etiquetas de la reproducción y los resultados de las alertas los genera el script con semilla fija.

Errores y límites

Los intervalos bootstrap con pocos positivos son inestables. Los resultados de alerta del laboratorio son sorteos aleatorios que sustituyen al comportamiento real de las reglas.

Ejercicios — capítulo 6

Síntesis del capítulo

Una evaluación controlada empareja los tratamientos sobre datos etiquetados idénticos, informa de recuentos e intervalos, y permite a los líderes actuar de forma proporcionada a partir de evidencia incierta pero útil.

Siga estudiando — capítulo 06 de 12

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

Respuestas desarrolladas

EX026. 0,069 × 160 ≈ 11, así que A dio 11 falsas alertas en las 160 ventanas normales (11/160 = 0,06875).

EX027. Los datos son compatibles con que B no sea mejor que A en exhaustividad: 40 ventanas de ataque son demasiado pocas para excluir una mejora nula, aunque la mejor estimación sea 0,20 superior.

EX028. Ambos conjuntos de reglas ven exactamente el mismo tráfico, así que las diferencias en las alertas proceden de las reglas y no de semanas, condiciones meteorológicas o modos de operación distintos; la comparación emparejada también permite que el bootstrap remuestree ventanas con ambos resultados asociados.

EX029. Daniel diseñó B en parte pensando en estos tipos de ataque; las ventanas escritas por otra persona reducen la probabilidad de que el conjunto de pruebas se adapte, sin querer, a los puntos fuertes de B.

EX030. B produce menos falsas alertas con los mismos datos y muy probablemente detecta más ataques; si en realidad es igual en exhaustividad, la organización pierde poco y puede revertir el cambio, así que el valor esperado de cambiar es positivo mientras se reúnen más datos.