2. Isolation des processus
Dans Windows XP, si on est propriétaire d'un fichier, on peut
faire ce que l'on veut dessus même si l'on est pas administrateur de la machine.
C'est pourquoi, Windows Vista intègre un contrôle d'intégrité. Ce système de
contrôle d'intégrité permet de faire une isolation au niveau des différentes couches
d'intégrités. Ainsi, pour pouvoir communiquer avec des processus, il faut être au même niveau
d'intégrité. Vous pouvez voir sur le schéma ci-dessous,
présenté lors des Journées Microsoft de la Sécurité et refait pour des raisons de lisibilité, les différentes couches disponible.

Dans Windows Vista, les processus, les threads, etc, auront
un niveau d'intégrité spécifique. Par exemple, le mode protégé d'Internet Explorer 7. Si
vous lancez IE7 sur Windows Vista, vous aurez deux processus : IEUser qui possédera
un niveau d'intégrité moyen (utilisateur) car il va permettre
l'accès aux favoris ou
encore aux préférences de l'utilisateur, tandis que le processus IExplore servant à afficher les pages
web, télécharger le contenu, lui va s'exécuter avec un niveau d'intégrité bas
(limité). De cette manière, on limite les risques d'attaque provenant des
fichiers téléchargés ou des ActiveX dans les pages web puisque le processus
s'occupant de toutes ces fonctions s'exécute avec le niveau d'intégrité le plus
bas évitant toutes modifications des processus ayant une intégrité
supérieure.
|
Lorsque l'on regarde au niveau des jetons contenant
les privilèges, on constate la présence de deux niveaux d'intégrité.
Nous avons en fait un niveau d'intégrité pour tout ce qui concerne
processus ou encore les attaques de type injection de DLL, tandis que
nous avons un autre niveau d'intégrité pour toutes les attaques de type
Shatter, attaques utilisant la communication des fenêtres Windows. En
effet, sous Windows, les fenêtres graphiques peuvent communiquer afin
d'envoyer des messages entre elles, comme par exemple des lettres dans
le cas du clavier visuel.
Ce contrôle d'intégrité permet d'isoler les fenêtres
de différent niveau d'intégrité. Lors de la session, nous avons un
exemple avec le clavier visuel des options d'accessibilités. Ce clavier
permet d'envoyer des caractères via la souris dans une fenêtre du bureau
Windows, comme notepad par exemple. Lorsqu'on lance ces deux
applications avec notre niveau d'intégrité, c'est à dire en tant
qu'utilisateur standard, l'interaction est possible, et le clavier
visuel arrive parfaitement à écrire dans notepad. Par contre, si on
lance notepad en tant qu'administrateur et le clavier visuel en tant
qu'utilisateur standard, l'interaction n'est plus possible, et notre
notepad reste vierge. |
 |
Nous vous avions parlé des jetons restreint et administrateur
dans le chapitre précédent. Chacun de ces jetons possède le même SID utilisateur
plus, un SID de type S-1-5-40-xXx où xXx représente le
niveau d'intégrité afin de les isoler. C'est donc grâce à ces niveaux
d'intégrité obligatoire et inchangeable durant leur durée de vie que va se baser
toute la partie contrôle d'intégrité. Lors de chaque appel d'objet par un
processus, il y a vérification du contrôle d'intégrité
Il faut savoir que les processus Utilisateur / LUA ne peuvent
pas modifier les processus s'exécutant dans un niveau d'intégrité supérieur,
comme par exemple Admin. Par contre, ils peuvent lire les informations
appartenant aux processus Administrateur puisque le but est de protéger les
processus au niveau de la modification. On vient de le voir avec UIPI, les
processus ayant un niveau d'intégrité LUA ne pourront pas communiquer, envoyer des
messages, avec les fenêtres graphiques de Windows qui ont un niveau d'intégrité
plus haut.
Sommaire
1. User Access Control
1.1 Pourquoi UAC
1.2 Elévation de privilège
1.3 Comment ca marche ?
1.4 La clef de la compatibilité grâce à la virtualisation
1.5 LUA Predictor
2. Contrôle d'intégrité
2.1 Contrôle d'intégrité obligatoire (MIC)
2.2 Isolation des privilèges au niveau de l'interface graphique (UIPI)
2.3 En résumé
Conclusion
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|