2025-11-20T01:55:14.885016

Analysis of Security in OS-Level Virtualization

Ketha, Song, Zhu
Virtualization is a technique that allows multiple instances typically running different guest operating systems on top of single physical hardware. A hypervisor, a layer of software running on top of the host operating system, typically runs and manages these different guest operating systems. Rather than to run different services on different servers for reliability and security reasons, companies started to employ virtualization over their servers to run these services within a single server. This approach proves beneficial to the companies as it provides much better reliability, stronger isolation, improved security and resource utilization compared to running services on multiple servers. Although hypervisor based virtualization offers better resource utilization and stronger isolation, it also suffers from high overhead as the host operating system has to maintain different guest operating systems. To tackle this issue, another form of virtualization known as Operating System-level virtualization has emerged. This virtualization provides light-weight, minimal and efficient virtualization, as the different instances are run on top of the same host operating system, sharing the resources of the host operating system. But due to instances sharing the same host operating system affects the isolation of the instances. In this paper, we will first establish the basic concepts of virtualization and point out the differences between the hyper-visor based virtualization and operating system-level virtualization. Next, we will discuss the container creation life-cycle which helps in forming a container threat model for the container systems, which allows to map different potential attack vectors within these systems. Finally, we will discuss a case study, which further looks at isolation provided by the containers.
academic

Análisis de Seguridad en Virtualización a Nivel de Sistema Operativo

Información Básica

  • ID del Artículo: 2501.01334
  • Título: Analysis of Security in OS-Level Virtualization
  • Autores: Krishna Sai Ketha, Guanqun Song, Ting Zhu (The Ohio State University)
  • Clasificación: cs.CR (Criptografía y Seguridad), cs.OS (Sistemas Operativos)
  • Fecha de Publicación: 2 de enero de 2025 (preimpresión en arXiv)
  • Enlace del Artículo: https://arxiv.org/abs/2501.01334

Resumen

La tecnología de virtualización permite ejecutar múltiples instancias en un único hardware físico, generalmente con diferentes sistemas operativos invitados. Aunque la virtualización basada en hipervisor proporciona mejor utilización de recursos y aislamiento más fuerte, presenta problemas de alto costo debido a que el sistema operativo anfitrión debe mantener diferentes sistemas operativos invitados. Para resolver este problema, surge la virtualización a nivel de sistema operativo, que proporciona virtualización ligera, minimalista y eficiente, pero afecta el aislamiento entre instancias debido a que estas comparten el mismo sistema operativo anfitrión. Este artículo establece conceptos fundamentales de virtualización, analiza las diferencias entre virtualización basada en hipervisor y virtualización a nivel de sistema operativo, discute el ciclo de vida de creación de contenedores, construye un modelo de amenazas de contenedores y analiza mediante estudios de caso el aislamiento proporcionado por los contenedores.

Antecedentes de Investigación y Motivación

Definición del Problema

  1. Problema de Eficiencia en Utilización de Recursos: El enfoque tradicional de desplegar diferentes servicios en servidores distintos, aunque mejora la confiabilidad y seguridad, es costoso y presenta baja utilización de recursos
  2. Problema de Sobrecarga de Virtualización: Aunque la virtualización basada en hipervisor mejora la utilización de recursos, el mantenimiento de múltiples sistemas operativos invitados genera alta sobrecarga
  3. Problema de Aislamiento de Seguridad en Contenedores: Aunque la virtualización a nivel de sistema operativo resuelve el problema de sobrecarga, el compartir el kernel del sistema operativo puede afectar el aislamiento de seguridad

Importancia de la Investigación

  • Necesidad Comercial: Las empresas requieren ejecutar múltiples servicios de manera segura y eficiente en un único servidor
  • Tendencia en Computación en la Nube: Desde los años noventa, la tecnología de virtualización ha sido ampliamente adoptada en entornos en la nube
  • Amenazas de Seguridad: La adopción generalizada de tecnología de contenedores ha traído nuevos desafíos de seguridad y vectores de ataque

Limitaciones de Métodos Existentes

  • Virtualización Tradicional: La virtualización basada en hipervisor tiene gran sobrecarga, requiriendo un sistema operativo invitado completo para cada máquina virtual
  • Análisis de Seguridad Insuficiente: El análisis de seguridad e aislamiento de la virtualización a nivel de sistema operativo no es lo suficientemente profundo
  • Ausencia de Modelo de Amenazas: Falta un modelo de amenazas sistemático para contenedores que identifique vectores de ataque potenciales

Contribuciones Principales

  1. Establecimiento de Marco Comparativo de Tecnologías de Virtualización: Comparación sistemática de ventajas y desventajas entre virtualización basada en hipervisor y virtualización a nivel de sistema operativo
  2. Construcción de Modelo Detallado del Ciclo de Vida de Creación de Contenedores: Análisis del proceso completo de contenedores Docker desde su construcción hasta ejecución
  3. Propuesta de Modelo Integral de Amenazas de Contenedores: Identificación y clasificación de 9 clases principales de vectores de ataque en sistemas de contenedores
  4. Análisis de Casos de Vulnerabilidades Reales: Análisis profundo de dos vulnerabilidades reales: CVE-2024-21626 y CVE-2022-0847
  5. Recomendaciones de Endurecimiento de Seguridad de Contenedores: Propuesta de prácticas de seguridad prácticas basadas en resultados de análisis

Explicación Detallada de Métodos

Definición de Tareas

Esta investigación tiene como objetivo analizar sistemáticamente la seguridad e aislamiento de la virtualización a nivel de sistema operativo (especialmente contenedores Docker), identificar vectores de ataque potenciales mediante la construcción de un modelo de amenazas y proporcionar recomendaciones de endurecimiento de seguridad.

Arquitectura de Investigación

1. Análisis del Ciclo de Vida de Creación de Contenedores

La investigación se enfoca en cuatro componentes principales del sistema de contenedores Docker:

  • Docker Engine: Tecnología de contenedorización de código abierto que proporciona capacidad para construir y containerizar aplicaciones
  • Docker Daemon (dockerd): Proceso que se ejecuta en segundo plano, escucha comandos Docker y actúa como interfaz entre la CLI y el tiempo de ejecución del contenedor
  • Containerd: Sistema de tiempo de ejecución de contenedor de alto nivel que proporciona gestión de transporte de imágenes, gestión del ciclo de vida de contenedores, almacenamiento y funcionalidades de red
  • Runc: Tiempo de ejecución de contenedor de bajo nivel ligero y seguro que interactúa directamente con el sistema operativo subyacente

2. Flujo de Creación de Contenedores

Dockerfile → Docker Build → Docker Daemon → Containerd → Runc → Container
  1. El administrador del sistema ejecuta el comando "docker build" a través de Docker CLI
  2. Docker CLI invoca Docker Daemon para procesar la solicitud
  3. Docker Daemon reenvía la solicitud a Containerd para crear el contenedor
  4. Containerd extrae la imagen y la pasa a Runc
  5. Runc interactúa con el sistema operativo subyacente, creando y gestionando el contenedor basado en la configuración de la imagen

Construcción del Modelo de Amenazas

Clasificación de Ataques

Ataques Externos: Acceso remoto al sistema de contenedores a través de la red Ataques Internos: Atacante ya ubicado dentro del contenedor como usuario que inicia el ataque

Nueve Clases Principales de Vectores de Ataque

  1. Manipulación de Imágenes de Repositorio: Atacante altera imágenes de contenedor en el repositorio
  2. Vulnerabilidades en Código de Aplicación: Explotación de vulnerabilidades en código de aplicación y dependencias de terceros
  3. Configuración Inadecuada de Imagen de Contenedor: Otorgamiento de permisos innecesarios excesivos durante la configuración de imagen
  4. Configuración Inadecuada de Contenedor: Extracción de imágenes que contienen código malicioso desde directorios públicos
  5. Vulnerabilidades del Anfitrión: Explotación de vulnerabilidades del sistema operativo anfitrión que ejecuta contenedores
  6. Transmisión de Información Dentro del Sistema: Atacante monitorea el intercambio de información entre contenedores
  7. Vulnerabilidades de Escape de Contenedor: Explotación de vulnerabilidades en sistemas de tiempo de ejecución como containerd o runc para escapar al anfitrión
  8. Comunicación de Red No Segura: Atacante monitorea comunicación entre contenedores para obtener información
  9. Consumo de Recursos No Controlado: Scripts maliciosos consumen recursos excesivos, causando escasez de recursos en otros contenedores

Configuración Experimental

Metodología de Estudio de Casos

Esta investigación adopta la metodología de análisis de casos de vulnerabilidades reales, seleccionando dos vulnerabilidades de seguridad representativas para análisis profundo:

  1. Runc Container Breakout (CVE-2024-21626)
  2. Dirty Pipe Vulnerability (CVE-2022-0847)

Marco de Análisis

  • Análisis de Mecanismo de Vulnerabilidad: Análisis técnico detallado de los principios de la vulnerabilidad
  • Evaluación de Alcance de Impacto: Determinación del rango de versiones de software afectadas
  • Reproducción de Escenario de Ataque: Demostración del proceso de ataque mediante comandos reales
  • Evaluación de Severidad: Evaluación del grado de impacto de seguridad de la vulnerabilidad

Resultados Experimentales

Caso de Estudio Uno: Runc Container Breakout (CVE-2024-21626)

Detalles de Vulnerabilidad

  • Fecha de Descubrimiento: 31 de enero de 2024
  • Versiones Afectadas:
    • runc: v1.0.0-rc93 a v1.1.11
    • containerd: v1.4.7 a v1.6.27 y v1.7.0 a v1.7.12
    • docker: <v25.0.2
  • Severidad: Alta

Mecanismo de Ataque

  1. Un contenedor es un proceso desde la perspectiva del sistema operativo anfitrión, con un sistema de archivos independiente montado como sistema de archivos raíz mediante chroot
  2. El atacante crea enlaces simbólicos que apuntan a descriptores de archivo 7 y 8
  3. Ejecuta el comando sudo docker exec -it -w /foo <container-name> sleep 500
  4. Runc monta el sistema de archivos del anfitrión en el contenedor, permitiendo al atacante acceder al sistema de archivos del anfitrión

Características del Ataque

  • Requisitos de Bajo Privilegio: El atacante no necesita ejecutar código malicioso o tener altos privilegios para atacar exitosamente
  • Acceso Directo al Sistema de Archivos: Puede leer directamente archivos dentro del sistema operativo anfitrión

Caso de Estudio Dos: Dirty Pipe Vulnerability (CVE-2022-0847)

Detalles de Vulnerabilidad

  • Fecha de Descubrimiento: 7 de marzo de 2022
  • Versiones Afectadas: Kernel de Linux >v5.8.0
  • Severidad: Alta

Mecanismo de Ataque

  1. Inicialización inadecuada del miembro "flags" en la nueva estructura de búfer de tubería del kernel de Linux
  2. Defectos en las funciones "copy-page-to-iter-pipe" y "push-pipe" pueden contener valores obsoletos
  3. Un usuario local sin privilegios puede modificar páginas en la caché de páginas asociadas con archivos de solo lectura
  4. El atacante puede modificar archivos de solo lectura como /etc/passwd, logrando escalada de privilegios

Hallazgos Experimentales

Características de Amenazas de Seguridad

  1. Amenaza Persistente: CVE-2024-21626 no es el primer caso; CVE-2019-5736 anterior fue una vulnerabilidad similar de escape de runc
  2. Impacto a Nivel de Sistema: Ambas vulnerabilidades pueden permitir que atacantes obtengan permisos del sistema operativo anfitrión
  3. Impacto Generalizado: Las vulnerabilidades afectan a una gran cantidad de sistemas de contenedores utilizados en entornos de producción

Análisis de Aislamiento

El aislamiento de seguridad de contenedores presenta los siguientes problemas:

  • Riesgo de Kernel Compartido: Todos los contenedores comparten el mismo kernel del sistema operativo; vulnerabilidades del kernel afectan todos los contenedores
  • Vulnerabilidades de Tiempo de Ejecución: Vulnerabilidades en sistemas de tiempo de ejecución de contenedor (como runc) pueden causar escape de contenedor
  • Riesgo de Configuración Errónea: Configuración de permisos inadecuada aumenta riesgos de seguridad

Trabajo Relacionado

Investigación en Seguridad de Virtualización

Este artículo se basa en el desarrollo de tecnología de virtualización; el concepto de virtualización existe desde los años sesenta, pero no se convirtió en tecnología dominante hasta los años noventa.

Análisis de Amenazas de Seguridad de Contenedores

La investigación relacionada se concentra principalmente en:

  1. Mecanismos de Aislamiento de Contenedores: Análisis de diferencias de aislamiento entre contenedores y virtualización tradicional
  2. Identificación de Vectores de Ataque: Identificación de métodos de ataque específicos del entorno de contenedores
  3. Métodos de Endurecimiento de Seguridad: Propuesta de mejores prácticas de seguridad de contenedores

Comparación de Contribuciones de Este Artículo

  • Modelo de Amenazas Sistemático: En comparación con investigación existente, este artículo proporciona una clasificación más integral de amenazas de contenedores
  • Análisis de Casos Reales: Proporciona evidencia concreta de amenazas de seguridad mediante análisis de vulnerabilidades CVE reales
  • Perspectiva del Ciclo de Vida: Analiza problemas de seguridad desde la perspectiva del ciclo de vida de creación de contenedores

Conclusiones y Discusión

Conclusiones Principales

  1. Naturaleza de Doble Filo de la Virtualización a Nivel de Sistema Operativo: Aunque proporciona una solución de virtualización ligera y eficiente, el compartir el kernel del sistema operativo presenta desafíos de aislamiento de seguridad
  2. Diversidad de Vectores de Amenaza: Los sistemas de contenedores enfrentan amenazas de seguridad en todo el ciclo de vida, desde repositorios de imágenes hasta entornos de tiempo de ejecución
  3. Riesgos de Seguridad Reales: El análisis de casos CVE confirma la existencia real de amenazas graves de seguridad como escape de contenedor y escalada de privilegios
  4. Desafío de Seguridad Continuo: La seguridad de contenedores es un problema en evolución continua que requiere actualización constante de medidas de protección

Recomendaciones de Mejores Prácticas de Seguridad

  1. Seguridad de Imagen: Verificar imágenes de contenedor extraídas de repositorios públicos, escanear vulnerabilidades potenciales
  2. Minimización de Privilegios: Evitar otorgar permisos innecesarios a contenedores
  3. Actualización Oportuna: Mantener versiones actualizadas de motor de contenedor, tiempo de ejecución, herramientas y componentes de terceros
  4. Gestión de Dependencias: Asegurar que las dependencias no contengan vulnerabilidades conocidas
  5. Comunicación Segura: Transmitir información entre contenedores a través de conexiones seguras
  6. Escaneo de Seguridad: Utilizar scripts de seguridad para escanear regularmente vulnerabilidades de contenedores

Limitaciones

  1. Restricción de Alcance de Investigación: Se enfoca principalmente en contenedores Docker, sin cubrir otras tecnologías de contenedores (como FreeBSD Jails, Solaris Zones)
  2. Profundidad del Modelo de Amenazas: Aunque identifica vectores de ataque principales, la discusión de medidas de protección específicas para cada ataque no es lo suficientemente profunda
  3. Número de Casos Experimentales: Solo analiza dos casos CVE, lo que puede ser insuficiente para reflejar completamente la complejidad de amenazas de seguridad de contenedores
  4. Análisis Cuantitativo Insuficiente: Falta evaluación cuantitativa del grado de riesgo de diferentes vectores de ataque

Direcciones Futuras

El artículo propone las siguientes direcciones de investigación:

  1. Detección de Amenazas Impulsada por IA: Integración de tecnología de inteligencia artificial para mejorar la capacidad de resistencia de sistemas containerizados contra vulnerabilidades emergentes
  2. Protocolos de Comunicación Segura: Desarrollo de protocolos de comunicación entre contenedores más seguros
  3. Optimización para Entornos Inalámbricos: Optimización de redes de contenedores para entornos inalámbricos
  4. Innovación a Nivel de Sistema: Mejora de asignación de recursos mediante innovación a nivel de sistema, asegurando rendimiento y seguridad en infraestructura distribuida dinámica

Evaluación Profunda

Fortalezas

  1. Análisis Sistemático: Proporciona marco de análisis completo desde conceptos fundamentales hasta amenazas reales
  2. Alto Valor Práctico: El modelo de amenazas y recomendaciones de seguridad tienen valor orientador para despliegue real
  3. Análisis de Casos Profundo: Proporciona detalles técnicos específicos mediante análisis de vulnerabilidades CVE reales
  4. Estructura Clara: Organización razonable del artículo, progresión de teoría a práctica
  5. Fuerte Actualidad: Análisis de vulnerabilidades de seguridad más recientes (CVE-2024-21626)

Deficiencias

  1. Contribución Teórica Limitada: Principalmente organización y análisis de conocimiento existente, carece de contribuciones teóricas originales
  2. Verificación Experimental Insuficiente: Falta verificación experimental a gran escala de la efectividad del modelo de amenazas
  3. Análisis Cuantitativo Ausente: No proporciona evaluación cuantificada de riesgos de diferentes vectores de ataque
  4. Profundidad de Soluciones Insuficiente: Aunque propone recomendaciones de seguridad, carece de soluciones técnicas concretas
  5. Análisis Comparativo Débil: Análisis comparativo con otras investigaciones de seguridad de contenedores relativamente débil

Impacto

  1. Contribución Académica: Proporciona marco sistemático de análisis de amenazas para investigación de seguridad de contenedores
  2. Valor Práctico: Tiene valor orientador para prácticas de seguridad de contenedores de empresas y desarrolladores
  3. Valor Educativo: Apropiado como material de referencia para enseñanza de seguridad de contenedores
  4. Base de Investigación: Establece base para investigación posterior más profunda en seguridad de contenedores

Escenarios de Aplicación

  1. Despliegue de Contenedores Empresariales: Proporciona referencia para que empresas formulen estrategias de seguridad de contenedores
  2. Auditoría de Seguridad: Actúa como lista de verificación para evaluación de seguridad de sistemas de contenedores
  3. Educación y Capacitación: Utilizado para capacitación de conciencia de seguridad de contenedores y educación técnica
  4. Punto de Partida de Investigación: Proporciona marco base para investigación técnica de seguridad de contenedores más profunda

Referencias

El artículo cita 38 referencias relacionadas, incluyendo principalmente:

  • Libros de texto clásicos de sistemas operativos (Tanenbaum & Bos, Modern Operating Systems)
  • Monografías especializadas en seguridad de contenedores (Rice, Container Security)
  • Reportes importantes de vulnerabilidades de seguridad (CVE-2024-21626, CVE-2022-0847)
  • Trabajos de investigación relacionados del equipo de autores en seguridad, IA e IoT

Evaluación General: Este artículo proporciona un marco de análisis de seguridad relativamente integral para virtualización a nivel de sistema operativo. Aunque tiene limitaciones en innovación teórica, posee alto valor en practicidad y sistematicidad, siendo apropiado como material de introducción y referencia en el campo de seguridad de contenedores.