Capítulo 8 — Arquitectura de computadoras
Mapa de la lección
Lección 08 publicada. Mapa, ejemplo, EX015.
flowchart TD
N0["Resultados de aprendizaje y conexión"]
N1["8.1 El modelo de máquina"]
N2["8.2 PLC, RTU y controladores embebidos"]
N3["8.3 Soporte del hardware para la seguridad"]
N4["8.4 Cuando la velocidad crea filtraciones"]
N5["8.6 Actividad práctica"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX015"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje y conexión"]
N1["8.1 El modelo de máquina"]
N2["8.2 PLC, RTU y controladores embebidos"]
N3["8.3 Soporte del hardware para la seguridad"]
N4["8.4 Cuando la velocidad crea filtraciones"]
N5["8.6 Actividad práctica"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX015"]
[Resultados de aprendizaje y conexión]
|
v
[8.1 El modelo de máquina]
|
v
[8.2 PLC, RTU y controladores embebidos]
|
v
[8.3 Soporte del hardware para la seguridad]
|
v
[8.4 Cuando la velocidad crea filtraciones]
|
v
[8.6 Actividad práctica]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX015]
Resultados de aprendizaje y conexión
Al terminar este capítulo, usted podrá (1) describir cómo interactúan el procesador, la jerarquía de memoria y la E/S, y por qué esto importa para el control en tiempo real; (2) explicar la arquitectura de los controladores lógicos programables (PLC), las RTU y los controladores embebidos; (3) relacionar las características del hardware (niveles de privilegio, protección de memoria, arranque seguro, raíces de confianza en hardware) con las garantías de seguridad; y (4) explicar cómo las optimizaciones de desempeño, como las cachés y la especulación, crean vulnerabilidades. Se apoya en el capítulo 3 y prepara el capítulo 12 (sistemas operativos).
8.1 El modelo de máquina
Un procesador busca instrucciones en la memoria, las decodifica y las ejecuta, y lee y escribe datos en registros y en memoria. La memoria es una jerarquía (registros, cachés, memoria principal, almacenamiento), en la que cada nivel es más grande y más lento. Los dispositivos de E/S se conectan mediante buses e interrupciones; una interrupción suspende la ejecución normal para que el procesador atienda a un dispositivo. El determinismo, es decir, conocer el tiempo de peor caso de una operación, importa más en control que la velocidad media: una rutina de protección de bombas que suele tardar 1 ms pero en ocasiones tarda 50 ms por una avalancha de fallos de caché o por la recolección de basura puede incumplir su plazo.
8.2 PLC, RTU y controladores embebidos
Un PLC ejecuta un ciclo de barrido: leer las entradas, ejecutar el programa del usuario, escribir las salidas, realizar las comunicaciones y los diagnósticos, y repetir, a menudo cada 10–100 ms. Su programa se escribe en lenguajes normalizados en IEC 61131-3 (lógica de escalera, diagramas de bloques de funciones, texto estructurado). Una RTU está diseñada para sitios remotos: recoge mediciones, aplica una lógica sencilla y se comunica por enlaces de larga distancia, tolerando una conectividad intermitente. Ambos tienen una vida larga: un equipo instalado hoy puede funcionar entre quince y veinticinco años, de modo que las características de seguridad que elija ahora deben seguir siendo aceptables en la década de 2040. Muchos controladores heredados aceptan cambios de programa de cualquiera que pueda alcanzarlos por la red; Stuxnet explotó el camino desde una estación de ingeniería hasta la lógica del PLC, según el análisis de Langner (2011).
8.3 Soporte del hardware para la seguridad
- Los niveles de privilegio separan el código del núcleo del código de usuario; una falla en el código de usuario no puede sobrescribir directamente el núcleo.
- Las unidades de protección de memoria (MPU) y las unidades de gestión de memoria (MMU) imponen qué código puede acceder a qué memoria; la MPU es común en microcontroladores que carecen de una MMU completa.
- El marcado de no ejecución impide que se ejecuten las regiones de datos.
- El arranque seguro verifica una firma criptográfica en cada etapa del firmware antes de ejecutarla, anclada en una raíz de confianza inmutable (código en ROM o claves grabadas en fusibles). Protege contra la modificación persistente del firmware, no contra una imagen correctamente firmada pero vulnerable.
- Los módulos de plataforma confiable y los elementos seguros almacenan las claves de modo que el software no pueda extraerlas.
8.4 Cuando la velocidad crea filtraciones
Las cachés y la ejecución especulativa hacen rápidos a los procesadores porque adivinan y conservan estado, y ese estado puede filtrarse. Kocher et al. (2019) mostraron que la ejecución especulativa puede dirigirse para leer memoria a través de fronteras de protección (Spectre). Kim et al. (2014) mostraron que el acceso repetido a la DRAM puede invertir bits en filas adyacentes (Rowhammer). Estos problemas importan sobre todo donde el código no confiable comparte hardware con el código confiable (servidores virtualizados del centro de control, nube compartida) y menos en un PLC de propósito único. La lección de ingeniería: el hardware forma parte de la superficie de ataque, y el aislamiento que depende de hardware compartido debe justificarse.
8.5 Ejemplo resuelto: elección de una plataforma de RTU (sintético)
El TMRP compara dos RTU candidatas. RTU-A: madura, determinista, sin arranque seguro, actualizaciones de firmware sin firmar, cambios de programa autenticados solo con una contraseña compartida. RTU-B: arranque seguro con firmware firmado por el proveedor, autenticación basada en roles para los cambios de programa, almacenamiento de claves en hardware, pero una respuesta de peor caso a las peticiones de comunicación 200 ms más lenta y un producto nuevo con un historial de campo limitado. El equipo puntúa ambas frente a los requisitos: R1 (telemetría autenticada) necesita almacenamiento de claves, lo que favorece a B; R7 (alarma en menos de 60 s) la cumplen ambas, porque 200 ms es despreciable; la mantenibilidad durante 20 años favorece a un proveedor con un ciclo de vida de desarrollo seguro publicado. El registro de decisión selecciona B para los sitios nuevos y una pasarela para los sitios heredados con RTU-A, con un piloto para recoger datos de confiabilidad en campo antes del despliegue en toda la flota.
8.6 Actividad práctica
Para una familia de microcontroladores o de PLC de su elección, lea el manual público de seguridad del proveedor (o una hoja de datos) y complete una tabla: separación de privilegios, protección de memoria, arranque seguro, actualizaciones firmadas, almacenamiento de claves, programación autenticada. Marque cada una como «sí / no / configurable / desconocido» con la cita de su fuente. Use solo documentos públicos. Anote el título, la versión y la fecha del documento de cada entrada, porque las características de seguridad cambian entre versiones de firmware. Donde el manual no diga nada, marque la característica como desconocida en lugar de adivinar, y anote la pregunta que haría al proveedor. La tabla es la misma comparación que el equipo del TMRP hizo entre RTU-A y RTU-B, y muestra rápidamente si un producto puede admitir telemetría autenticada y almacenamiento de claves sin una pasarela.
8.7 Errores comunes y límites
- Equiparar «rápido» con «determinista».
- Suponer que el arranque seguro impide la explotación de un firmware firmado.
- Ignorar la vida útil de 20 años al elegir las características criptográficas y de actualización.
- Tratar como absoluto el aislamiento por hardware en servidores compartidos.
- Tratar el marketing del proveedor como evidencia; pida documentación y pruebe.
La comparación de RTU muestra estos errores en la práctica. RTU-A es determinista pero no puede proteger claves, así que la velocidad por sí sola no la hace adecuada. El arranque seguro de RTU-B no detiene un cambio de lógica malicioso pero firmado legítimamente, y por eso el acceso de programación basado en roles figura junto a él. Ambas deben poder seguir recibiendo soporte en la década de 2040, y el piloto existe porque las afirmaciones del proveedor no son evidencia de campo.
Ejercicios — capítulo 8
EX015 — Presupuesto del ciclo de barrido. Objetivo: razonar sobre el determinismo. Entradas: ciclo de barrido de un PLC de 20 ms nominales y 45 ms en el peor caso; un requisito de protección de bomba que exige disparar en menos de 100 ms desde una señal de aspiración baja, filtrada contra rebotes durante dos barridos consecutivos. Pasos: calcule la latencia de disparo en el peor caso (muestreo de la entrada justo después de una lectura, dos barridos para confirmar, escritura de la salida). Evidencia esperada: cálculo y conclusión. Rúbrica: 3 = peor caso correcto, incluido el retardo de muestreo, y juicio frente a los 100 ms; 2 = se omite el retardo de muestreo; 1 = solo el barrido nominal; 0 = nada.
EX016 — Lo que aporta el arranque seguro. Objetivo: delimitar con precisión un control. Entradas: RTU-B de §8.5. Pasos: enumere dos ataques que el arranque seguro impide, dos que no impide y el control complementario para cada uno de estos últimos. Evidencia esperada: tabla. Rúbrica: 3 = alcance exacto (impide el firmware persistente sin firmar; no impide las explotaciones en tiempo de ejecución ni los cambios de lógica maliciosos mediante la programación legítima), controles adecuados; 2 = un error; 1 = genérico; 0 = nada.
Síntesis del capítulo
La arquitectura determina tanto la temporización como la confianza. El control necesita el desempeño del peor caso, no el medio. Los PLC y las RTU son máquinas longevas basadas en ciclos de barrido cuyas características de seguridad deben seguir siendo adecuadas dentro de décadas. Los mecanismos de hardware (privilegio, protección de memoria, arranque seguro, almacenamiento de claves) dan garantías específicas y limitadas; las características de desempeño pueden filtrar información a través de las fronteras. Indique exactamente contra qué protege cada mecanismo.
Siga estudiando — capítulo 08 de 50
← Capítulo 07 · Índice de capítulos del curso · Capítulo 09 →
Continúe con la siguiente lección escrita.