A propos de la sécurité des environnements virtuels
Serge RICHARD - CISSP® (IBM Security Systems)
serge.richard@fr.ibm.com
2
La virtualisation, de quoi parlons nous…
« Virtualiser » un objet informatique, ou le rendre virtuel, signifie le faire apparaître sous son seul aspect fonctionnel, indépendamment de la structure physique et logique sous-jacente.
En matière de technologies de l’information (TI) de l’entreprise, la virtualisation modifie l’architecture technique car elle permet l’exécution de différentes ressources dans un environnement unique.
La virtualisation, en tant que terme et concept, est largement utile et peut être appliquée à différents domaines : serveurs, stockage, processeurs, mémoire, postes de travail, réseau peuvent être virtuels ou virtualisés, etc.
Les technologies de virtualisation prennent une part de plus en plus importante depuis les années 2000.
Ce phénomène est lié notamment au développement de nouveaux usages comme la virtualisation des
postes de travail, la virtualisation des applications d’entreprise, la virtualisation du stockage, ou l’apparition
du cloud computing.
Avantages de la virtualisation
La mise en place de la virtualisation au sein des technologies de l’information de l’entreprise comporte de
nombreux avantages.
4
Environnement physique versus virtuel
La virtualisation consiste à faire fonctionner un ou plusieurs Système d’exploitation ou Application sur un ou plusieurs ordinateurs/Serveur informatique au lieu d'en installer un(e) seul(e) par machine.
Ces ordinateurs virtuels sont aussi appelés serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE).
Un Hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d’exploitation de travailler sur une même machine physique
en même temps
Différents types d’hyperviseurs
Les hyperviseurs sont classés en 2 catégories Type 1 natif et Type 2:
Architecture des hyperviseurs de type 1
La para virtualisation : ou hyperviseur de type 1 ou natif encore appelé "bare metal" (littéralement "métal nu"), est un logiciel qui s'exécute directement sur une plate-forme matérielle. Cette plateforme est alors considérée comme outil de contrôle du système d'exploitation. Un système d'exploitation secondaire peut être exécuté au-dessus du matériel. Il implémente la plupart des services que fournissent les noyaux des systèmes d’exploitation courants, entre autres la gestion mémoire complète des machines virtuelles ainsi que leur ordonnancement.
Parmi les solutions logicielles existantes figurent :
- XEN : libre, hyperviseur supportant des différents noyaux . - Oracle VM : propriétaire, hyperviseur sur plateforme x86.
- VMware ESX : propriétaire, hyperviseur sur plateforme x86 (produits ESX et ESXi-gratuit).
- Hyper V : propriétaire, hyperviseur sur plateforme x64 uniquement.
- KVM : libre, module noyau Linux tirant parti des instructions de virtualisation des processeurs Intel et AMD.
Architecture des hyperviseurs de type 2
La virtualisation complète : ou hyperviseur de type 2 (hébergé, host-based) ou hypervisor call, ou hypercall, est un logiciel qui s'exécute à l'intérieur d'un autre système d'exploitation. Un système d'exploitation invité s'exécutera donc en troisième niveau au-dessus du matériel. Il utilise les services fournis par le système d’exploitation hôte pour gérer la mémoire et l’ordonnancement des machines virtuelles. Le
microprocesseur, la mémoire de travail RAM ainsi que la mémoire de stockage sont directement accessibles aux machines virtuelles. Parmi les technologies existantes il faut noter :
- QEMU : émulateur de plateformes x86, PPC, Sparc, ARM.
- Bochs : émulateur de plateforme x86.
- VirtualBox: émulateur de plateforme x86.
- VMware Server : émulateur de plateforme x86 (produits VWware Server, VMware Player et VMware Workstation).
- Virtual PC : propriétaire, émulateur de plateforme x86.
- MAC on Linux : émulateur de plateforme Mac OS sur Linux PPC.
6
Architecture des différents types d’hyperviseurs
Services de sécurité infrastructure Hyperviseur Type 1
Augmentation de la surface d’attaque
8
Nouvelles contraintes de sécurité sur l’environnement virtuel
Partage des ressources
——————————
Point de défaillance unique Menaces traditionnels
Espace virtuel
——————————
Réallocation dynamique
——————————
Vol de VM
Rootkit furtif dans le matériel
——————————
Les composants virtuels sont des cibles Gestion des vulnérabilités
——————————
Stockage sécurisé des machines virtuelles et des
données de gestion
——————————
Nécessité de nouvelles compétences Nouvelles menaces
Les menaces traditionnelles peuvent attaquer les machines virtuelles, tout comme les systèmes classiques
Augmentation de la surface d’attaque
Les aspects organisationnels doivent être traités
- Séparation des rôles et des tâches |
- Gestion des processus | Problématiques du Cloud (en autre)
- Gestion des politiques de sécurité |
10
Vulnérabilités sur l’environnement virtuel
Risques sur l’environnement virtuel Etude ANSSI Mai 2012
1. Compromission des systèmes
2. Accroissement du risque d’indisponibilité
3. Fuite d’information par manque de cloisonnement
4. Complexification de l’administration et de la mise en œuvre 5. Complexification de la supervision
6. Prolifération non souhaitée des données et des systèmes 7. Incapacité à gérer voire à comprendre les erreurs
8. Investigations post-incident plus difficiles
12
Problèmes liés à la virtualisation 1/3 (Etude ISACA)
Attaques de l’infrastructure de virtualisation : Il existe deux types d’attaque principaux d’une l’infrastructure de virtualisation : le détournement de l’hyperviseur (ou « hyperjacking ») et le saut entre machines virtuelles (MV) (ou « guest-hopping »).
a) Le détournement de l’hyperviseur est une méthode qui consiste à implanter un hyperviseur malveillant (également appelé moniteur de machine virtuelle (MMV)) sous l’architecture légitime (MMV ou système d’exploitation) exerçant un contrôle sur toutes les interactions entre le système cible et le matériel. Blue Pill, SubVirt et Vitriol. sont quelques
exemples de menaces de type « hyperjacking ».
b) Le saut entre MV ou « guest-hopping » est une possibilité plus réaliste et représente une menace tout aussi sérieuse.
Cette méthode d’attaque exploite généralement les faiblesses inhérentes aux hyperviseurs qui permettent aux
programmes malveillants ou aux attaques à distance de compromettre les protections de séparation des MV et d’avoir accès aux autres MV, aux hôtes ou à l’hyperviseur lui-même. Ces attaques sont souvent perpétrées une fois que l’attaquant a obtenu l’accès à une MV de moindre valeur, moins sécurisée, présente sur l’hôte, qui est alors utilisée comme base de lancement pour les futures attaques portées sur le système.
Problèmes liés à la virtualisation 2/3 (Etude ISACA)
Attaques des fonctions de virtualisation : Aussi nombreuses soient les fonctions de virtualisation susceptibles d’être visées pour leur exploitation, on trouve parmi les cibles les plus courantes la migration des MV et les fonctions de mise en réseau virtuel.
La migration des MV, si elle est réalisée de façon non sécurisée, peut exposer tous les aspects d’une MV donnée à la fois au reniflage passif (ou « sniffing ») et aux attaques de manipulation actives.
L’article « Empirical Exploitation of Live Virtual Machine Migration » (Exploitation empirique de migration de MV en direct) par Oberheide, Cooke et Jahanian, donne des exemples de reniflage de mots de passe et de clés extraits de la mémoire ainsi que des méthodes de manipulation de la configuration des systèmes lors de la migration des MV via le réseau.
Y est également décrit un exemple d’injection d’un programme malveillant dans la mémoire d’une MV à la volée. « Virtualization : Enough Holes to Work Vegas (La virtualisation : assez de trous pour travailler), Présentation faite à Las Vegas par D.J. Capelis », une présentation de D.J. Capelis, illustre les problèmes de sécurité relatifs aux fonctions et au support réseau généralement utilisés par les infrastructures de virtualisation.
14
Problèmes liés à la virtualisation 3/3 (Etude ISACA)
Défis en matière de conformité et de gestion : L’audit de conformité et sa mise en application, tout comme la gestion du système au jour le jour, sont autant de défis à relever lorsqu’ils s’appliquent aux systèmes virtualisés.
L’augmentation du nombre de MV représente un défi pour l’entreprise. Les MV étant beaucoup plus faciles à mettre en oeuvre et à déployer que les systèmes physiques, le nombre et les types de MV peuvent rapidement devenir ingérables.
En outre, la mise en oeuvre des MV étant souvent gérée par différents groupes au sein d’une organisation, le
service informatique a davantage de difficultés à contrôler les applications, les systèmes d’exploitation et les données déployées.
Recommandations sur l’environnement virtuel Etude ANSSI Mai 2012
1. Adapter la politique de sécurité
2. Mettre en place un processus de veille des vulnérabilités propres aux technologies virtuelles 3. Configurer la solution de virtualisation selon de principe de réduction de la surface d’exposition 4. Concevoir une architecte respectant le principe de cloisonnement
5. Utiliser des matériels gérant le cloisonnement
6. Mettre à jour le plan de reprise ou de continuité d’activité
7. Dédier une équipe d’administration à la solution de virtualisation
8. Prévoir une équipe d’administration des machines virtuelles
9. Former les équipes d’administration, d’audit et de supervision
16
Exemple d’architecture de sécurité
Hypervisor Hypervisor
Virtual Switch
Virtual Switch Security
Virtual Machine
Security API
Trust Zone A
ON Status
12
Alarms CRTMJRMNRPWR
ON Status
12
Alarms CRTMJRMNRPWR
Trust Zone B
Virtual Switch Security
Virtual Machine
Security API
Access Control Data Loss Prevention Security Configuration
Patching Anti-malware
Firewall Intrusion Prevention
Malware Detection Access Monitoring Access Control
Firewall Intrusion Prevention
Network Policy Data Loss Prevention Vuln Assessment
Asset Discovery
Approche des solutions éditeurs
Solutions qui s’intègrent dans l’infrastructure des architectures de virtualisation
18
Certifications des environnements de virtualisation
Certification Common Criteria (liste non exhaustive)
Références - Février 2013
http://fr.wikipedia.org/wiki/S%C3%A9curit%C3%A9_des_hyperviseurs#cite_note-51
http://www.ssi.gouv.fr/IMG/pdf/2012_05_29_-_Guide_1343_-_Problematique_de_securite_Virtualisation_3_9.pdf
http://www.colloque-rsi.com/files/2010/presentations/D-Boteanu.pdf
http://www.isaca.org/Knowledge-Center/Research/ResearchDeliverables/Pages/Virtualization-Benefits-and-Challenges.aspx
http://www.isaca.org/Knowledge-Center/Research/Documents/Virtualization-Security-Checklist-26Oct2010-Research.pdf
http://www.isaca.org/Journal/Past-Issues/2011/Volume-1/Pages/Auditing-Security-Risks-in-Virtual-IT-Systems-french.aspx
http://fr.wikipedia.org/wiki/Fuite_d%27informations_dans_les_environnements_virtualis%C3%A9s
http://www.tml.tkk.fi/Publications/C/25/papers/Reuben_final.pdf
http://www.commoncriteriaportal.org/