Laureline's Wiki

Laureline's Wiki

Concepts de Base

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 machine
  • HKEY_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.