BitLocker - Sstic
BitLocker - Sstic
BitLocker - Sstic
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
8 <strong>BitLocker</strong><br />
3 Architecture de <strong>BitLocker</strong><br />
Cette partie décrit l’intégration de <strong>BitLocker</strong> au sein d’un système et l’architecture<br />
des divers composants. S’il existe de nombreux articles de Microsoft sur ce sujet,<br />
le document [17] (partie Full volume encryption) présente une vision complète et<br />
technique sur le sujet.<br />
3.1 Intégration au sein du système d’exploitation<br />
Sous Windows, toute la gestion des périphériques (dont les disques) est sous la<br />
responsabilité du gestionnaire d’entrées/sorties du noyau (IO manager) qui s’appuie<br />
sur des pilotes (drivers) pour la gestion de périphériques (devices). Lorsque qu’un<br />
pilote détecte un périphérique qu’il prend en charge, il crée généralement un objet<br />
noyau nommé de type Device dans l’espace des objets du noyau (par convention dans<br />
le chemin \Device\).<br />
Les volumes de disques sont gérés par le gestionnaire de volumes (volmgr). Lors<br />
du démarrage du système, celui-ci crée pour chaque partition reconnue un volume<br />
représenté par un objet Device nommé HarddiskVolumeX (où X commence à 1).<br />
Ces objets étant créés dans le répertoire \Device\ de l’espace des objets du noyau<br />
et ne sont, théoriquement, accessibles qu’au noyau. Afin de les rendre accessibles<br />
aux applications en espace utilisateur, des liens symboliques sont créés dans l’espace<br />
\GLOBAL??\. Les volumes sont alors accessibles au moyen d’une lettre de lecteur (par<br />
exemple le lien \GLOBAL??\C: redirige vers \Device\HarddiskVolume2).<br />
Sur un système avec trois partitions (démarrage, système et données) l’organisation<br />
est la suivante : le pilote (DRV) volmgr créé trois périphériques (DEV), un pour<br />
chaque partition, auxquels s’ajoute un périphérique destiné à la gestion des partitions<br />
(VolMgrControl). L’organisation hiérarchique est la suivante :<br />
DRV - \Driver\volmgr<br />
DEV - \Device\HarddiskVolume3<br />
DEV - \Device\HarddiskVolume2<br />
DEV - \Device\HarddiskVolume1<br />
DEV - \Device\VolMgrControl<br />
Le composant noyau principal de <strong>BitLocker</strong> est un pilote de périphérique dénommé<br />
fvevol.sys. Ce pilote est de type filter driver [5] [6]. Ce type de pilote vient se<br />
positionner ¡¡ au-dessus ¿¿ d’un périphérique ce qui lui permet d’intercepter toutes les<br />
demandes adressées au périphérique inférieur (ouverture, fermeture, lecture, écriture<br />
et IOControls). Il est d’ailleurs possible d’avoir plusieurs filter drivers chaînés en<br />
série au-dessus d’un même périphérique, chacun interceptant séquentiellement les<br />
demandes.