NGSCB : faut-il choisir entre
sécurité et respect de la vie
privée ?
Bernard Ourghanlian
Chief Technology & Security Officer
Microsoft France
La stratégie sécurité de Microsoft
Authentification,
Autorisation, Excellence
Mise à jour Audit de
avancée l’engineering
Isolation et Conseils,
Outils,
résilience Réponse
2
Petit rappel…
Le 24 janvier 2003 Microsoft a annoncé
sa volonté de changer le nom de
« Palladium » qui était jusqu’à présent
le nom de code d’un projet interne à
Microsoft
« Palladium » s’appelle maintenant
Next-Generation Secure Computing
Base (NGSCB)
3
Sommaire
Introduction et motivation
Secure Startup
Hyperviseur
En guise de conclusion
4
Introduction et
motivation
Le PC aujourd’hui
P2P / Chat Attaque
(avec backdoor)
Application
“sécurisée”
Jeux Application
Fausse
DLL plus sécurisée
système Virus
Attaque Mode
Réseau Cheval de Troie
Système d’exploitation utilisateu
r
Attaque DriverDriverDriver Attaque
Mode
noyau
6
Les buts de NGSCB
Quelques façons de le dire…
« Protéger le logiciel du logiciel »
« Rendre le PC aussi sécurisé qu’il est
flexible »
7
NGSCB « vu d’avion » : la
conception originelle (1/3)
App
User
Kernel
OS
Comment préserver la flexibilité et l’extensibilité qui ont
tant contribué à la richesse de l’écosystème du PC, tout
en fournissant à l’utilisateur final un environnement sûr ?
En particulier, comment peut-on garder quoi que ce soit
de secret, quand des composants du noyau enfichables
contrôlent la machine ?
8
NGSCB « vu d’avion » : la
conception originelle (2/3)
La solution : subdiviser l’environnement
d’exécution en ajoutant un nouveau mode au CPU
NCA
App
NCA
User
Kernel
Standar
d
Trusted
Nexus
OS
Le CPU est soit en mode « standard » soit en mode « trusted »
Les pages de la mémoire physique peuvent être marquées
comme « trusted ». Les pages dites « trusted » ne peuvent être
accédées que lorsque le CPU est en mode « trusted »
9
NGSCB « vu d’avion » : la
conception originelle(3/3)
Les agents ont aussi besoin de laisser l’utilisateur entrer des secrets et
d’afficher des secrets pour l’utilisateur
NCA
App
NCA
User
Kernel
Standard
Trusted
OS Nexus
Hub USB
GPU de
de Clés
confiance Pub/Pri.
confiance SSC
Les entrées sont sécurisées par un « hub » USB de confiance
pour le clavier et la souris qui permet de transporter une
conversation sécurisée avec le nexus
Les sorties sont sécurisées par un GPU de confiance qui
transporte une conversation chiffrée avec le nexus
Ceci permet une sécurité de bout en bout 10
Architecture NGSCB : la
conception originelle
« Zone de
Normal confiance
» Agent
Appli
Applicatif
Jeux Agent
P2P /Chat Attaque Applicatif
(avec backdoor) Virus Utilisateur
Noyau
Cheval de Troie
Attaque Système d’exploitation
Noyau
Sécurisé
DriverDriver
Nexus
11
Le problème fondamental
avec cette conception
originelle
Pour pouvoir exploiter pleinement NGSCB,
il faut utiliser les API correspondante afin
de pouvoir écrire des NCA
Ceci nécessite, dans la pratique, de
réécrire la majorité des logiciels
Une telle approche n’était guère réaliste…
Nous avons donc revu nos plans
et avons donc changé de fond en comble
l’architecture de NGSCB
12
Le hardware sécurisant le
software
Chaine de confiance
Applications
DRM/Chiffrement
Identité
Système d’exploitation
Virtualisation / Hyperviseur
Hardware digne de confiance
13
Le plan NGSCB
Fonctionnalités pré-hardware Fonctionnalités NGSCB
NGSCB
Desktops isolés : « Red/Green » après Longhorn Serveur
RG1) (LH + 12 mois)
Environnement d’entreprise
Typhon
Nom de code Unity
Environnement hautement Hardware : requerra
sécurisé (secteur de la défense)
TPM v1.2
Fonctionnalités NGSCB avec
Longhorn client Un hardware supportant
Nom de code Cornerstone la virtualisation
Démarrage sécurisé Le support des E/S
Fonctionnalité standard de sécurisées
Longhorn
Un chipset supportant
Hardware : requerra le support de
TPM v1.2 et du BIOS pleinement le modèle de
Ne requerra PAS le support de la
sécurité de NGSCB
virtualisation ou des E/S Software : requerra LH
sécurisées
Software : Ne requerra PAS SP1 + hyperviseur
d’hyperviseur
14
Pour résumer les plans
NGSCB…
Logiciel seulement
Typhon
Red/Green Version 1 (R/G Version 1)
Hybride
Secure Startup – FVE (Cornerstone)
Comprend un amorçage sécurisé, les services de base du
TPM, un CSP
Typhon, R/G Version 1?
Dépendant du hardware
Unity
Desktops isolés (R/G Version 2)
Secure Runtime Environment
MLS (Multi-Level Security)
15
NGSCB : modèles de menace
Notre modèle de menaces
AUCUNE attaque logicielle (seul) ne doit réussir contre
les opérations réalisées dans l’espace de l’hyperviseur
AUCUNE attaque de type Break-Once/Break-
Everywhere (BOBE) ne doit être possible
Aucune attaque logicielle (seul) signifie...
Ceci ne concerne pas les attaques fondées sur le
microcode, macrocode, les cartes adaptateurs, etc.
etc.
Toute attaque lancée depuis le Web ou email est de type
logiciel (seul)
Cette protection ne s’applique seulement qu’à la
divulgation des secrets
Les virus peuvent encore supprimer les fichiers
chiffrés… 16
NGSCB : modèles de menace
Pas d’attaque de type BOBE signifie que
Les attaques ne bénéficient pas de la possibilité
d’hériter naturellement d’un facteur d’échelle
Chaque Security Support Component (SSC) a des
clés uniques
Les données DOIVENT utiliser des clés uniques ou
partiellement uniques, plutôt que des clés globales
Une personne cassant une machine ne peut
divulguer que les secrets envoyés à cette
machine seulement
Ne permet PAS à cette personne de dire à la terre
entière comment « casser » le contenu
Permet de borner la divulgation du contenu à la
machine concernée
17
NGSCB : modèles de menace
NGSCB n’évitera pas :
Les attaques en déni de service (DOS
– Denial Of Service)
Les DOS ne permettent pas la divulgation
d’un secret
L’utilisateur peut toujours redémarrer
Les « vraies » attaques hardware
18
Secure Startup
Secure Startup : Sommaire
Le problème : des données faciles à
voler
La solution : full volume encryption
(FVE)
Aperçu
Quelques définitions
Détails de l’architecture
Scénarios de récupération
20
La situation actuelle
Aujourd’hui, il existe, de manière très
largement diffusée, des programmes de
récupération de mots de passe qui permettent
des attaques contournant les mécanismes de
sécurisation des données de Windows XP
Les attaques en mode déconnecté exposent les
clés utilisées par le système, ce qui permet la
compromission des données sécurisées
Il y a des centaines de milliers de PC portables
perdus ou volés chaque année
21
Les difficultés rencontrées
Il est difficile de protéger les données
résidant sur des PC portables perdus ou volés
Les réseaux d’entreprise peuvent être
attaqués via des PC portables perdus ou volés
Les données utilisateur stockées sur un
disque sur peuvent être compromises sans
que l’utilisateur en ait connaissance
Les données chiffrées des utilisateurs
peuvent être révélées aux autres lors de
l’utilisation active du PC
Il est possible de compromettre les données
chiffrées des utilisateurs
Il est difficile d’effacer vraiment les données
contenues sur un PC
22
Quelques témoignages
édifiants
“Dutch public prosecutor … was condemned yesterday for
putting his old PC out with the trash. It contained sensitive
information about criminal investigations in Amsterdam,
and also his email address, credit card number, social
security number and personal tax files.”
The Register, 8 octobre 2004
“Hurried travelers have left as many as 62,000 mobiles,
2,900 laptops and 1,300 PDAs in London taxis over the past
six months.”
BBC, Août 2001
“An estimated 11,300 laptop computers, 31,400 handheld
computers and 200,000 mobile telephones were left in
taxis around the world during the last six months …
passengers had lost three times more handheld computers
in the second half of 2004 than in 2001”
CNN, 24 janvier 2005
23
Secure Startup
Une technologie procurant une meilleure
sécurité à travers l’utilisation d’un Trusted
Platform Module (TPM)
Adresse les scénarios de perte ou de vol de PC
portable à travers des mécanismes d’intégrité
et de chiffrement ancrés dans le TPM
Fourni un amorçage sécurisé, le chiffrement
du disque dur et les services du TPM
Les attaquants sont bloqués dans leur
utilisation d’outils logiciels pour accéder les
données
Secure Startup assure une meilleure sécurité sur les systèmes Longhorn,
même quand le système est entre des mains non autorisées ou exécute
un autre système d’exploitation. Secure Startup atteint cet objectif en
empêchant un attaquant de casser les mécanismes de protection des
fichiers et du système Longhorn 24
Facilement accessible depuis
le Security Center
Secure Startup
Secure Startup
25
Les bénéfices de Secure
Startup
La sécurité au cours du temps
Internet
BIOS Début du boot Login
Explorer
temps
Verrouillage du disque
Avec FVE,
-A besoin d’un mot de passe (peut être faible)
l’utilisation
-Les données sur le disque sont non protégées
normale continue
-Si implémenté en BIOS, attaque en reflash
Mot de passe BIOS
-Un autre mot de passe
-Le BIOS peut être reflashé, permettant l’attaque
-Pas de protection des créances utilisateur
Les bénéfices de FVE :
-Protection des fichiers d’hibernation et de pagination
-Pas de changement – on sort de l’hibernation
-Protection des fichiers temporaires et du contenu du bureau
-Meilleure gestion des clés
-Protection des créances de l’utilisateur
26
L’organisation du disque
Partition chiffrée du
système d’exploitation
Contient :
L’OS chiffré
Les fichiers de pagination
et d’hibernation chiffrés
Les fichiers temporaires
chiffrés
Les données chiffrées
MBR
Partition système
Contient les
utilitaires de
l’amorçage
(Non chiffrée,
~50 MO)
27
Quelques définitions du TCG
TCG : Trusted Computing Group (
[Link] )
TPM : Trusted Platform Module (voir plus loin)
RTM : Root of Trust Measurement
C’est une chaîne de confiance où, étant donné un
point de départ du code digne de confiance, on peut
déterminer la mesure de son intégrité et la maintenir
pour chacun des blocs de code subséquents
CRTM : Core Root of Trust Measurement
C’est une petite section de ROM non flashable d’un
BIOS compatible TCG qui est exécutée avant tout
autre code après le redémarrage d’une machine afin
d’établir la RTM
28
Quelques définitions du TCG
DRTM : Dynamic Root of Trust Measurement
C’est une chaîne de confiance qui démarre à un
code digne de confiance et qui peut commencer
après l’exécution d’une instruction spéciale du
microprocesseur ; la chaîne de confiance est valide
pour une instance spécifique du code dont
l’intégrité est mesurée par le hardware et par un
hyperviseur
PCR : Platform Control Register
Registre d’un TPM
Ce registre est suffisamment grand pour contenir un
hash (aujourd’hui seulement SHA-1)
Un registre ne peut être qu’« étendu », ce qui veut
dire que son contenu est un hash « glissant » de
toutes les valeurs qui y ont été chargées
29
Quelques définitions du TCG
L’utilisation des registres PCR[0] à PCR[7] est
prédéterminé par le TCG
Les registres PCR[8] à PCR[15] sont utilisés par la
SRTM et sont disponibles pour les systèmes
d’exploitation
PCR[0] à PCR[15] sont remis à zéro seulement lors du
boot
PCR[16] et au-delà sont utilisables par le DRTM
Seal : un processus par lequel des données sont
chiffrées et authentifiées par le TPM et appariées
avec un ensemble de valeurs de PCR cibles,
créant ainsi un Blob (Binary Loadable Object)
chiffré
Les Blobs retournés par une opération Seal du TM ne
sont pas stockés à l’intérieur du TPM ; ils peuvent être
stockés n’importe où (sur le disque dur par exemple)
puisque leurs données ne peuvent être révélées que
par une opération Unseal subséquente
30
Quelques définitions du TCG
Unseal
Le processus par lequel les données
contenues dans un Blob scellé sont
déchiffrées par le TPM pour révéler le
secret originel
Ce Blob ne peut être descellé que lorsque
les PCR du TPM sont identiques au PCR
spécifiés dans le Blob ; si l’une quelconque
des valeurs des PCR sont différentes, le
TPM refusera de desceller les données et
retournera une erreur
31
Qu’est-ce qu’un TPM ?
Un module sur la carte mère qui :
Protège les secrets des attaquants
Effectue des fonctions de chiffrement
Par exemple, RSA, SHA-1, RNG
Peut créer, stocker et gérer des clés de chiffrement
Fournit une Endorsement Key (EK) unique
Effectue des opérations de signatures numériques
Détient les « mesures » (hashes) de la plateforme
Enracine la chaîne de confiance pour les clés, les
certificats numériques et les autres lettres de créance
Voir les spécifications du TPM 1.2 en
[Link]
32
L’architecture (simplifiée) du
TPM de Longhorn
Amorçage Outils Fournisseur
Application
sécurisé d’administra- de stockage tierce
tion de clés
TSS*
Services de base du TPM
Driver du TPM
* = TCG Software Stack
TPM 33
Principes de fonctionnement
de FVE
FVE utilise le mécanisme de SRTM pour
assurer l’intégrité du système
Dans ce modèle, la chaîne de confiance
est établie en démarrant avec un
système qui est présupposé sécurisé
Ceci est établi par le CRTM et requiert que
le système démarre depuis une petite
portion du firmware du BIOS qui ne peut
être modifié sans modification du hardware
34
Principes de fonctionnement
de FVE
La chaîne de confiance correspond à la
séquence suivante :
La première mesure d’intégrité est toujours
effectuée par un code digne de confiance
Avant qu’un morceau de code puisse passer
le contrôle à un autre morceau de code, il le
« mesure » (par exemple en calculant son
hash) et enregistre son identité dans le TPM
Le TPM implémente un « drapeau sécurisé »
qui fait qu’une fois qu’une mesure a été
enregistrée, celle-ci ne peut être supprimée
(jusqu’au prochain redémarrage)
35
Principes de fonctionnement
de FVE
Ce processus est répété au fur et à mesure
que la plateforme démarre
Par exemple, le BIOS mesure le MBR qui mesure
le loader, etc.
Le TPM permet la protection de l’accès aux
données en fonction de l’état courant du
journal qu’implémente, en fait, le TPM
Ceci peut être utilisé pour permettre à l’OS
d’implémenter les fonctions qu’il désire ne voir
accéder que par lui seul ; par exemple une
syskey ou une clé de chiffrement de volume
Ceci est le mécanisme de sealing dont on a
parlé plus haut
36
Principes de fonctionnement
de FVE
FVE chiffre la partition système Windows et
scelle la clé symétrique dans le TPM
Cette opération de scellement séquestre
effectivement la clé dans le TPM, de telle façon
que lors des prochains boots du système – parce
que le TPM connaît le code qui s’exécute sur le
système ainsi que déterminé par les valeurs
contenues dans les PCR – le TPM puisse
restreindre le décèlement de cette clé
symétrique à n’être effectué que lorsque le code
en question s’exécute
Il est même possible, lors du scellement, que
l’appelant spécifie quels PCR spécifiques seront
comparés lors du décèlement ; de cette façon, on
peut être sûr que, pour accéder à l’un quelconque des
secrets chiffrés sur le disque, il ne soit pas possible
d’exécuter un code quelconque introduit par un
attaquant
37
Architecture de Secure
Startup
SRTM des premiers composants de
l’amorçage
Avant l’OS Démarrage de l’OS Tous les « blobs » Le « blob » du volume de
nécessaires pour l’OS cible est déverrouillé
l’amorçage sont
déverrouillés
TPM Init
BIOS
MBR
BootSector
BootBlock
BootManager
Démar-
rage de
l’ OS
OS Loader
39
Valeur ajoutée de FVE
Chiffrement du fichier d’hibernation –
protection contre le scénario dans lequel
l’utilisateur permet à son PC portable
d’hiberner avec des fichiers sensibles ouverts
et qui voit son PC volé
FVE améliore la sécurité de la base de
registre, des fichiers de configuration, des
fichiers de pagination et d’hibernation en les
stockant sur un volume complètement chiffré
Le simple fait de détruire la clé permet la
destruction ou le recyclage sans risque du
hardware des entreprises
42
Scénarios de récupération
Scénario de récupération en cas de casse du matériel
Cas où le PC a un problème et doit être échangé mais où le disque
peut être extrait et être inséré dans la machine de remplacement
Scénario de récupération lors d’une attaque détectée
Un virus fait des modifications dans le Boot loader
Un utilisateur télécharge un cheval de Troie qui modifie le BIOS
Avec un mot de passe de récupération (connu de l’utilisateur ou
récupéré depuis un annuaire par un administrateur) il est
possible d’effectuer une récupération sur le terrain et de
permettre à Windows de continuer normalement
Le séquestre automatisé des clés et des mots de passe de
récupération des machines protégées (par exemple au sein
d’AD) permet la mise en place d’un stockage et d’une gestion
centralisée des mécanismes de récupération.
Optionnellement, les clés de récupération pourront être écrite sur
des périphériques amovibles, telles que des clés USB.
43
Récupération du Secure
Startup
Accès
réseau Séquestre de la
Fonctionnalité mise L’utilisateur Le disque dur
via AD clé (par exemple
en service casse son PC de l’ancien PC
via AD)
portable va dans le
nouveau
Alert: Secure Startup Recovery x
Secure Startup Recovery has failed.
You will not be able to start up your
computer nor access your data. Your
hard drive will remain encrypted until
you can provide either the recovery
media or your recovery key.
Close
L’utiliateur appelle son L’administrateur récupère la clé de
administrateur à l’aide récupération de l’utilisateur et lui donne
après avoir vérifié son identité
Secure Startup Recovery
Key
x Secure Startup Recovery Mode x
Please enter your Secure Startup You have successfully recovered
Recovery Key. your data.
**** **** **** ****
The recovery process is complete.
Close
Ok Cancel
44
Besoins hardware et software
Besoins hardware pour supporter Secure
Startup
Trusted Platform Module (TPM) v1.2
Fournit les mesures d’intégrité de la plateforme et le
reporting
Nécessite le support du chipset pour une interface de TPM
sécurisé
Voir [Link]
Firmware (Conventionnel ou BIOS EFI) compatible
TCG
Etablit la chaîne de confiance pour l’avant-amorçage de l’OS
Doit supporter les Static Root Trust Measurements (SRTM)
spécifiés par le TCG
Voir [Link]
45
Hyperviseur
Utilisation actuelle de la
virtualisation et bénéfices
associés
La virtualisation permet de la mise en place
La virtualisation permet de la mise en place
de certaines fonctionnalités intéressantes
telles que :
Consolidation de serveur
Environnement de développement et de test
« Centres de calcul dynamiques »
Gestion des ressources
Re-hosting d’applications
Compatibilité des applications
Partitions hautement disponibles
Plein d’autres…
47
L’offre actuelle de Microsoft
en matière de virtualisation
Virtual PC 2004
Déployé dans des environnements de production
Re-hosting d’applications
Démonstration, formation, helpdesk
En cours de déploiement dans des environnements de test
et de développement
Plusieurs environnements de test sur un seul hardware
Virtual Server 2005
Disponible depuis le 4ème trimestre 2004
Utilisé pour la consolidation de serveurs de production
Gestion à distance des opérations des machines virtuelles
Beaucoup d’améliorations fonctionnelles et de gains en
performance avec le SP1
Support des hôtes 64 bits, support PXE, et beaucoup d’autres
choses
48
Tout ceci n’est toutefois pas
suffisant…
Il faut une isolation plus forte entre les partitions
Il faut une meilleure scalabilité
Il faut de meilleures performances pour les
périphériques
Aujourd’hui, les périphériques sont émulés
Il n’y a pas d’affectation des périphériques aux
partitions
Les produits actuels ne tirent pas avantage des
possibilités de virtualisation offertes par le
hardware
Intel Virtualization Technology
Pacifica pour AMD
49
Prochaine architecture de
virtualisation de Microsoft
Introduction d’une nouvelle architecture de
virtualisation
Fondée sur la notion d’hyperviseur
Petite partition séparée pour le management (parent)
Permet d’amélioration considérablement la virtualisation des
périphériques
Disponibilité cible : 2007
Définition de quelques termes
Partition parente – une partition qui gère ses enfants
Partition enfant – tout nombre de partitions qui sont
démarrées, gérées et arrêtées par leur parent
Pile de virtualisation – la collection des composants qui
s’exécutent dans la partition parente pour la gestion de la
MV
50
Virtualisation pour les
serveurs
Quelques fonctionnalités proposées
Invités 32 bits et 64 bits
Hôtes x64 seulement
Invités supportant le multiprocessing
Périphériques virtualisés
Management WMI et API de contrôle
Sauvegarde et restauration
Support du snapshotting
Contrôles des ressources CPU et E/S
Tuning pour NUMA
Ajout et suppression dynamique des ressources
Migration live
51
L’hyperviseur
Très fine couche de logiciel
Hautement robuste
Correspond à un Trusted Computing Base (TCB) de très
petite taille
Aucun modèle de drivers built-in
Tire parti des drivers actuellement disponibles sous Windows
Les drivers s’exécutent dans une partition
Interface bien définie et publique
Permet à des tiers le support de leurs systèmes
d’exploitations comme des invités
Nécessite l’assistance du hardware pour la
virtualisation
Intel Virtualization Technology
Pacifica d’AMD
52
Les différents modèles de
machines virtuelles
VMM de type 2 VMM hybride VMM de type 1
(Hyperviseur)
Invité
Invité11 Invité
Invité22
VMM
VMM Invité
Invité11 Invité
Invité22 Invité
Invité11 Invité
Invité22
OS
OSHôte
Hôte OS
OSHôte
Hôte VMM
VMM VMM
VMM
Hardware
Hardware Hardware
Hardware Hardware
Hardware
Exemples : Exemples : Exemples:
JVM Virtual PC & Virtual Server Viridian/Unity
CLR
Ce que nous
Ce que nous avons construisons pour
aujourd’hui le futur
53
Monolithique contre
Micronoyau
Hyperviseur monolithique Hyperviseur micronoyau
Plus simple qu’un noyau Fonctionnalité de partitionnement
moderne mais encore simple
complexe Amélioration de la robustesse et
Contient son propre minimisation du TCB
modèle de drivers Pas de code tiers
Les drivers s’exécutent dans les
invités
VM 1
VM 1
VM 1 VM 2 VM 3 (« Parent »)
(“Admin”) VM 2 VM 3
(“Admin”)
Pile de VM 2 VM 3
VM 2 VM 3
Virtualisation (« Enfant ») (« Enfant »)
(« Enfant ») (« Enfant »)
Drivers
Drivers Drivers
Drivers Drivers
Drivers
Hyperviseur Drivers Drivers Drivers
Hyperviseur
Drivers
Drivers
Drivers Hyperviseur
Hyperviseur
Hardware Hardware
Hardware Hardware
54
L’hyperviseur
• Couche mince de logiciel s’exécutant sur le hardware
• Supporte de la création de partitions
• Chaque partition est une machine virtuelle
• Chaque partition a un ou plusieurs processeurs virtuels
• Les partitions peuvent détenir ou partager des ressources
hardware
• Le logiciel tournant dans une partition est appelé invité
• Rend obligatoire les règles d’accès à la mémoire
• Rend obligatoire les politiques d’usage du CPU
• Processeurs virtuels ordonnancés sur les processeurs réels
• Garantit la propriété des autres pérphériques
• Procure des messages inter-partition
Partition Parent • Les messages apparaissent comme des interruptions
(Windows minimum) • Expose des API simples appelées hypercalls
Hyperviseur
Disque Ethernet
dur NIC CPU RAM
55
Pile de virtualisation
S’exécute au sein de la partition
« parent »
Système d’exploitation avec un faible
encombrement (MinWin)
Véritable système d’exploitation Windows
Plusieurs piles de virtualisation peuvent
coexister
56
Pile de virtualisation
• Collection de composants en mode user et kernel
• S’exécute dans une partition au-dessus d’un OS
minimal
Fournisseur
WMI • Contient tout le support MV non présent dans
Worker l’hyperviseur
VM Worker
Process
Service VM VM Worker
Process
• Interagit avec l’hyperviseur
de Process
la MV
• Appelle l’hyperviseur pour effectuer certaines actions
• Répond aux messages de l’hyperviseur ou d’autres
partitions
• Crée et gère une groupe de partitions « enfant »
• Gère la mémoire pour les partition enfant
Virtualization • Virtualise les périphériques pour les partitions enfant
Infrastructure
VMBus • Expose une interface de gestion
Driver
Bus Driver
Partition
Parent API Hyperviseur et
Librairie de Messages
Partition Enfant 1 Partition Enfant
2
Hyperviseur
57
Virtualisation des
périphériques
Fournit une méthode pour partager
efficacement le hardware
Les périphériques physiques sont toujours
gérés par leur drivers
Définitions
Virtualization Service Providers (VSPs) & Clients
(VSCs)
VSP = fournisseur, VSC = consommateur
VSP s’exécute dans une partition qui « détient » une
ressource hardware
Une paire VSP/VSC par type de périphérique (stockage,
réseau, etc.)
Peut exposer des contrôles de bande passante
Le protocole est spécifique au type de périphérique mais est,
en général, agnostique quant au système d’exploitation
58
Virtualisation des
périphériques
VSP standard
Stockage – effectue le parsing des VHD,
supporte différentes chaînes de
périphériques
Réseau – fournit un mécanisme de réseau
virtualisé
Vidéo – 2D pour les serveurs
USB – permet à un périphérique USB d’être
affecté à une partition
Input – clavier et souris
Time – virtualisation pour un hardware RTC
59
Virtualisation des
périphériques
• Périphériques physiques
• Gérés par les drivers traditionnels
• Virtualization service providers (VSP)
• Virtualise une classe spécifique de périphérique
(réseau, stockage, etc.)
Storage • Expose une interface abstraite
VSP
• S’exécute dans la partition qui détient le
périphérique physique correspondant
Storage Storage • Virtualization service clients (VSC)
Stack Stack
• Consomme le service hardware virtualisé
• VMBus
Port Storage
VSC • « Bus » logiciel (énumération, hot plug, etc.)
Driver
• Permet la communication de VSP et VSC
Partition • Utilisation de la mémoire partagée et des
VMBus VMBus
Parent messages IPC de l’hyperviseur
Hyperviseur
Disque
60
Partitions Standard et Partition
Managers
Partition Partition Partition TspWin Partition 1 Partition 2
Windows XP Primaire
(Longhorn)
Virtual PC Secure
ou Virtual Partition
Server Manager
Partitions standard (toujours créées) Partition Managers
• Partition Primaire • Responsable pour…
• Exécute un invité Longhorn • La création des partitions
• Se voit affecté la plupart des périphériques • La gestion des ressources (ex : paging)
• Partition TspWin • Gestion des politiques
• Exécute une version verrouillée de MinWin • Emulation du hardware ancien
• Se voit affectée les périphériques de • Exemples :
confiance • Virtual PC / Virtual Server
• Héberge les Trusted Service Providers (TSP) • Secure partition manager dans TspWin
• Partie du TCB
Hyperviseur
61
Les besoins hardware de
NGSCB
Besoins hardware pour Longhorn
Hardware modifié
BIOS compatible TCG
Hardware additionnel
TPM version 1.2
Besoins hardware pour Unity
Hardware modifié
BIOS compatible TCG
Processeur
Support de la virtualisation
Boot sécurisé de l’hyperviseur
Chipset / processeur / plateforme
Mémoire isolée
Protection contre les DMA
E/S dignes de confiance
Hardware additionnel
TPM version 1.2
62
Aperçu du hardware NGSCB
CPU GPU Hardware requis
Intel * Integrated par Unity
AMD * Discrete
Monitor
Memory
Controller
(North Bridge) DRAM
Hard Disk
I/O
Controller
Mouse
EHCI
(Enhanced Host Keyboard
Controller
Interface)
TPM Secure
Extension
PS2
TMKBC PS2
(Trusted Mobile Mobile Mice
Keyboard Control) Pointing Stick
Touch pad
Track ball
External
Keyboard
Mobile Device Mobile Keyboard
63
Architecture de l’environnement
d’exécution sécurisé
SecWin V1
Longhorn Agent
NGSCB [Link]
Agent
Full Framework (CLR)
Filtering
NGSCB API
Services
CLR Windows services, components, etc.
Composants Kernel
Win32 [Link], [Link], [Link], etc.
nécessaires
Virtualized Drivers
Disk, Network, etc.
User
Kernel
D VMBus
Noyau D Virtual Machine Bus
WinOSPI
VMBus
Operating System Partition Interface
WinOSPI
Hyperviseur
64
Amélioration du support
Windows
Amélioration du support Windows
Modifications d’un OS existant pour lui
signaler qu’il s’exécute dans une MV
Améliorations Longhorn
Optimisations dans le MM (memory
manager)
API Win32 et noyau : suis-je au sein d’une
machine virtuelle ?
Autres améliorations dans le futur
65
En guise de conclusion
Systèmes dignes de confiance
Sécurité
Respect
CONFIANCE
de la vie
privée
Fiabilité
67
Le hardware sécurisant le
software
Chaine de confiance
Applications
DRM/Chiffrement
Identité
Système d’exploitation
Virtualisation / Hyperviseur
Hardware digne de confiance
68
Planning des produits de la
famille NGSCB
Racine de Isolation
Isolation de confiance Verrouillage MLS
l’Internet administrateur distribuée
sécurisée
Assurance
Unity
Red/Green
Typhon
Démarrage sécurisé FVE
Red/Green avec Longhorn
RG1
69
Questions ?
70
Microsoft France
18, avenue du Québec
91 957 Courtaboeuf Cedex
[Link]/france
0 825 827 829
msfrance@[Link]
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. © 2004 Microsoft Corporation. All rights reserved.
71