Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 1 / 25



Documents pareils
Conception de circuits numériques et architecture des ordinateurs

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

Module : Virtualisation à l aide du rôle Hyper-V

VMWARE VSPHERE ESXI INSTALLATION

Les avantages de la virtualisation sont multiples. On peut citer:

Ordinateurs, Structure et Applications

Présentation d HyperV

SRS DAY: Problématique liée à la virtualisation

Démontage d'un ordinateur

Rappels d architecture

EN Télécom & Réseau S Utiliser VMWARE

Systèmes d exploitation

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Une approche de virtualisation assistée par le matériel pour protéger l espace noyau d actions malveillantes

Manuel d installation serveurs

Fonctionnement de Windows XP Mode avec Windows Virtual PC

EN Télécom & Réseau S Utiliser VMWARE

IV- Comment fonctionne un ordinateur?

Avira Professional Security Migrer vers Avira Professional Security version HowTo

Mise en route d'une infrastructure Microsoft VDI

Atelier : Virtualisation avec Xen

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

TD Architecture des ordinateurs. Jean-Luc Dekeyser

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Configuration de Virtual Server 2005 R2

Machine virtuelle W4M- Galaxy : Guide d'installation

Virtualisation et ou Sécurité

La gestion du poste de travail en 2011 : Panorama des technologies

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

GPA770 Microélectronique appliquée Exercices série A

Windows serveur 2008 installer hyperv

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

PRESENSTATION VMWARE ESXi NOTION DE MACHINE VIRTUELLE

Manuel de l utilitaire Computer Setup (F10) HP Compaq Business Desktops Modèles d220 et d230

PIC : COURS ASSEMBLEUR

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Sécurité et mobilité Windows 8

ndv access point : Utilisation

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Compilation (INF 564)

2 - VMWARE SERVER.doc

Exécution des instructions machine

Faulconnier Bastien SIO2. Cahier des charges. Choix et mise en œuvre d'un datacenter pour Infrastructure Cloud. Pour la société :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Mise en œuvre d une infrastructure de virtualisation au CNRGV

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

Solutions McAfee pour la sécurité des serveurs

Concept de machine virtuelle

Architecture des ordinateurs Introduction à l informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 5

Vers du matériel libre

Système Principal (hôte) 2008 Enterprise x64

Hyper-V v2 : une évolution majeure des services de virtualisation

Architecture des Ordinateurs. Partie II:

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

SERVEUR LYNX CALLEO DATACENTER 2460

A propos de la sécurité des environnements virtuels

Mise en œuvre d une solution de virtualisation

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Services RDS de Windows Server 2012 R2 Remote Desktop Services : Installation et administration

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Les hyperviseurs leaders du marché qui ont fait leurs preuves en production

TechSoftware Présentations

VMWare Infrastructure 3

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Thèse CIFRE. Mécanismes de monitoring sémantique dédiés à la sécurité des infrastructures cloud IaaS

Serveur Lynx CALLEO Application 2240S Fiches Technique

SERVEUR CALLEO APPLICATION R269M

ASR1 TD7 : Un microprocesseur RISC 16 bits

Spécifications détaillées

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

VMotion ne peut fonctionner qu avec une architecture de stockage centralisé de type SAN FC, iscsi ou NAS.

Serveur Lynx CALLEO Application 2240 Fiches Technique

Hyper-V et SC Virtual Machine Manager Technologie de virtualisation sous Windows Server 2008 R2 [2ième édition]

Fiche Technique. Cisco Security Agent

Installation de ndv 5

Technique et architecture de l offre Suite infrastructure cloud. SFR Business Team - Présentation

Guide de mise à niveau pas à pas vers Windows 8 CONFIDENTIEL 1/53

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Windows 7, Configuration

Description du logiciel Modbus RTU

Virtualisation de Windows dans Ubuntu Linux

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Plan de cet après-midi

Copyright Eurice Diffusion interdite

La virtualisation de serveurs avec VMWare Infrastructure - Retour d expérience. Rodérick Petetin CRI INSA Rennes

Accélérez votre émulateur Android

Transcription:

Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel Benoît Morgan, Éric Alata, Vincent Nicomette LAAS-CNRS, INSA Toulouse 14 juin 2014 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 1 / 25

1 Introduction 2 3 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 2 / 25

Plan Introduction 1 Introduction 2 3 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 3 / 25

Contexte des travaux Projet SVC Secure Virtual Cloud Projet Investissement d Avenir Itrust, Bull, Gosis, Eneed, Secludit, Eurogiciel, Val Informatique, Blue Mind, LAAS-CNRS, IRIT, Coordinateur du projet : Bull Contributions du LAAS 3 thèses Évaluation de la sûreté de fonctionnement dans le cloud Évaluation et analyse de la sécurité dans le cloud Sécurisation de gestionnaires de machines virtuelles Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 4 / 25

Virtualisation dans le Cloud Hypothèses Exécution, au dessus du même hyperviseur, de machines virtuelles appartenant à des clients différents Utilisation de plateformes Intel Risques à prendre en compte : machine virtuelle malveillante Compromission de l hyperviseur Désactivation de l hyperviseur Installation d un hyperviseur malveillant Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 5 / 25

Approche envisagée Introduction Utilisation de la nested virtualisation Quid des attaques provenant du matériel? Nécessité d un composant matériel de confiance Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 6 / 25

Composant utilisable pour réaliser les tests d intégrité Utilisation de Intel AMT Instrumentation du mode SMM Utilisation de Intel SGX Utilisation d un périphérique PCIe dédié Développement simplifié à partir d un FPGA Test de l intégrité à distance avec un périphérique PCIe/FPGA Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 7 / 25

Plan Introduction 1 Introduction 2 3 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 8 / 25

Empreinte mémoire d un hyperviseur Espace mémoire utilisé par un hyperviseur Code. Données. Structures de contrôle du processeur. Table de pages et tables de page EPT. Table de vecteurs d interruptions. Structure de contrôle de machine virtuelle (VMCS). Construction d empreintes mémoire. Exemple : table de page EPT en identity mapping. 63 31 0 51 40 11 3 1 1 1 1 1 1 512 entrées Distance de Hamming entre deux entrées consécutives < 3 ignoré Zero Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 9 / 25

Vérification Introduction Modifications de l hyperviseur. Modification du code, des données, des structures de contrôle. Désactivation de l hyperviseur. Non évolution significative des données et des VMCS. Relocalisation de l hyperviseur. détection de nouveaux espaces mémoire de logiciels bas niveau. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 10 / 25

Utilisation du périphérique de détection Périphérique de détection USB (console) Ethernet FPGA Slots d'extension PCI Express Machine cible Machine de confiance Nombre d empreintes mémoire variable et élevé. Balayage de tout l espace mémoire. Besoin d un processeur dédié. FPGA. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 11 / 25

Architecture du System On Chip USB to UART Ethernet PCI-Express LM32 M 0/1 S 0 Onchip ROM UART CSR CSR Bridge S 1 S 2 Ethernet Checker (contrôle) Ethernet (contrôle) Checker S 3 FPGA Developped Adapted Reused Wishbone ERIC (Electronic Remote Integrity Checker) Basé sur IronHide et Milkymist Composants Processeur généraliste. ROM (BIOS). Checker. Interface Ethernet. UART. Fonctionnalités Débuguer. Charger et exécuter du logiciel. Caractériser les zones mémoire. Remonter des alertes. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 12 / 25

Principales fonctions du Checker mode "dummy" (test) Checker IRQ bus de contrôle modes mode lecture mémoire hôte mémoire hôte mémoire hôte PCI Express Voies PCI Express LM32 CPU CSR bus Whisbone décodeur mémoire d'instructions mode automate MPU MPU bus d'instructions Accéder aux pages mémoire hôte. Exécuter des automates de détection de motifs mémoire. Interrompre le LM32. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 13 / 25

Co-processeur MPU Introduction Code mnémonique Description 0x1 mask Vérifie les bit autorisés à 0 et 1, saute si faux 0x2 equ Compare deux registres, saute si différent 0x3 inf Compare deux registres, saute si supérieur ou égal 0x4 add Addition 0x5 hamm Calcule la distance de Hamming entre deux registres 0xc int Interruption logicielle 0xd mload Chargement d un mot mémoire hôte 0xe load Chargement d une valeur immédiate 0xf jmp Saut inconditionnel Format 1 : OP, r1, [r2, [r3, [r4]]]. Format 2 : OP, r1, valeur immédiate (8, 16, 32). Jeux d instructions spécialisé. Gain de performances. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 14 / 25

Distance de Hamming en C uint8_t hamdist ( uint64_t x, uint64_t y, uint64_t bs) { uint8_t dist = 0; uint64_t val = ( x & bs) ^ ( y & bs); // Count the number of set bits while ( val ) { ++ dist ; val &= val - 1; } return dist ; } 64 itérations dans le pire des cas. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 15 / 25

Architecture du MPU sys_clk en i_addr i_data hm_start hm_addr hm_data user_irq user_data 16 48 64 64 64 pointeur d'instruction Décodeur Unité d'exécution Banc de registres Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 16 / 25

Introduction Recherche d espaces mémoire de malwares au travers de la reconnaissance de structures de contrôle des cœurs du processeur. 1 Initialisation des composants. 2 Calcul de l adresse de la prochaine page à analyser. 3 Exécution du MPU sur la page. 4 Prise de décision (alertes, statistiques). 5 Retour à l étape 2. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 17 / 25

Automate de reconnaissance d une table de pages EPT start : loadw r2, $0x1000 // Maximum page offset loadw r3, $0x3 // Maximum expected Hamming distance : 2 + 1 loadd r6_0, $0xfffff000 // Bit select for Hamming distance loadd r6_1, $0x0000000f loadw r7, $no_ept_end loadw r8, $entry loadw r9, $ept_end loadb r10, $0x8 // Increment entry : infw r1, r2, r9 // Loop stop condition movq r5, r4 // Remember the last entry mloadq r4, r1 // Load the current entry hammq r10, r4, r5, r6 // Compute Hamming distance infb r10, r3, r7 // Is Hamming < 3? add r1, r1, r10 // Go to next entry jmpw r8 // Loop ept_end : intq r3 // Notifies that EPT 4k page table entry is found no_ept_end : intq r0 // intq $0x0, end of execution Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 18 / 25

Étape 1 : initialisation des composants mode "dummy" (test) Checker IRQ bus de contrôle modes mode lecture mémoire hôte mémoire hôte mémoire hôte PCI Express Voies PCI Express LM32 CPU CSR 2 1 bus Whisbone décodeur mémoire d'instructions mode automate MPU MPU bus d'instructions 1 Téléchargement du binaire du MPU : motifs mémoire. 2 Sélection du mode d exécution. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 19 / 25

Étape 2 : Configuration de la page à analyser mode "dummy" (test) Checker IRQ bus de contrôle modes mode lecture mémoire hôte mémoire hôte mémoire hôte PCI Express Voies PCI Express LM32 CPU CSR 1 2 bus Whisbone décodeur mémoire d'instructions mode automate MPU MPU bus d'instructions 1 Configuration de l adresse de la page. 2 Démarrage du checker en mode automate. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 20 / 25

Étape 3 : exécution et interruptions mode "dummy" (test) Checker IRQ bus de contrôle modes mode lecture mémoire hôte mémoire hôte mémoire hôte PCI Express Voies PCI Express LM32 CPU CSR bus Whisbone décodeur mémoire d'instructions mode automate MPU 1 2 3 MPU bus d'instructions 1 Accès mémoire hôte. 2 Interruptions utilisateur. 3 Fin d exécution du MPU. Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 21 / 25

Plan Introduction État des lieux Perspectives 1 Introduction 2 3 État des lieux Perspectives Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 22 / 25

Développements Introduction État des lieux Perspectives Composant UART Ethernet Checker MPU Binutils MPU Mémoire Hôte État Automate Caractérisation d un hyperviseur Construction d empreintes Superposition des empreintes État Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 23 / 25

Perspectives Introduction État des lieux Perspectives Finalisation du composant de réception. Preuves de concepts sur différentes attaques. Détection de malwares? Sniffer PCI Express? Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 24 / 25

État des lieux Perspectives Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel Benoît Morgan, Éric Alata, Vincent Nicomette LAAS-CNRS, INSA Toulouse 14 juin 2014 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 25 / 25