Capítulo 9 — Programación II
Mapa de la lección
Lección 09 publicada. Mapa, ejemplo, EX025.
flowchart TD
N0["Resultados de aprendizaje"]
N1["9.1 Esquema sin cargas útiles"]
N2["9.2 Inserciones o actualizaciones idempotentes"]
N3["9.3 Pruebas basadas en propiedades para zonas"]
N4["Nota práctica"]
N5["9.1b Evolución del esquema sin tiempo de parada"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX025"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["9.1 Esquema sin cargas útiles"]
N2["9.2 Inserciones o actualizaciones idempotentes"]
N3["9.3 Pruebas basadas en propiedades para zonas"]
N4["Nota práctica"]
N5["9.1b Evolución del esquema sin tiempo de parada"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX025"]
[Resultados de aprendizaje]
|
v
[9.1 Esquema sin cargas útiles]
|
v
[9.2 Inserciones o actualizaciones idempotentes]
|
v
[9.3 Pruebas basadas en propiedades para zonas]
|
v
[Nota práctica]
|
v
[9.1b Evolución del esquema sin tiempo de parada]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX025]
Resultados de aprendizaje
Usted podrá (1) diseñar un esquema para hallazgos de TO que prohíba las recetas de explotación; (2) implementar actualizaciones idempotentes indexadas por activo y debilidad; (3) aplicar pruebas basadas en propiedades a las reglas de zona.
9.1 Esquema sin cargas útiles
Guarde título, activo, zona, clase de debilidad, hash de la evidencia, límite de la consecuencia, capas de protección intactas y estado. Rechace los campos llamados payload, shell o exploit. La evidencia vive en un almacén sellado; el ticket guarda el hash. El esquema de Lena rechaza un registro de plano si aparece un campo prohibido, en lugar de eliminarlo en silencio, para que quien lo envió aprenda a no hacerlo. Los límites de la consecuencia y las capas de protección intactas son campos separados, lo que permite al ingeniero de seguridad funcional filtrar los hallazgos que afectan al SIS-B. El hash de la evidencia vincula cada ticket con su prueba sellada sin copiar nada de ella en el sistema de tickets.
9.2 Inserciones o actualizaciones idempotentes
Dos escáneres que informan de la misma escritura Modbus abierta en el PLC-A deben convertirse en un solo hallazgo. Huella = (activo, clase de debilidad, registro o camino). Los reintentos y las reimportaciones dejan una sola fila. Lena lo prueba importando dos veces la misma salida de un escáner e importando los informes de dos escáneres sobre el mismo problema; ambos casos deben dejar exactamente un hallazgo. La huella usa el registro o el camino, no la redacción propia del escáner, porque dos herramientas describen la misma debilidad de forma distinta. Cuando las huellas coinciden para problemas realmente distintos, una persona los separa y registra por qué.
9.3 Pruebas basadas en propiedades para zonas
Enuncie: «para todo equipo de la zona de oficina y todo registro del SIS, permit es falso». Genere equipos sintéticos y compruébelo. Las pruebas basadas en propiedades detectan el error en el que se añadió una nueva subred de oficina al inventario pero no al lado de denegación de la lista de permitidos.
Caso sintético — Ashford Batch Plant. Tras el hallazgo FW-12, Lena añadió una prueba basada en propiedades: ningún equipo de L4 puede tener un camino de permiso hacia L1-SIS. La integración continua la ejecuta con cada cambio en la exportación del cortafuegos.
La prueba se ejecuta sobre equipos sintéticos tomados del inventario.
9.4 Errores y límites
Los esquemas derivan; póngales versión. Los generadores de propiedades que nunca emiten la nueva subred pasan por alto el error que debían detectar; incluya como entradas las diferencias del inventario. Lena alimenta la prueba basada en propiedades con la última diferencia del inventario, de modo que cada subred nueva se prueba en la siguiente ejecución. El esquema tiene un campo de versión, y los registros antiguos se migran con un script registrado en lugar de editarse a mano. Cuando se modifica una prueba, comprueba que siga fallando con el error original, ya que una propiedad que ya no puede fallar no protege nada.
Nota práctica
Cuando alguien pida un equipo de excepción «solo por esta vez», exija en el esquema un objeto de excepción con duración limitada, fecha de caducidad y responsable. Las excepciones sin caducidad se convierten en conductos permanentes.
9.1b Evolución del esquema sin tiempo de parada
Cuando el esquema de hallazgos del CNHP incorpora un campo obligatorio, como el número del permiso de trabajo, despliegue un cambio en dos fases: primero acepte y persista el campo como opcional mientras rellena los registros existentes; después cambie el validador a obligatorio. Las operaciones a medio camino no deben romperse porque un cliente móvil vaya una versión por detrás. Publique la versión del esquema en las respuestas de la API para que las tabletas de campo y el exportador del monitor puedan negarse a escribir cuando sean incompatibles. Las importaciones masivas desde escáneres deben pasar por la misma ruta de validación que las creaciones interactivas, incluidas las comprobaciones de campos prohibidos, o las cargas útiles se colarán por la puerta lateral de confianza de la importación.
Ejercicios — capítulo 9
- EX025 — Rechazo. Escriba una regla de validación que rechace los campos con aspecto de carga útil. Rúbrica: 3 = regla + ejemplo que falla; 2 = regla; 1 = idea; 0 = nada.
- EX026 — Huella. ¿Por qué se fusionan dos informes sobre el registro 40050 del PLC-A? Rúbrica: 3 = misma huella; 2 = «mismo hallazgo»; 1 = vago; 0 = incorrecto.
- EX027 — Propiedad. Enuncie una propiedad tras añadir una zona DMZ. Rúbrica: 3 = p. ej., L4 alcanza L2 solo a través de L3.5; 2 = informal; 1 = incorrecta; 0 = nada.
Síntesis del capítulo
Los esquemas, la idempotencia y las propiedades mantienen aburridas las herramientas de seguridad de TO, en el buen sentido.
Siga estudiando — capítulo 09 de 50
← Capítulo 08 (borrador) · Índice de capítulos del curso · Capítulo 10 (borrador) →