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

Analyse de la Sécurité dans la Virtualisation au Niveau du Système d'Exploitation

Informations Fondamentales

  • ID de l'article : 2501.01334
  • Titre : Analysis of Security in OS-Level Virtualization
  • Auteurs : Krishna Sai Ketha, Guanqun Song, Ting Zhu (The Ohio State University)
  • Classification : cs.CR (Cryptographie et Sécurité), cs.OS (Systèmes d'Exploitation)
  • Date de publication : 2 janvier 2025 (prépublication arXiv)
  • Lien de l'article : https://arxiv.org/abs/2501.01334

Résumé

La technologie de virtualisation permet d'exécuter plusieurs instances, généralement avec différents systèmes d'exploitation invités, sur un seul matériel physique. Bien que la virtualisation basée sur hyperviseur offre une meilleure utilisation des ressources et une isolation plus forte, elle présente des problèmes de surcharge élevée en raison de la nécessité pour le système d'exploitation hôte de maintenir différents systèmes d'exploitation invités. Pour résoudre ce problème, la virtualisation au niveau du système d'exploitation a émergé, offrant une virtualisation légère, minimale et efficace, mais au détriment de l'isolation entre instances en raison du partage du même système d'exploitation hôte. Cet article établit les concepts fondamentaux de la virtualisation, analyse les différences entre la virtualisation basée sur hyperviseur et la virtualisation au niveau du système d'exploitation, discute du cycle de vie de création des conteneurs, construit un modèle de menaces pour les conteneurs, et analyse l'isolation fournie par les conteneurs à travers des études de cas.

Contexte et Motivation de la Recherche

Définition du Problème

  1. Problème d'efficacité de l'utilisation des ressources : Le déploiement traditionnel de différents services sur différents serveurs, bien qu'améliorant la fiabilité et la sécurité, est coûteux et offre une faible utilisation des ressources
  2. Problème de surcharge de virtualisation : Bien que la virtualisation basée sur hyperviseur améliore l'utilisation des ressources, la maintenance de plusieurs systèmes d'exploitation invités entraîne une surcharge élevée
  3. Problème d'isolation de sécurité des conteneurs : Bien que la virtualisation au niveau du système d'exploitation résolve le problème de surcharge, le partage du noyau du système d'exploitation peut affecter l'isolation de sécurité

Importance de la Recherche

  • Besoins commerciaux : Les entreprises ont besoin d'exécuter plusieurs services de manière sûre et efficace sur un seul serveur
  • Tendance du cloud computing : Depuis les années 1990, la technologie de virtualisation a été largement appliquée dans les environnements cloud
  • Menaces de sécurité : L'adoption généralisée de la technologie des conteneurs apporte de nouveaux défis de sécurité et vecteurs d'attaque

Limitations des Approches Existantes

  • Virtualisation traditionnelle : La virtualisation basée sur hyperviseur a une surcharge importante, chaque machine virtuelle nécessitant un système d'exploitation invité complet
  • Analyse de sécurité insuffisante : L'analyse de la sécurité et de l'isolation de la virtualisation au niveau du système d'exploitation n'est pas suffisamment approfondie
  • Modèle de menaces manquant : Absence d'un modèle de menaces systématique pour les conteneurs afin d'identifier les vecteurs d'attaque potentiels

Contributions Principales

  1. Établissement d'un cadre comparatif de technologie de virtualisation : Comparaison systématique des avantages et inconvénients de la virtualisation basée sur hyperviseur et de la virtualisation au niveau du système d'exploitation
  2. Construction d'un modèle détaillé du cycle de vie de création des conteneurs : Analyse du processus complet des conteneurs Docker de la construction à l'exécution
  3. Proposition d'un modèle de menaces complet pour les conteneurs : Identification et classification de 9 catégories principales de vecteurs d'attaque dans les systèmes de conteneurs
  4. Fourniture d'analyses de cas de vulnérabilités réelles : Analyse approfondie des problèmes de sécurité à travers deux vulnérabilités réelles : CVE-2024-21626 et CVE-2022-0847
  5. Fourniture de recommandations de renforcement de la sécurité des conteneurs : Proposition de meilleures pratiques de sécurité pratiques basées sur les résultats de l'analyse

Détails de la Méthodologie

Définition de la Tâche

Cette recherche vise à analyser systématiquement la sécurité et l'isolation de la virtualisation au niveau du système d'exploitation (en particulier les conteneurs Docker), à identifier les vecteurs d'attaque potentiels par la construction d'un modèle de menaces, et à fournir des recommandations de renforcement de la sécurité.

Architecture de la Recherche

1. Analyse du Cycle de Vie de Création des Conteneurs

La recherche se concentre sur quatre composants principaux du système de conteneurs Docker :

  • Docker Engine : Technologie de conteneurisation open-source fournissant la capacité de construire et de conteneuriser les applications
  • Docker Daemon (dockerd) : Processus s'exécutant en arrière-plan, écoutant les commandes Docker, servant d'interface entre l'interface de ligne de commande et le runtime de conteneur
  • Containerd : Système de runtime de conteneur de haut niveau fournissant la gestion du transport d'images, la gestion du cycle de vie des conteneurs, le stockage et les fonctionnalités réseau
  • Runc : Runtime de conteneur de bas niveau léger et sécurisé interagissant directement avec le système d'exploitation sous-jacent

2. Processus de Création de Conteneurs

Dockerfile → Docker Build → Docker Daemon → Containerd → Runc → Container
  1. L'administrateur système exécute la commande « docker build » via l'interface de ligne de commande Docker
  2. L'interface de ligne de commande Docker appelle Docker Daemon pour traiter la demande
  3. Docker Daemon transfère la demande à Containerd pour créer le conteneur
  4. Containerd extrait l'image et la transmet à Runc
  5. Runc interagit avec le système d'exploitation sous-jacent, créant et gérant le conteneur en fonction de la configuration de l'image

Construction du Modèle de Menaces

Classification des Attaques

Attaques externes : Accès à distance au système de conteneurs via le réseau Attaques internes : Attaquant déjà dans le conteneur en tant qu'utilisateur lançant l'attaque

Neuf Catégories Principales de Vecteurs d'Attaque

  1. Manipulation d'images de référentiel : L'attaquant modifie les images de conteneurs dans le référentiel
  2. Vulnérabilités du code d'application : Exploitation de vulnérabilités dans le code d'application et les dépendances tierces
  3. Configuration inadéquate de l'image de conteneur : Octroi de permissions inutiles excessives lors de la configuration de l'image
  4. Configuration inadéquate du conteneur : Extraction d'images contenant du code malveillant à partir de répertoires publics
  5. Vulnérabilités de l'hôte : Exploitation de vulnérabilités du système d'exploitation hôte exécutant les conteneurs
  6. Transmission d'informations intra-système : L'attaquant surveille le partage d'informations entre conteneurs
  7. Vulnérabilités d'échappement de conteneur : Exploitation de vulnérabilités dans les systèmes de runtime comme containerd ou runc pour s'échapper vers l'hôte
  8. Communication réseau non sécurisée : L'attaquant surveille la communication entre conteneurs pour obtenir des informations
  9. Consommation de ressources incontrôlée : Les scripts malveillants consomment trop de ressources, causant une pénurie de ressources pour d'autres conteneurs

Configuration Expérimentale

Méthodologie d'Étude de Cas

Cette recherche adopte une méthode d'analyse de cas de vulnérabilités réelles, sélectionnant deux failles de sécurité représentatives pour une analyse approfondie :

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

Cadre d'Analyse

  • Analyse du mécanisme de vulnérabilité : Analyse détaillée des principes techniques de la vulnérabilité
  • Évaluation de la portée d'impact : Détermination de la plage de versions de logiciels affectées
  • Reproduction de scénarios d'attaque : Démonstration du processus d'attaque par des commandes réelles
  • Évaluation de la gravité : Évaluation de l'impact de sécurité de la vulnérabilité

Résultats Expérimentaux

Cas d'Étude Un : Runc Container Breakout (CVE-2024-21626)

Détails de la Vulnérabilité

  • Date de découverte : 31 janvier 2024
  • Versions affectées :
    • runc : v1.0.0-rc93 à v1.1.11
    • containerd : v1.4.7 à v1.6.27 et v1.7.0 à v1.7.12
    • docker : <v25.0.2
  • Gravité : Critique

Mécanisme d'Attaque

  1. Un conteneur est un processus du point de vue du système d'exploitation hôte, avec un système de fichiers indépendant monté comme système de fichiers racine via chroot
  2. L'attaquant crée des liens symboliques pointant vers les descripteurs de fichiers 7 et 8
  3. Exécution de la commande sudo docker exec -it -w /foo <container-name> sleep 500
  4. Runc monte le système de fichiers hôte dans le conteneur, permettant à l'attaquant d'accéder au système de fichiers hôte

Caractéristiques de l'Attaque

  • Exigences de privilèges faibles : L'attaquant n'a pas besoin d'exécuter du code malveillant ou de disposer de privilèges élevés pour réussir l'attaque
  • Accès direct au système de fichiers : Peut lire directement les fichiers du système d'exploitation hôte

Cas d'Étude Deux : Dirty Pipe Vulnerability (CVE-2022-0847)

Détails de la Vulnérabilité

  • Date de découverte : 7 mars 2022
  • Versions affectées : Noyau Linux >v5.8.0
  • Gravité : Critique

Mécanisme d'Attaque

  1. Initialisation inadéquate du membre « flags » dans la nouvelle structure de buffer de tuyau du noyau Linux
  2. Les défauts dans les fonctions « copy-page-to-iter-pipe » et « push-pipe » peuvent contenir des valeurs obsolètes
  3. Un utilisateur local sans privilèges peut modifier les pages du cache de pages associées aux fichiers en lecture seule
  4. L'attaquant peut modifier des fichiers en lecture seule tels que /etc/passwd, réalisant une escalade de privilèges

Résultats Expérimentaux

Caractéristiques des Menaces de Sécurité

  1. Menaces persistantes : CVE-2024-21626 n'est pas le premier cas, CVE-2019-5736 antérieur était également une vulnérabilité d'échappement runc similaire
  2. Impact au niveau du système : Les deux vulnérabilités peuvent permettre à l'attaquant d'obtenir des privilèges du système d'exploitation hôte
  3. Impact généralisé : Les vulnérabilités affectent un grand nombre de systèmes de conteneurs utilisés dans les environnements de production

Analyse de l'Isolation

L'isolation de sécurité des conteneurs présente les problèmes suivants :

  • Risque de partage de noyau : Tous les conteneurs partagent le même noyau du système d'exploitation, les vulnérabilités du noyau affectant tous les conteneurs
  • Vulnérabilités du runtime : Les vulnérabilités du système de runtime de conteneur (comme runc) peuvent entraîner l'échappement du conteneur
  • Risque de configuration incorrecte : Une configuration de permissions inadéquate augmente les risques de sécurité

Travaux Connexes

Recherche sur la Sécurité de la Virtualisation

Cet article s'appuie sur le développement de la technologie de virtualisation, dont les concepts existent depuis les années 1960, mais n'est devenu une technologie dominante que dans les années 1990.

Analyse des Menaces de Sécurité des Conteneurs

Les recherches connexes se concentrent principalement sur :

  1. Mécanismes d'isolation des conteneurs : Analyse des différences d'isolation entre les conteneurs et la virtualisation traditionnelle
  2. Identification des vecteurs d'attaque : Identification des méthodes d'attaque spécifiques aux environnements de conteneurs
  3. Méthodes de renforcement de la sécurité : Proposition de meilleures pratiques de sécurité pour les conteneurs

Comparaison des Contributions de cet Article

  • Modèle de menaces systématique : Par rapport aux recherches existantes, cet article fournit une classification plus complète des menaces pour les conteneurs
  • Analyse de cas réels : Fournit des preuves concrètes des menaces de sécurité par l'analyse de vulnérabilités CVE réelles
  • Perspective du cycle de vie : Analyse les problèmes de sécurité du point de vue du cycle de vie de création des conteneurs

Conclusions et Discussion

Conclusions Principales

  1. Nature à double tranchant de la virtualisation au niveau du système d'exploitation : Bien qu'elle fournisse une solution de virtualisation légère et efficace, le partage du noyau du système d'exploitation présente des défis d'isolation de sécurité
  2. Diversité des vecteurs de menaces : Les systèmes de conteneurs font face à des menaces de sécurité tout au long du cycle de vie, du référentiel d'images à l'environnement de runtime
  3. Risques de sécurité réels : L'analyse des cas CVE confirme l'existence réelle de menaces graves de sécurité telles que l'échappement de conteneur et l'escalade de privilèges
  4. Défi de sécurité continu : La sécurité des conteneurs est un problème en évolution constante nécessitant une mise à jour continue des mesures de protection

Recommandations de Meilleures Pratiques de Sécurité

  1. Sécurité des images : Vérifier les images de conteneurs extraites des référentiels publics, analyser les vulnérabilités potentielles
  2. Minimisation des privilèges : Éviter d'accorder des permissions inutiles aux conteneurs
  3. Mises à jour opportunes : Maintenir les versions les plus récentes du moteur de conteneur, du runtime, des outils et des composants tiers
  4. Gestion des dépendances : Assurer que les dépendances ne contiennent pas de vulnérabilités connues
  5. Communication sécurisée : Transmettre les informations entre conteneurs via des connexions sécurisées
  6. Analyse de sécurité : Utiliser des scripts de sécurité pour analyser régulièrement les vulnérabilités des conteneurs

Limitations

  1. Limitation de la portée de la recherche : Principalement axée sur les conteneurs Docker, ne couvrant pas d'autres technologies de conteneurs (telles que FreeBSD Jails, Solaris Zones)
  2. Profondeur du modèle de menaces : Bien que les principaux vecteurs d'attaque aient été identifiés, les mesures de protection spécifiques pour chaque type d'attaque ne sont pas suffisamment discutées
  3. Nombre de cas expérimentaux : Seuls deux cas CVE ont été analysés, ce qui peut être insuffisant pour refléter pleinement la complexité des menaces de sécurité des conteneurs
  4. Analyse quantitative insuffisante : Absence d'évaluation quantitative du niveau de risque des différents vecteurs d'attaque

Directions Futures

L'article propose les directions de recherche suivantes :

  1. Détection de menaces pilotée par l'IA : Intégration de la technologie d'intelligence artificielle pour améliorer la capacité des systèmes conteneurisés à résister aux vulnérabilités émergentes
  2. Protocoles de communication sécurisée : Développement de protocoles de communication inter-conteneurs plus sécurisés
  3. Optimisation pour environnements sans fil : Optimisation des réseaux de conteneurs pour les environnements sans fil
  4. Innovation au niveau du système : Amélioration de l'allocation des ressources par l'innovation au niveau du système, assurant les performances et la sécurité dans les infrastructures distribuées dynamiques

Évaluation Approfondie

Points Forts

  1. Analyse systématique : Fournit un cadre d'analyse complet allant des concepts fondamentaux aux menaces réelles
  2. Valeur pratique élevée : Le modèle de menaces et les recommandations de sécurité ont une valeur directrice pour le déploiement réel
  3. Analyse de cas approfondie : Fournit des détails techniques concrets à travers l'analyse de vulnérabilités CVE réelles
  4. Structure claire : L'organisation de l'article est raisonnable, progressant progressivement de la théorie à la pratique
  5. Actualité forte : Analyse les vulnérabilités de sécurité les plus récentes (CVE-2024-21626)

Insuffisances

  1. Contributions théoriques limitées : Principalement une organisation et une analyse des connaissances existantes, manquant de contributions théoriques originales
  2. Vérification expérimentale insuffisante : Absence de vérification expérimentale à grande échelle de l'efficacité du modèle de menaces
  3. Analyse quantitative manquante : Pas de fourniture d'évaluation quantifiée du risque des différents vecteurs d'attaque
  4. Profondeur insuffisante des solutions : Bien que des recommandations de sécurité aient été proposées, les solutions techniques concrètes font défaut
  5. Analyse comparative insuffisante : L'analyse comparative avec d'autres recherches sur la sécurité des conteneurs est relativement faible

Impact

  1. Contribution académique : Fournit un cadre d'analyse systématique des menaces pour la recherche en sécurité des conteneurs
  2. Valeur pratique : Offre une orientation pour les pratiques de sécurité des conteneurs des entreprises et des développeurs
  3. Valeur éducative : Appropriée comme matériel de référence pour l'enseignement de la sécurité des conteneurs
  4. Base de recherche : Jette les bases pour des recherches ultérieures approfondies sur la sécurité des conteneurs

Scénarios d'Application

  1. Déploiement de conteneurs d'entreprise : Fournit une référence pour l'élaboration de stratégies de sécurité des conteneurs par les entreprises
  2. Audit de sécurité : Sert de liste de contrôle pour l'évaluation de la sécurité des systèmes de conteneurs
  3. Éducation et formation : Utilisé pour la sensibilisation à la sécurité des conteneurs et la formation technique
  4. Point de départ de la recherche : Fournit un cadre de base pour des recherches techniques approfondies sur la sécurité des conteneurs

Références Bibliographiques

L'article cite 38 références connexes, incluant principalement :

  • Manuels classiques de systèmes d'exploitation (Tanenbaum & Bos, Modern Operating Systems)
  • Monographies sur la sécurité des conteneurs (Rice, Container Security)
  • Rapports importants sur les vulnérabilités de sécurité (CVE-2024-21626, CVE-2022-0847)
  • Travaux de recherche connexes de l'équipe d'auteurs dans les domaines de la sécurité, l'IA et l'IoT

Évaluation Générale : Cet article fournit un cadre d'analyse de sécurité relativement complet pour la virtualisation au niveau du système d'exploitation. Bien qu'il soit limité en termes d'innovation théorique, il possède une valeur élevée en termes de praticité et de systématicité, ce qui le rend approprié comme matériel d'introduction et de référence dans le domaine de la sécurité des conteneurs.