Skip to content
Snippets Groups Projects
Verified Commit 2c59d5cd authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

fix: slight adjustments

parent c058f2ca
Branches
No related tags found
No related merge requests found
...@@ -102,10 +102,10 @@ le **noyau de l'OS** ...@@ -102,10 +102,10 @@ le **noyau de l'OS**
- _Hijacking_ complet du système possible - _Hijacking_ complet du système possible
- Bras de fer entre les outils de détection (kernel mode) et le _malware_ - Bras de fer entre les outils de détection (kernel mode) et le _malware_
- Invisibilité pas forcément garantie ! - Invisibilité pas forcément garantie !
- Offre une nouvelle opportunité, un **changement de paradigme** - _Hypervisor as a rootkit_ $\rightarrow$ un **changement de paradigme**
- Insertion \textcolor{red}{entre} le **noyau de l'OS** et le **matériel** - Insertion \textcolor{red}{entre} le **noyau de l'OS** et le **matériel**
- \textcolor{red}{Ring -1} effectif - \textcolor{purple}{Ring -1} effectif
- Détection plus complexe - Détection plus **complexe**
- le _malware_ et l'OS \textcolor{red}{ne sont plus} - le _malware_ et l'OS \textcolor{red}{ne sont plus}
sur le **même pied d'égalité** sur le **même pied d'égalité**
::: :::
...@@ -151,16 +151,16 @@ redémarrage du système, est simplement chargé en tant que pilote Windows (`.s ...@@ -151,16 +151,16 @@ redémarrage du système, est simplement chargé en tant que pilote Windows (`.s
## Hyperviseur sous forme de module noyau chargeable ## Hyperviseur sous forme de module noyau chargeable
::: {.incremental} ::: {.incremental}
- Concerne l'architecture x86 pour Intel VT-x - Concerne **l'architecture x86** pour **Intel VT-x**
- Détection du CPU et de ses capacités pour la virtualisation (_support for VMX_) - Détection du CPU et de ses capacités pour la virtualisation (_support for VMX_)
- Appel à `cpuid` avec `eax = 1` (bit 5 _set_ de `ecx`) - Appel à **`cpuid`** avec `eax = 1` (bit 5 _set_ de `ecx`)
- Vérification du _"feature control"_ MSR (_"model specific register"_) pour - Vérification du **_"feature control"_** MSR (_"model specific register"_) pour
déterminer si la virtualisation n'a pas été désactivée depuis le BIOS. déterminer si la virtualisation n'a **pas été désactivée depuis le BIOS**
- Initialisation de la région **VMXON** associée à une future VM - Initialisation de la région **VMXON** associée à une future VM
- Vérification des valeurs dans les registres de contrôle **CR0** et **CR4** - Vérification des valeurs dans les registres de contrôle **CR0** et **CR4**
- Activation de **VMX** à travers le **bit 13** du registre **CR4** - Activation de **VMX** à travers le **bit 13** du registre **CR4**
- Exécution de l'instruction **`vmxon`** avec comme opérande l'adresse de la - Exécution de l'instruction **`vmxon`** avec comme opérande **l'adresse physique**
région allouée et initialisée de la région allouée et initialisée
::: :::
## Anatomie d'un _world-switch_ ## Anatomie d'un _world-switch_
...@@ -168,7 +168,7 @@ région allouée et initialisée ...@@ -168,7 +168,7 @@ région allouée et initialisée
::: {.incremental} ::: {.incremental}
- Chaque CPU possèdent une région **VMCS** (_"Virtual Machine Control Structure"_) - Chaque CPU possèdent une région **VMCS** (_"Virtual Machine Control Structure"_)
- Semblable en tout genre à la région **VMXON** - Semblable en tout genre à la région **VMXON**
- Est utilisé pour sauvegarder l'état du CPU ou vCPU à chaque _world-switch_ - Est utilisé pour sauvegarder l'état du CPU à chaque _world-switch_
- VMEntry $\rightarrow$ état du CPU en mode \textcolor{red}{root} - VMEntry $\rightarrow$ état du CPU en mode \textcolor{red}{root}
- VMExit $\rightarrow$ état du CPU en mode \textcolor{teal}{non-root} - VMExit $\rightarrow$ état du CPU en mode \textcolor{teal}{non-root}
::: :::
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment