Capítulo 1 — Pregunta de investigación y método de revisión de la literatura
Mapa de la lección
Lección 01 publicada. Mapa, ejemplo, EX001.
flowchart TD
N0["Resultados de aprendizaje y conexión"]
N1["1.1 Del interés a la pregunta"]
N2["1.2 Buscar en dos comunidades"]
N3["1.3 Cribado y concordancia"]
N4["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX001"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje y conexión"]
N1["1.1 Del interés a la pregunta"]
N2["1.2 Buscar en dos comunidades"]
N3["1.3 Cribado y concordancia"]
N4["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX001"]
[Resultados de aprendizaje y conexión]
|
v
[1.1 Del interés a la pregunta]
|
v
[1.2 Buscar en dos comunidades]
|
v
[1.3 Cribado y concordancia]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX001]
Resultados de aprendizaje y conexión
Después de este capítulo usted podrá (1) convertir un interés vago en una pregunta investigable sobre un lazo de control, (2) buscar con sinónimos en publicaciones de ingeniería de control y de seguridad, (3) deduplicar y cribar con métricas de concordancia y (4) redactar un protocolo de revisión de alcance. Prepara el seminario del capítulo 2.
1.1 Del interés a la pregunta
"Seguridad de TO" es un campo, no una pregunta. Una pregunta investigable nombra un sistema, un fenómeno, una comparación y un alcance. Ejemplo de Harbor Loop: en un lazo sintético de nivel de un solo tanque, ¿detecta un CUSUM sobre el residuo que usa un caudalímetro cableado de forma independiente la repetición de un único sensor con mayor exhaustividad por eventos y menor tasa de falsas alarmas que una alarma de banda de ±1.5, y desaparece la ventaja cuando también se suplanta el caudalímetro? La pregunta ya codifica la condición de fracaso, un hábito propio del nivel de maestría que ahorra meses de afirmaciones exageradas.
1.2 Buscar en dos comunidades
La detección basada en la física aparece como "redundancia analítica" y "generación de residuos" en las revistas de control, y como "inyección de datos falsos" y "suplantación de sensores" en las publicaciones de seguridad. Construya una tabla de sinónimos antes de buscar en IEEE Xplore, ACM DL, Scopus y arXiv. Incluya la literatura gris (documentos técnicos de la IEC, avisos de CISA) como una corriente separada con sus propias reglas de elegibilidad, porque no se revisa por pares de la misma manera.
Ejecute cada cadena de búsqueda en cada base de datos y guarde las exportaciones con la fecha, la consulta exacta y el número de resultados, para que un examinador pueda repetir la búsqueda. Espere que las dos comunidades describan el mismo detector con palabras distintas y espere duplicados entre publicaciones; el laboratorio 1 muestra con qué rapidez aparecen cuando una misma revisión está indexada tanto en IEEE como en ACM.
1.3 Cribado y concordancia
Dos revisores criban títulos y resúmenes de forma independiente; informe el kappa de Cohen. El laboratorio 1 muestra una exportación sintética con deduplicación por DOI y por título y año, y un kappa de 0.462: una concordancia moderada debida al desacuerdo sobre un documento técnico de un fabricante y un artículo de mediciones de DNP3. Una concordancia baja es una señal para reparar los criterios de elegibilidad, no para forzar el consenso. Redacte las reglas de elegibilidad como enunciados comprobables antes del cribado: ¿evalúa el estudio un detector en un lazo de control?, ¿nombra su modelo de atacante?, ¿informa una métrica más allá de la exactitud? Criben juntos un pequeño lote de calibración, discutan cada desacuerdo y solo después criben el resto de forma independiente. Registre cada regla modificada y la fecha en que cambió.
1.4 Ejemplo resuelto y laboratorio 1
# Lab 1 (masters OT, synthetic): deduplicate a search export and compute Cohen's kappa for two screeners.
import re
RECORDS=[
("ieee","Physics-based anomaly detection for ICS: a survey",2018,"10.1145/3203245"),
("acm","Physics-Based Anomaly Detection for ICS: A Survey",2018,"10.1145/3203245"),
("ieee","Modbus security: a survey of attacks and defenses",2020,""),
("arxiv","Sensor replay attacks on water treatment testbeds",2021,""),
("ieee","Sensor Replay Attacks on Water Treatment Testbeds",2021,""),
("grey","Vendor white paper: securing SCADA with AI",2022,""),
("ieee","DNP3 Secure Authentication field measurements",2019,""),
("acm","Zone and conduit design for IEC 62443",2020,""),
("ieee","False data injection in power systems: a survey",2011,"10.1109/TSG.2011.2129544"),
("arxiv","False Data Injection Attacks against State Estimation in Electric Power Grids",2011,"10.1109/TSG.2011.2129544"),
]
def key(r):
doi=r[3].strip().lower();
if doi: return ("doi",doi)
t=re.sub(r"[^a-z0-9]","",r[1].lower()); return ("title",t,r[2])
seen={}; kept=[]
for r in RECORDS:
k=key(r)
if k in seen: continue
seen[k]=True; kept.append(r)
# two reviewers: I=include X=exclude; disagreements on grey and DNP3
A="IIXIXIIXIX"[:len(kept)]; B="IIXIXXXIIX"[:len(kept)]
def kappa(a,b):
n=len(a); agree=sum(x==y for x,y in zip(a,b))/n
pa=sum(x=="I" for x in a)/n; pb=sum(x=="I" for x in b)/n
pe=pa*pb+(1-pa)*(1-pb)
return round(agree,3), round((agree-pe)/(1-pe) if pe!=1 else 1.0,3)
print("raw",len(RECORDS),"kept",len(kept),"dropped",len(RECORDS)-len(kept))
print("agree,kappa",kappa(A,B))
print("kept titles:",[r[1][:40] for r in kept])
Salida esperada:
raw 10 kept 7 dropped 3
agree,kappa (0.714, 0.462)
kept titles: ['Physics-based anomaly detection for ICS:', 'Modbus security: a survey of attacks and', 'Sensor replay attacks on water treatment', 'Vendor white paper: securing SCADA with ', 'DNP3 Secure Authentication field measure', 'Zone and conduit design for IEC 62443', 'False data injection in power systems: a']
Se eliminan tres duplicados por DOI o por título normalizado. Un kappa de 0.462 con una concordancia bruta del 71.4 % muestra la corrección por azar en acción.
El laboratorio conserva el primer registro de cada par duplicado, de modo que se queda la versión de IEEE de la revisión basada en la física y se elimina la copia de ACM. Dos registros sin DOI se fusionan solo porque sus títulos normalizados y sus años coinciden exactamente; un pequeño cambio de redacción dejaría pasar un duplicado. Revise a ojo la lista conservada antes del cribado e informe en el protocolo el recuento bruto, el conservado y el eliminado, tal como los imprime el laboratorio.
1.5 Errores comunes y límites
Buscar solo en publicaciones de seguridad; tratar los artículos de fabricantes como evidencia revisada por pares; informar la concordancia bruta sin kappa; redactar una pregunta sin condición de fracaso. Una pregunta sin condición de fracaso invita a un trabajo de fin de máster que solo puede tener éxito. La pregunta de Harbor Loop lo evita al preguntar cuándo desaparece la ventaja del CUSUM. La búsqueda tiene un límite parecido: las bases de datos cambian su indexación, de modo que una búsqueda ejecutada en marzo puede no devolver el mismo conjunto en septiembre. Registre la fecha de cada ejecución y trate el corpus como una instantánea.
Ejercicios — capítulo 1
- EX001 — Pregunta investigable sobre Modbus. Reescriba "Quiero estudiar la seguridad de Modbus" como una pregunta investigable con sistema, fenómeno, comparación y alcance. Rúbrica: 3 = sistema, fenómeno, comparación y alcance con métrica de ≥90 %; 2 = falta un elemento; 1 = interés vago por Modbus; 0 = nada.
- EX002 — Tabla de sinónimos para la manipulación de sensores. Construya una tabla de sinónimos (≥4 términos de control + ≥4 de seguridad) para la detección de datos de sensores manipulados. Rúbrica: 3 = ≥4 términos de control + ≥4 de seguridad; 2 = 3+3; 1 = una sola comunidad; 0 = nada.
- EX003 — Incluir o excluir el documento técnico y el de DNP3. Redacte criterios de inclusión y exclusión que decidan sobre el documento técnico del fabricante y el artículo de DNP3 del laboratorio 1. Rúbrica: 3 = los criterios excluyen el marketing de fabricantes e incluyen la medición de campo de DNP3; 2 = decisiones sin criterios; 1 = una decisión; 0 = nada.
- EX004 — Registro gris con ampersand y kappa. Ejecute el laboratorio 1; añada un registro gris con un ampersand en el título; muestre si su key() lo detecta; recalcule kappa tras cambiar una decisión. Rúbrica: 3 = la clave normalizada detecta el ampersand + se explica el movimiento de kappa; 2 = clave sin kappa; 1 = solo kappa; 0 = nada.
- EX005 — Protocolo de revisión de alcance de una página. Redacte un protocolo de revisión de alcance de una página (bases de datos, fechas, sinónimos, reglas de cribado, objetivo de kappa). Rúbrica: 3 = bases de datos/fechas/sinónimos/cribado/κ≥0.6; 2 = falta un campo; 1 = lista de viñetas; 0 = nada.
- EX006 — Clave DOI antes que clave de título. Explique por qué, en la deduplicación, una clave DOI debe preceder a una clave de título. Rúbrica: 3 = identidad del DOI entre variantes del título + modo de fallo de la clave de título; 2 = DOI primero sin modo de fallo; 1 = eslogan; 0 = nada.
- EX007 — Niveles de evidencia para tres fuentes. Clasifique tres fuentes (la revisión de Giraldo, un aviso de CISA, un blog de un fabricante) por nivel de evidencia para un trabajo de fin de máster. Rúbrica: 3 = Giraldo alto, CISA medio, blog del fabricante bajo, con razones; 2 = niveles sin razones; 1 = una fuente; 0 = nada.
Síntesis del capítulo
Un proyecto de maestría empieza con una pregunta que ya nombra su condición de fracaso, una búsqueda que abarca varias comunidades y un proceso de cribado cuyos desacuerdos reparan los criterios.
Siga estudiando — capítulo 01 de 08
← Página del curso · Índice de capítulos del curso · Capítulo 02 (borrador) →