◇ OpenCyber Academy
Máster · Capítulo 3 · Español

Capítulo 3 — Diseño del estudio, ética y reproducibilidad

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.

Capítulo 3 — Diseño del estudio, ética y reproducibilidad

Mapa de la lección

Lección 03 publicada. Mapa, ejemplo, EX015.

flowchart TD
  N0["Resultados de aprendizaje y conexión"]
  N1["3.1 El diseño se ajusta a la pregunta"]
  N2["3.2 Simulación previa a los datos"]
  N3["3.3 Ética y seguridad"]
  N4["3.4 Plan de reproducibilidad"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX015"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje y conexión"]
  N1["3.1 El diseño se ajusta a la pregunta"]
  N2["3.2 Simulación previa a los datos"]
  N3["3.3 Ética y seguridad"]
  N4["3.4 Plan de reproducibilidad"]
  N5["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX015"]
[Resultados de aprendizaje y conexión]
    |
    v
[3.1 El diseño se ajusta a la pregunta]
    |
    v
[3.2 Simulación previa a los datos]
    |
    v
[3.3 Ética y seguridad]
    |
    v
[3.4 Plan de reproducibilidad]
    |
    v
[Síntesis del capítulo]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX015]

Resultados de aprendizaje y conexión

Después de este capítulo usted podrá (1) elegir un diseño que se ajuste a la pregunta, (2) simular el sesgo y la potencia del diseño antes de recolectar datos, (3) aplicar los principios del Menlo Report a la investigación industrial y (4) redactar un plan de análisis previo con niveles de datos.

3.1 El diseño se ajusta a la pregunta

Harbor Loop compara dos detectores bajo ataques controlados en un modelo y en una instalación de laboratorio: es un experimento controlado, no un estudio observacional. Si preguntara "¿con qué frecuencia sufren las plantas ataques de repetición?", necesitaría una encuesta con un marco muestral y un modelo de divulgación, porque las plantas que nunca informan son invisibles en los catálogos públicos. Si preguntara cómo confían los operadores en las alarmas, necesitaría entrevistas con revisión ética. Ajustar el diseño a la pregunta es el modo de fallo más común en la maestría: los estudiantes toman prestado un método que les gusta y después buscan una pregunta que encaje. Escriba primero la pregunta.

Un segundo problema de ajuste es la unidad de análisis. La comparación de detectores opera sobre episodios de ataque. La comparación de arquitecturas opera sobre grafos de alcanzabilidad. Los estudios con operadores operan sobre personas y turnos. Mezclar unidades, contando paquetes como si fueran episodios, reproduce la confusión del ajuste por puntos. Declare la unidad antes de recolectar nada.

3.2 Simulación previa a los datos

Antes de cualquier experimento, simule. El laboratorio 3 (más abajo, reutilizado como laboratorio principal del detector) ya muestra la detección en la clase A y el fallo en la clase B. Ejecutarlo antes de redactar la propuesta le indica que el diseño puede distinguir las hipótesis bajo los supuestos del modelo. La simulación previa a los datos también revela si el tamaño de muestra planificado carece de sentido: si ochenta semillas de ataque producen siempre el mismo resultado binario, necesita más un análisis de sensibilidad sobre los parámetros que podrían cambiar el resultado (holgura k, coeficiente del orificio, retardo del sensor) que mil semillas idénticas.

Registre la simulación como un artefacto de diseño: rangos de semillas, malla de parámetros, reglas de decisión. Cuando un supervisor pregunte "¿por qué ochenta ejecuciones?", la respuesta está en ese artefacto.

3.3 Ética y seguridad

Menlo: respeto por las personas (los operadores que entreviste), beneficencia (acote cada experimento físico con una capa de seguridad independiente, nunca con el PLC bajo prueba), justicia (las empresas de servicios pequeñas soportan los costos de los parches), respeto por la ley y el interés público. Nunca pruebe en producción. El peor resultado de Campus Rig R2 es agua en una bandeja de goteo; una válvula de flotador mecánica y una parada de emergencia física lo acotan. Más allá de Menlo, la investigación en TO hereda la cultura de seguridad: reuniones informativas antes de las sesiones de laboratorio, reglas de dos personas para energizar bombas y una autoridad de parada escrita que prevalece sobre el deseo del investigador de terminar una ejecución. Registre los cuasi accidentes (casi se alcanzó la válvula de flotador) con la misma seriedad que las hipótesis fallidas.

3.4 Plan de reproducibilidad

Registre las métricas (exhaustividad por eventos, retardo, ejecuciones con falsa alarma por cada 80 semillas nominales, sobrellenado en el momento de la alarma), las semillas, los umbrales y el código de análisis antes de las ejecuciones de validación. Asigne los niveles de datos T0–T3 (el capítulo 7 del libro doctoral complementario lo desarrolla; aquí, como mínimo, separe el código público de las configuraciones de la instalación). Guarde el plan registrado con una marca de tiempo que el supervisor pueda verificar, como un commit fechado en el repositorio del proyecto. Incluya los valores congelados de k y h, los rangos de semillas para el ajuste y para la evaluación, y la regla de lo que cuenta como detección. Cualquier cambio posterior va a una tabla de desviaciones con fecha y motivo, y se informa en el trabajo de fin de máster.

3.5 Ejemplo resuelto y laboratorio 3

# Lab 3: residual CUSUM vs band on synthetic tank; report event recall, delay, FA/shift, overfill@alarm.
import random
def run(seed,atk,det,k=0.8,h=6.0,steps=800,onset=400):
    rng=random.Random(seed); true=est=50.0; s=0.0; alarm=None; at=None
    for t in range(steps):
        inflow=1.0+rng.gauss(0,0.05)+(0.05 if atk and t>=onset 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>=onset: lvl=50.0+rng.gauss(0,0.3)
        if atk=="B" and t>=onset: fm=1.0+rng.gauss(0,0.02)
        est+=fm-0.02*est
        hit=abs(lvl-50)>1.5 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; at=true-50
    return alarm,at
for det in ("band","cusum"):
    fa=sum(run(i,None,det)[0] is not None for i in range(80))
    for atk in ("A","B"):
        r=[run(i,atk,det) for i in range(80)]
        hits=[(a-400,ov) for a,ov in r if a is not None and a>=400]
        d=sum(h[0] for h in hits)/len(hits) if hits else float("nan")
        ov=sum(h[1] for h in hits)/len(hits) if hits else float("nan")
        print(f"{det:5s} class{atk} FA_runs={fa}/80 detected={len(hits)}/80 mean_delay={d:.1f} mean_overfill@alarm={ov:.2f}")

Salida esperada:

band  classA FA_runs=11/80 detected=0/80 mean_delay=nan mean_overfill@alarm=nan
band  classB FA_runs=11/80 detected=0/80 mean_delay=nan mean_overfill@alarm=nan
cusum classA FA_runs=0/80 detected=80/80 mean_delay=37.7 mean_overfill@alarm=1.38
cusum classB FA_runs=0/80 detected=0/80 mean_delay=nan mean_overfill@alarm=nan

El laboratorio ejecuta ochenta semillas para cada detector y clase de ataque y cuenta las ejecuciones con falsa alarma en las mismas ochenta semillas sin ataque. La alarma de banda nunca se dispara en ninguno de los dos ataques, porque la repetición mantiene el nivel informado cerca de 50, y aun así genera falsas alarmas en 11 de 80 ejecuciones nominales. El CUSUM detecta todos los episodios de la clase A y ninguno de la clase B, cuando también se suplanta el caudalímetro. Esa única tabla ya contiene el resultado principal y su frontera. Léala antes de empezar cualquier trabajo en la instalación.

3.6 Errores comunes y límites

Elegir el diseño después de ver los datos; llamar "pasivo" a un sondeo activo; usar el PLC como única cota de seguridad. Cada error tiene una salvaguarda concreta. Registre el diseño y sus reglas de decisión antes de recolectar datos. Describa como activa cualquier medición que envíe solicitudes a un dispositivo, aunque solo lea. En Rig R2 la válvula de flotador y la parada de emergencia física son la cota de seguridad; nunca se confía en que el PLC bajo prueba detenga un desbordamiento del que puede ser la causa.

Ejercicios — capítulo 3

Síntesis del capítulo

Diseño antes que datos, simulación antes del compromiso, cota para cada experimento físico y plan de análisis congelado.

Siga estudiando — capítulo 03 de 08

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

Respuestas desarrolladas

EX015. Comparación de detectores → experimento controlado. Adopción → encuesta con marco muestral. Confianza de los operadores → entrevista/encuesta con revisión ética.

EX016. H1 respaldada (80/80 frente a 0/80). H4 respaldada (0/80). Se señalan las FA de la banda, 11/80.

EX017. Desbordamiento hacia la bandeja de goteo; válvula de flotador mecánica + bandeja; responsable de laboratorio designado con parada de emergencia.

EX018. La beneficencia favorece publicar la clase de capacidad + la defensa arquitectónica; retener los pasos específicos del producto hasta la CVD si existe un fallo del producto.

EX019. Métricas, semillas 0–79 de evaluación / 1000–1079 de ajuste, k=0.8 h=6, sin cambios de umbral tras la carga en R2.

EX020. Código T0; trazas T1; cableado T2; citas T2 (identificables) o T1 si están totalmente anonimizadas.