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

wip: proof reading chap 2

parent e8d8241d
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment