OpenCyber Academy
Grado · Capítulo 11 · Español
Código del curso: OCA-112Capítulo 11: OCA-112-C011

Capítulo 11 — Sistemas operativos

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.

Mapa de la lección

Lección 11 publicada. Mapa, ejemplo, EX031.

flowchart TD
  N0["Resultados de aprendizaje"]
  N1["11.1 Procesos y permisos"]
  N2["11.2 Aislamiento"]
  N3["11.3 Control de recursos"]
  N4["11.4 Registros"]
  N5["11.4b Parcheo y configuración"]
  N6["Síntesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Ejemplo resuelto"]
  EX --> Q["Ejercicio EX031"]

Dibujo lógico

flowchart LR
  N0["Resultados de aprendizaje"]
  N1["11.1 Procesos y permisos"]
  N2["11.2 Aislamiento"]
  N3["11.3 Control de recursos"]
  N4["11.4 Registros"]
  N5["11.4b Parcheo y configuración"]
  N6["Síntesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX031"]
[Resultados de aprendizaje]
    |
    v
[11.1 Procesos y permisos]
    |
    v
[11.2 Aislamiento]
    |
    v
[11.3 Control de recursos]
    |
    v
[11.4 Registros]
    |
    v
[11.4b Parcheo y configuración]
    |
    v
[Síntesis]
    |
    v
[Ejemplo resuelto] --> [Ejercicio EX031]

Resultados de aprendizaje

Usted podrá (1) explicar los procesos, los usuarios, los permisos de archivo y el aislamiento; (2) ejecutar servicios de IA con mínimo privilegio; (3) aislar en entornos controlados el código producido o activado por la IA; y (4) usar los registros del sistema en las investigaciones.

11.1 Procesos y permisos

Todo programa se ejecuta como un proceso perteneciente a una cuenta de usuario. El sistema operativo comprueba los permisos de esa cuenta antes de permitir el acceso a archivos, las conexiones de red o el uso de dispositivos. Un servidor de modelos debe ejecutarse con su propia cuenta sin privilegios, que pueda leer los archivos del modelo pero no modificar código, leer datos ajenos a su función ni administrar la máquina. Si un atacante encontrara un fallo en el servidor de modelos, solo obtendría los derechos de esa cuenta. Por eso el trabajador de OCR de DocSort que se ejecutaba como administrador, en el ejemplo resuelto, fue un hallazgo grave incluso antes de que nada saliera mal.

11.2 Aislamiento

Los contenedores y las máquinas virtuales aíslan las cargas de trabajo. El aislamiento es esencial cuando un sistema de IA puede ejecutar código (por ejemplo, una herramienta de análisis de datos en un chatbot): el código puede verse influido por la inyección de instrucciones, así que debe ejecutarse sin acceso a la red, con CPU y memoria limitadas, un límite de tiempo corto y un sistema de archivos temporal. Ask Lumen no ejecuta código, pero DocSort procesa escaneos subidos, que son archivos no confiables. Ejecutar su trabajador de OCR en un contenedor con acceso de solo lectura a la carpeta de entrada significa que un archivo malicioso solo puede afectar a ese contenedor. Cada restricción responde a un riesgo concreto: sin red, los datos no pueden salir; el límite de tiempo detiene los bucles sin fin; y el sistema de archivos temporal desaparece tras cada trabajo.

11.3 Control de recursos

Sin límites, una petición pesada puede dejar sin recursos a las demás. Los grupos de control (en Linux) y los límites de los contenedores acotan el uso de CPU, memoria y GPU por carga de trabajo, lo que favorece la disponibilidad. En DocSort, un solo escaneo mal formado que consuma toda la memoria podría bloquear todas las cartas de derivación de la cola. Un tope de memoria en el contenedor del trabajador hace que ese archivo falle por sí solo mientras el siguiente trabajo continúa. Los límites se fijan a partir del uso normal medido más un margen, y un trabajo que alcanza un límite se registra para poder investigar la causa en lugar de reintentarlo en silencio.

11.4 Registros

Los registros de autenticación, de procesos y de acceso a archivos ayudan a reconstruir lo ocurrido. Correlacionarlos con los identificadores de petición de la aplicación vincula una conversación del chatbot con sus efectos en el sistema. En Ask Lumen, cada conversación recibe un identificador de petición que aparece en el registro de la aplicación, en el registro de llamadas al modelo y en el registro de la herramienta de reservas. Con ese identificador, Rina puede seguir un mensaje de un paciente desde el chat hasta cualquier cita que haya modificado. Sin él, emparejar entradas solo por la hora es lento y propenso a errores cuando hay muchas conversaciones a la vez.

11.4b Parcheo y configuración

Los sistemas operativos y el software que sirve modelos de IA reciben actualizaciones de seguridad; aplíquelas según un calendario y controle las versiones. Las configuraciones predeterminadas suelen activar funciones de depuración, páginas de error detalladas y cuentas de ejemplo que deben desactivarse en producción. Los volcados de memoria de DocSort en el ejemplo resuelto son un caso de ese tipo de valor predeterminado: útil durante el desarrollo, dañino en producción. LCH mantiene ahora una lista de comprobación de configuración para cada servicio de IA, revisada antes de cada publicación, que enumera los ajustes de depuración, las páginas de error y las cuentas de ejemplo que deben estar desactivados. El parcheo sigue un calendario mensual, y las correcciones urgentes se aplican antes cuando se anuncia una vulnerabilidad grave.

11.5 Ejemplo resuelto (caso sintético de LCH)

El trabajador de OCR de DocSort se ejecutaba con una cuenta de administrador «por comodidad». Un archivo escaneado mal formado lo hizo fallar, y el volcado de memoria se escribió en una carpeta compartida que todo el personal podía leer, lo que expuso el texto de las cartas. La corrección de Rina: una cuenta dedicada sin privilegios, volcados de memoria desactivados en producción, el trabajador en un contenedor con acceso de solo lectura a su carpeta de entrada y alertas ante los fallos. Cada corrección responde a una causa: la cuenta sin privilegios limita lo que puede hacer un trabajador comprometido, los volcados desactivados impiden que el texto llegue a una carpeta compartida, la entrada de solo lectura impide que el trabajador altere las cartas y las alertas hacen visibles los fallos.

11.6 Errores y límites

Ejecutar como administrador convierte cualquier error en control total de la máquina, como casi ocurrió en el caso de DocSort. Las herramientas de IA que ejecutan código con acceso a la red pueden ser dirigidas mediante inyección de instrucciones para enviar datos al exterior. Los registros que no se pueden vincular con las peticiones impiden decir qué conversación causó qué efecto, así que las investigaciones se estancan. Cada uno de estos es una decisión de configuración, barata de acertar desde el principio.

Ejercicios

Síntesis

El sistema operativo impone quién puede hacer qué. El mínimo privilegio, el aislamiento, los límites de recursos y los registros vinculables hacen más seguros los servicios de IA cuando algo sale mal.

Siga estudiando — capítulo 11 de 40

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

Respuestas desarrolladas

EX031. Necesita: leer su carpeta de entrada; escribir los resultados de encaminamiento en la cola; leer sus archivos de modelo. No debería tener: derechos de administrador; acceso de escritura al código o a los archivos de modelo; acceso de lectura a recursos compartidos ajenos ni acceso a toda la red.

EX032. Ejecutar el código de la herramienta en un contenedor sin red, con límites de CPU, memoria y tiempo, un sistema de archivos temporal que solo contenga el archivo subido y un usuario sin privilegios.

EX033. El volcado contenía texto de las cartas (datos de salud) y se escribió en una carpeta que todo el personal podía leer, lo que lo exponía más allá de las personas autorizadas.