Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
hypervisor rootkit
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
flg_bachelors
TS
2024
hypervisor rootkit
Commits
95edad26
Verified
Commit
95edad26
authored
3 months ago
by
iliya.saroukha
Browse files
Options
Downloads
Patches
Plain Diff
wip: proof reading chap 2
parent
e8d8241d
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
thesis/chapters/chap2.tex
+26
-31
26 additions, 31 deletions
thesis/chapters/chap2.tex
with
26 additions
and
31 deletions
thesis/chapters/chap2.tex
+
26
−
31
View file @
95edad26
...
...
@@ -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 concr
e
tise 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 module
s
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
{
rootkit
s
}
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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment