◇ OpenCyber Academy
Ingeniería · Capítulo 14 · Español

Capítulo 14 — Ingeniería de software

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 14 — Ingeniería de software

Mapa de la lección

Lección 14 publicada. Mapa, ejemplo, EX040.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["14.1 Las herramientas son productos"]
  N2["14.2 Controlar las ampliaciones"]
  N3["14.3 Datos de prueba de la integración continua"]
  N4["Nota práctica"]
  N5["14.1b Trenes de versiones frente a correcciones urge"]
  N6["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX040"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["14.1 Las herramientas son productos"]
  N2["14.2 Controlar las ampliaciones"]
  N3["14.3 Datos de prueba de la integración continua"]
  N4["Nota práctica"]
  N5["14.1b Trenes de versiones frente a correcciones urge"]
  N6["Síntesis del capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX040"]
[Resultados de aprendizaje]
    |
    v
[14.1 Las herramientas son productos]
    |
    v
[14.2 Controlar las ampliaciones]
    |
    v
[14.3 Datos de prueba de la integración continua]
    |
    v
[Nota práctica]
    |
    v
[14.1b Trenes de versiones frente a correcciones urge]
    |
    v
[Síntesis del capítulo]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX040]

Resultados de aprendizaje

Usted podrá (1) poner las herramientas de seguridad de TO bajo control de versiones con revisión; (2) controlar los cambios que amplían conductos; (3) mantener la integración continua solo con datos de prueba sintéticos.

14.1 Las herramientas son productos

Los compiladores de listas de permitidos, los comprobadores de alcanzabilidad y las configuraciones de detectores son software. Necesitan repositorios, revisiones, etiquetas y registros de cambios. Un permiso de trabajo que cita la exportación del cortafuegos sin un hash está incompleto. Lena mantiene las herramientas del CNHP en un único repositorio con versiones etiquetadas y un registro de cambios, y cada permiso de trabajo cita la etiqueta y el hash de las exportaciones en que se basa. Cuando un revisor pregunta qué versión del comprobador de alcanzabilidad produjo un resultado, la respuesta es una etiqueta, no un recuerdo.

14.2 Controlar las ampliaciones

Las fusiones que añaden un conducto, abren un código de función o eliminan una denegación requieren un segundo revisor y un ticket de autorización vinculado. Los cambios que restringen pueden ser más ligeros. Codifíquelo en CODEOWNERS sobre las rutas de las políticas. Lena asigna como responsables de código a personas de ingeniería de control para los archivos de la lista de permitidos y de conductos, de modo que los cambios que amplían no pueden fusionarse sin ellas. Los cambios que restringen siguen necesitando un revisor. La regla se aplica mediante la configuración de responsables de código en las rutas de las políticas, así que un revisor ocupado no puede saltársela. Un cambio que amplía también necesita un ticket de autorización vinculado que nombre quién aprobó el nuevo camino y por qué.

14.3 Datos de prueba de la integración continua

La integración continua ejecuta los laboratorios y las pruebas unitarias con datos sintéticos. Nunca apunte la integración continua a una VPN de planta. Los datos semilla viven en el repositorio; las credenciales de planta viven en una bóveda y nunca en los registros de la integración continua.

Caso sintético — Ashford Batch Plant. Una solicitud de incorporación de cambios añadió una regla temporal de L4 a L2 para la visita de un proveedor. La comprobación de alcanzabilidad de la integración continua falló porque L1-SIS pasaba a ser alcanzable; la solicitud quedó bloqueada hasta que la regla se reescribió a través de la DMZ.

La canalización de Lena carga datos de prueba sintéticos para las zonas y la lista de permitidos de ABP.

14.4 Errores y límites

Las etiquetas pueden desviarse de lo que ejecutan los operadores; registre el hash en ejecución en el registro del encargo al inicio de la ventana. El registro del encargo de Lena anota el hash del binario del monitor y de la lista de permitidos que realmente se ejecutan al comienzo de cada ventana. Si difiere de la versión etiquetada, la ventana espera hasta que se explique la diferencia. Esa comprobación encontró un monitor de banco que seguía ejecutando una versión candidata después de una corrección urgente. Los hashes en ejecución van al registro de la ventana. Una discrepancia se trata como una parada, no como un aviso.

Nota práctica

Los repositorios de políticas usan la misma cultura de doble aprobación que las descargas de lógica al PLC. Si descargar el ladder al PLC-A necesita dos personas, publicar un conducto que alcance el PLC-A también debería necesitarlas.

14.1b Trenes de versiones frente a correcciones urgentes

Las mejoras normales viajan en un tren de versiones con los laboratorios I/II. Una corrección urgente del monitor o de una lista de permitidos puede saltarse funcionalidades, pero no la verificación: el paquete mínimo de regresión de fallo cerrado se ejecuta antes de que ninguna ventana la use. Etiquete claramente las correcciones urgentes para que una ventana pueda fijar, con conocimiento de causa, la compilación del tren o el SHA de la corrección. Las versiones fijadas figuran en la lista de comprobación de arranque junto al hash del permiso de trabajo; si la versión fijada y el binario en ejecución no coinciden, la ventana no comienza.

Las correcciones urgentes de ABP llevan su propia etiqueta y el resultado del paquete de regresión en la nota de versión, para que el responsable de una ventana pueda ver exactamente qué se verificó.

14.5 Ejemplo resuelto: revisar un cambio en permit() (ABP sintética)

Una solicitud de incorporación de cambios amplía el rango escribible del HMI en el PLC-A de 40001–40010 a 40001–40012 para un nuevo punto de consigna del agitador. La lista de revisión de Lena: el identificador del requisito que justifica 40011–40012; nuevos vectores de conformidad para 40012 (pasa) y 40013 (se bloquea); la denegación predeterminada para orígenes desconocidos sin cambios; un incremento de versión y una línea en el registro de cambios; y un segundo revisor de ingeniería de control que confirme el significado de los registros en el proyecto del PLC. La fusión espera a la ejecución en banco de los vectores contra la compilación real del cortafuegos. La disciplina de ingeniería de software aquí no es ceremonia: un error de un carácter en un rango dejaría al HMI escribir un registro que el diseño del proceso nunca previó.

Ejercicios — capítulo 14

Síntesis del capítulo

Trate el software de seguridad de TO como software de producción: versiones, controles de revisión, integración continua sintética.

Siga estudiando — capítulo 14 de 50

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