From 95edad26162116f4aa84e56dccfdf12d4cf14efc Mon Sep 17 00:00:00 2001 From: "iliya.saroukha" <iliya.saroukhanian@etu.hesge.ch> Date: Fri, 28 Mar 2025 16:54:00 +0100 Subject: [PATCH] wip: proof reading chap 2 --- thesis/chapters/chap2.tex | 57 ++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/thesis/chapters/chap2.tex b/thesis/chapters/chap2.tex index d70453b..362f442 100644 --- a/thesis/chapters/chap2.tex +++ b/thesis/chapters/chap2.tex @@ -42,26 +42,23 @@ Ayant posé les bases fondamentales de la virtualisation de plateforme, dans ce chapitre nous débuterons par aborder de manière plus détaillée la notion -d'hyperviseur, de son intéraction avec l'hôte et les \acrshort{vm}s sous sa -supervision. - -Dans un second temps, nous introduirons le concept d'utilisation d'hyperviseurs -en guise d'outil offensif, appelé \acrshort{vmbr} ou \acrshort{hvm} \textit{rootkit} -dans la sphère de la sécurité informatique. Afin de dresser l'état de l'art -de ce type d'attaque, nous recenserons quelques implémentations existantes en -expliquant leurs fonctionnements et différences respectives. +d'hyperviseur et de ses divers types. Dans un second temps, nous introduirons +le concept d'utilisation d'hyperviseurs en guise d'outil offensif, appelé +\acrshort{vmbr} ou \acrshort{hvm} \textit{rootkit}. Finalement, nous dresserons +l'état de l'art de ce type d'attaque en expliquant leur fonctionnement et +leurs différences respectives. \section{Hyperviseur}\label{sec:hyperviseur} % (fold) Tout au long du Chapitre~\ref{chap:la_virtualisation_les_fondements_et_techniques}, -les termes d'hyperviseur ou \acrshort{vmm} ont été passablement utilisés sans -avoir été pour autant définis de manière exhaustive. Un hyperviseur, au sens -de la virtualisation, est un logiciel permettant \textbf{l'instanciation} et -\textbf{gestion} d'environnements virtuels en leur attribuant des ressources -computationnelles mises à disposition par l'hôte. Dans sa thèse de 1973 -intitulée \textit{\say{Advanced Principles for Virtual Computer Systems}}, -Robert P. Goldberg propose de distinguer les hyperviseurs en deux types -distincts : +les termes \say{hyperviseur} et \say{\acrshort{vmm}} ont été passablement +utilisés sans avoir été définis de manière exhaustive. Un hyperviseur, dans le +contexte de la virtualisation de plateforme, est un logiciel permettant +\textbf{l'instanciation} et \textbf{gestion} d'environnements virtuels en leur +attribuant des ressources computationnelles mises à disposition par l'hôte. +Dans sa thèse de 1973 intitulée \textit{\say{Advanced Principles for Virtual +Computer Systems}} \cite{goldberg_architectural_1973}, Robert P. Goldberg +propose de distinguer les hyperviseurs en deux types distincts : \begin{itemize} \item \textbf{Type 1}, appelé aussi natif ou \textit{bare-metal} @@ -81,12 +78,12 @@ distincts : \begin{itemize} \item Un hyperviseur de type 2, à l'inverse d'un type 1, est hébergé par le système d'exploitation natif de la machine. Ce \acrshort{vmm} - se concretise sous forme de processus régis par l'\acrshort{os}, - cependant il partage le même niveau de privilège que le noyau, - notamment afin d'accéder au \acrshort{cpu} pour virtualiser - celui-ci entre plusieurs \acrshort{vm}s. \acrshort{kvm} ainsi - que VirtualBox de Oracle sont des exemples d'hyperviseurs - de type 2. + se concrétise sous forme de sous-système du noyau régis par + l'\acrshort{os}, il partage, de ce fait, le même niveau de + privilège que le noyau. Ceci est nécessaire notamment afin + d'accéder au \acrshort{cpu} pour virtualiser celui-ci entre + plusieurs \acrshort{vm}s. \acrshort{kvm} ainsi que VirtualBox + de Oracle sont des exemples d'hyperviseurs de type 2. \end{itemize} \end{itemize} @@ -117,12 +114,10 @@ système inefficaces. Selon la définition du \acrshort{nist} \cite{editor_rootkit_nodate}, un \textit{rootkit}\footnote{Logiciel malveillant furtif} est un ensemble d'outils permettant à un attaquant, après l'obtention d'un accès privilégié -(i.e. \textit{root}) sur le système ciblé, de conserver cet accès, effectuer de +(c-à-d. \textit{root}) sur le système ciblé, de conserver cet accès, effectuer de la surveillance ainsi que d'exfiltrer des données sensibles tout en restant -invisible du point de vue de la victime. - -Divers types de \textit{rootkit}s existent cependant ceux-ci peuvent être -regrouper en deux grandes familles : +invisible du point de vue de la victime. Divers types de \textit{rootkit}s +existent cependant ceux-ci peuvent être regrouper en deux grandes familles : \begin{itemize} \item \textit{User mode} @@ -145,7 +140,7 @@ regrouper en deux grandes familles : plus néfastes du fait qu'il s'exécute avec le même niveau de privilège que le noyau du système d'exploitation. Ceci sont souvent élaborés sous forme de pilotes malveillants (Windows) - ou bien de module noyau (GNU/Linux). Ce type de logiciels + ou bien de modules noyau (GNU/Linux). Ce type de logiciels malveillants s'exécutant au niveau du noyau peuvent avoir un accès sans restriction à la mémoire utilisées par des processus en mode utilisateur, modifier la table des appels systèmes afin @@ -159,7 +154,7 @@ regrouper en deux grandes familles : \section{État de l'art} Au tournant des années 2000, une approche avant-gardiste d'implémentation de -\textit{rootkits}s a émergé. Celle-ci se base sur l'utilisation d'un hyperviseur +\textit{rootkit}s a émergé. Celle-ci se base sur l'utilisation d'un hyperviseur dans le but de \textbf{subvertir} l'\acrshort{os} hôte du système. De ce fait, le système d'exploitation \say{natif} se retrouvait cantonner dans une machine virtuelle et par conséquent se voyait retirer son niveau de privilège maximale @@ -186,12 +181,12 @@ exécutant Windows XP comme \acrshort{os} natif. Pour cet hôte, ils installent l'état du \acrshort{vmbr} au début de la première partition utilisée et relogent les données contenus à cet endroit vers d'autres blocs inutilisés sur le disque. L'étape suivante du virus consiste à modifier la séquence de démarrage du -système hôte. Les auteurs du papier mettent en avant le fait que les anti-virus, +système hôte. Les auteurs du papier mettent en avant le fait que les antivirus, même ceux de l'époque, peuvent détecter des modifications effectuées au \acrshort{mbr} \footnote{Enregistrement d'amorçage maître}. Afin de ne pas être détecté par ces logiciels préventifs, la manipulation des blocs liés à la zone d'amorçage se fait lors des ultimes phases de l'extinction du système -lorsque la majorité des sous-systèmes du noyau, notamment les anti-virus, ont +lorsque la majorité des sous-systèmes du noyau, notamment les antivirus, ont terminé leur exécution. Toujours dans le cas de Windows XP, dans leur \say{module noyau} les auteurs enregistrent une routine de gestion d'événements du nom de \verb|LastChanceShutdownNotification|. Lorsque celle-ci est appelée -- GitLab