You are here: Links of Interest » HEIG-VD » [SOS] Sécurité des OS » Sécurité Windows » Concepts de Base
Concepts de Base
Table of Contents
Concepts de Base
0.1.1 Versions de Windows
Nom Marketing | N° de Version | Date de Sortie |
---|---|---|
Windows 2000 | 5.0 | 12/1999 |
Winows XP | 5.1 | 06/2001 |
Windows Vista | 6.0 | 01/2007 |
Windows 7 | 6.1 | 10/2009 |
Windows 8 | 6.2 | 10/2012 |
Windows 8.1 | 6.3 | 10/2013 |
Windows 10 | 10.0 | 06/2015 |
0.1.2 API & .net
- Windows API
- Permet aux applications l'accès aux fonctions de l'OS.
- Est dépendant de l'architecture.
- Manipules les objets Systèmes
- Fournit des fonctions de sécurité de bas niveau
- Framework .net
- Système de haut niveaux
- Fournit le CLR permettant d'executer du bytecode
- Permet des appels au objets COM
- Abstrait Windows API
0.1.3 Processus
Caractéristiques d'un Process
- ProcessID: identifiant unique du processus
- Parent
- Threads
- VAD: Informations de mapping mémoire
- Handles: Objets utilisés par ce processus
- Access Token: Contexte de sécurité, droits et privilèges
0.1.4 Threads
Caractéristiques d'un Thread
- ThreadID: identifiant unique du thread, indépendant du processus contenant
- Etat CPU: Sauvegade du contenu des registres (si le thread est interrompu)
- Piles d'execution: Contient 2 piles (user mode, kernel mode)
- TLS: Espace de stockage réservé au thread
- Access Token: Contexte de sécurité propre, utilise celui du procéssus par défaut mais peut être modifié pour faire de l'impersonation.
0.1.5 Mémoire Virtuelle
Vu en cours de SYE
Système permettant de fournir au procéssus un espace d'adressage isolé de celui des autres processus.
0.1.6 Kernel mode v. User mode
Vu en cours de SYE
Permet à l'OS de se protéger contre les applications. Les applications executés en User mode n'ont pas accès à l'espace mémoire du noyau. Une application doit effectuer un syscall pour changer vers le Kernel Mode.
Le code en mode kernel à lui accès à toute la mémoire spécifique au système d'exploitation ET celui de l'application appelante. Et possède un accès complet au instructions CPU.
0.1.7 Sessions
Ne pas confondre les Sessions avec les Logon Sessions qui fournissent un contexte de sécurité.
Une session est un ensemble de processus et objets liés à un compte actif et/ou une machine. Il existe plusieurs Sessions sur une machine.
- Session 0: Services systèmes
- Session 1: Console Locale (physique)
- Session 2: Consoles Distantes (Terminal Server)
Chaque session contient une ou plusieurs Stations.
- WinSta0 pour les interations utilisateurs
- Services-* pour les services systèmes
Chaque session contient aussi plusieurs Processus.
0.1.8 Objets & Handles
Le noyau windows expose un interface vers ses ressources internes sous la forme d'Objets. Chaque type d'objet expose plusieurs méthodes permettant d'iteragir avec lui. Cette interaction s'effectue au travers de l'API Windows ce qui permet au noyau d'effectuer un contrôle d'accès et un audit sur les interactions avec le objets.
Lorsqu'un processus demande à accéder à un objet, le noyau lui retourne un Handle. Une handle est une référence vers une instance d'un objet spécifique qui permet au proessus d'interagir avec cet objet.
0.1.9 Registre
Le Registre est la base de données du système d'exploitation. Il contient notamment:
- Les options de boot
- La configuration du système
- Les paramètres de sécurité
- Les paramètres spécifique à l'utilisateur en cours
Le registre est organisé sous la forme d'une structure en arbre qui est composé de deux parties importantes:
HKEY_LOCAL_MACHINE
(HKLM
) contient la configuration spécifique à la machineHKEY_CURRENT_USER
(HKCU
) contient la configuration spécifique é l'utilisateur
Chaque noeud dans l'arbre du registre est un Objet et possèdes des autorisations d'accès.