Cours Sécurité Informatique Et Cryptographie
Cours Sécurité Informatique Et Cryptographie
Cryptographiques
Option: ASR
M.NJOUNY Berthony
PLAN DU COURS
2
Première partie : Sécurité Informatique
3
Introduction
L’univers des systèmes d’information composé de réseaux et de systèmes informatiques prend un rôle et une place
chaque jour plus important dans les entreprises.
Cependant, l’actualité présentée par les médias nous démontre que le système d’information est vulnérable et qu’il
peut subir des piratages, des attaques (virus, hackers…), des pertes de données, des sinistres. Il est donc
indispensable pour les entreprises de savoir définir et de garantir la sécurité de ses ressources informatiques.
La sécurité des systèmes est un moyen de protéger dans un sens large le système d’information ou de minimiser les
risques encourus par l’entreprise dans l’usage de l’outil informatique.
Première partie : Sécurité Informatique
4
Introduction
Les nécessités de sécuriser son système d’information
Certains facteurs peuvent apparaître de l’ordre de l’évidence comme la nécessité de protéger une partie
opérationnelle de l’entreprise. Toutefois, l’ensemble des menaces n’est pourtant pas toujours bien identifié.
Par contre, d’autres sont souvent méconnues comme les obligations et responsabilités légales des dirigeants
d’entreprise dans l’exploitation et la maîtrise de leur système d’information.
Ces exigences impliquent la mise en place d’une protection des systèmes sous la forme d’une politique de sécurité
avec :
● l’élaboration de règles et procédures,
● la définition des actions à entreprendre et des personnes responsables,
● la détermination du périmètre concerné.
Première partie : Sécurité Informatique
5
Introduction
Ce périmètre comprend à la fois les données aussi bien sous forme électronique que papier (fichiers, messages…),
les transactions dans les réseaux, les applications logicielles et bases de données. Il ne faut pas oublier l’aspect
continuité des services du traitement de l’information et les plans de reprise d’activité après sinistre.
Première partie : Sécurité Informatique
6
Introduction
La sécurité informatique s'intéresse à la protection contre les risques liés à l'informatique ; elle doit prendre en
compte :
les éléments à protéger : matériels, données, utilisateurs ;
leur vulnérabilité ;
leur sensibilité : quantité de travail impliqué, confidentialité…
les menaces qui pèsent sur eux
les moyens d'y faire face (préventifs et curatifs) : complexité de mise en œuvre, coût
Des informations méthodologiques sur le principe d’évaluation peuvent être trouvées dans la norme ISO 13335,
(chapitre La sécurité dans l’entreprise Les systèmes et Le plan de secours informatique)
Le processus d’évaluation consiste à effectuer l’analyse et l’interprétation du risque et comprend trois activités de base :
● Détermination de la méthodologie et le périmètre d’évaluation.
● Collecte et analyse des données.
● Interprétation des résultats d’analyse de risques.
À partir de ces éléments, les personnels responsables de l’infrastructure informés du contexte établissent les protections à mettre
en place.
Première partie : Sécurité Informatique
Chapitre 1:Généralités sur la sécurité informatique
29
1.2.2 Gestion des risques informatiques
I.2.2.2 L’évaluation du risques
Établissement de la valeur des actifs
Cette démarche comprend l’inventaire des actifs concernés susceptibles d’être affectés par les menaces (les matériels, les logiciels
et support associés, les licences…).
● Les matériels : serveurs, stations de travail, ordinateurs personnels, imprimantes, unités de stockage, lignes de communication,
routeurs, parefeu, passerelles de réseau…
● Les logiciels : systèmes d’exploitation, programmes applicatifs et de diagnostic, les logiciels de parefeu, les outils logiciels…
● Les données : stockées en ligne ou archivées, les sauvegardes, les bases de données, les journaux d’erreurs et les rapports de
supervision, en transit sur les supports de communication, toutes celles qui sont en cours de traitement à tout instant dans
l’entreprise.
● Les programmes et procédures.
Première partie : Sécurité Informatique
Chapitre 1:Généralités sur la sécurité informatique
30
1.2.2 Gestion des risques informatiques
I.2.2.2 L’évaluation du risques
Les programmes malveillants ont été développés pour de nombreux systèmes d'exploitation et applications. Pourtant, certains
d'entre eux n'ont jamais été concernés. En effet, les auteurs de virus privilégient les systèmes d'exploitation largement utilisés ; les
systèmes comportant des vulnérabilités ; et ceux pour lesquels une documentation détaillée est disponible (puisqu'elle inclut des
descriptions des services et des règles en vigueur pour écrire des programmes compatibles). Le volume de logiciels malveillants
destinés à Windows et Linux est à peu près proportionnel à leurs parts de marché respectives.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
107
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Un virus informatique est un automate auto réplicatif à la base non malveillant, mais aujourd'hui souvent additionné de code
malveillant (donc classifié comme logiciel malveillant) conçu pour se propager à d'autres ordinateurs en s'insérant dans des
logiciels légitimes, appelés « hôtes ». Il peut perturber plus ou moins gravement le fonctionnement de l'ordinateur infecté.
Il peut se répandre par tout moyen d'échange de données numériques comme les réseaux informatiques et le CD-ROM, les clefs
USB, les disques durs, etc.
Tout comme le virus biologique, le virus informatique poursuit 3 objectifs :
se dissimuler le plus longtemps possible aux yeux de l’utilisateur infecté ;
Il contamine tout ce qui est à sa portée ;
Il tente de se répandre, sans se cantonner au support sur lequel il se trouve.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
108
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Sur Internet, les virus peuvent contaminer une machine de plusieurs manières :
Téléchargement de logiciel puis exécution de celui-ci sans précautions ;
Ouverture sans précautions de documents contenant des macros ;
Pièce jointe de courrier électronique (exécutable, script type vbs…) ;
Ouverture d’un courrier au format HTML contenant du javascript exploitant une faille de sécurité du logiciel de courrier;
Exploitation d’un bug du logiciel de courrier (effectuer souvent les mises à jour).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
109
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
L’appellation « virus informatique » provient d'une analogie avec le virus biologique puisqu'il présente des similitudes dans sa
manière de se propager en utilisant les facultés de reproduction de la cellule hôte. On attribue le terme à l'informaticien et
spécialiste en biologie moléculaire Leonard Adleman. Les virus informatiques ne doivent pas être confondus avec les vers
informatiques, qui sont des programmes capables de se propager et de se dupliquer par leurs propres moyens sans contaminer de
programme hôte. Au sens large, on utilise souvent et busivement le mot virus pour désigner toute forme de logiciel malveillant.
Voici les quelques virus les plus célèbres du monde informatique :
--Cabir est considéré comme le tout premier virus informatique proof of concept recensé se propageant par la téléphonie mobile
grâce à la technologie Bluetooth et du système d'exploitation Symbian OS.
--MyDoom.A est un virus informatique qui se propage par les courriels et le service P2P de Kazaa. Les premières infections ont eu
lieu le 26 janvier 2004.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
110
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Psybot est un virus informatique découvert en janvier 2009. Il est considéré comme étant le seul virus informatique ayant la
capacité d'infecter les routeurs et modem haut-débit.
--Le virus Tchernobyl ou CIH est connu pour avoir été un des plus destructeurs. Il détruisait l'ensemble des informations du
système attaqué et parfois il rendait la machine quasiment inutilisable. Il a sévi de 1998 à 2002.
--Le ver Conficker exploite une faille du Windows Server Service utilisé par Windows 2000, Windows XP, Windows Vista,
Windows 7, Windows Server 2003 et Windows Server 2008.
--Cryptolocker est un logiciel malveillant dont la présence sur le web a augmenté de 700 % entre 2012 et 2014. Selon les calculs
du FBI en juin 2014, il a causé pour 27 millions de dollars de pertes aux utilisateurs. Sous couvert d'une mise à jour Adobe Flash,
le logiciel malveillant chiffre les fichiers des victimes et exige un paiement (pouvant aller de 100 dollars à 400 dollars) pour les
décrypter2.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
111
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Zeus Bot est responsable d'environ 4 millions d'infections rien qu'aux États-Unis. Il a provoqué pour 70 millions de dollars de
pertes pour les entreprises et consommateursb américains avant d'être démantelé par le FBI début 2014. Il exploite les
vulnérabilités présentes dans Adobe Reader et Adobe Flash pour infecter les machines
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
112
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
CARACTERISTIQUES DES VIRUS
--le chiffrement - à chaque réplication, le virus est chiffré (afin de dissimuler les instructions qui, si elles s'y trouvaient en clair,
révéleraient la présence de ce virus ou pourraient indiquer la présence de code suspect) ;
--le polymorphisme - le virus est chiffré et la routine de déchiffrement est capable de changer certaines de ses instructions au fil
des réplications afin de rendre plus difficile la détection par l'antivirus ;
--le métamorphisme - contrairement au chiffrement simple et au polymorphisme, où le corps du virus ne change pas et est
simplement chiffré, le métamorphisme permet au virus de modifier sa structure même et les instructions qui le composent ;
--la furtivité - le virus « trompe » le système d'exploitation (et par conséquent les logiciels antivirus) sur l'état des fichiers
infectés. Des rootkits permettent de créer de tels virus. Par exemple, l'exploitation d'une faille de sécurité au niveau des répertoires
permet de masquer l'existence de certains fichiers exécutables ainsi que les processus qui leur sont associés.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
113
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
CLASSIFICATION DES VIRUS
Il n’existe pas de classification stricte des virus. Cependant on peut en retenir 4 grandes classifications :
Classification selon le format visé (exécutable ou documents) ;
Classification selon leur comportement (rapide, lent, résident, polymorphe…)
Classification selon l’organe visé (boot sector, driver…) ;
Classification selon le langage utilisé (virus assembleur, macrovirus, virus interprété…).
C’est grâce à cette classification que nous pouvons maintenant en mesure de
distinguer les différents types de virus qui existent :
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
114
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Le virus classique - est un morceau de programme, souvent écrit en assembleur, qui s'intègre dans un programme normal (le
Cheval de Troie), le plus souvent à la fin, mais cela peut varier. Chaque fois que l'utilisateur exécute ce programme « infecté », il
active le virus qui en profite pour aller s'intégrer dans d'autres programmes exécutables. De plus, lorsqu’il contient une charge
utile, il peut, après un certain temps (qui peut être très long) ou un événement particulier, exécuter une action prédéterminée. Cette
action peut aller d’un simple message anodin à la détérioration de certaines fonctions du système d'exploitation ou la détérioration
de certains fichiers ou même la destruction complète de toutes les données de l'ordinateur. On parle dans ce cas de « bombe
logique » et de « charge utile ».
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
115
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Un virus de boot - s'installe dans un des secteurs de boot d'un périphérique de démarrage, disque dur (le secteur de boot
principal, le « Master boot record », ou celui d'une partition), disquette, ou autre. Il remplace un chargeur d'amorçage (ou
programme de démarrage ou « bootloader ») existant (en copiant l'original ailleurs) ou en crée un (sur un disque où il n’y en avait
pas) mais ne modifie pas un programme comme un virus normal ; quand il remplace un programme de démarrage existant, il agit
un peu comme un virus « prepender » (qui s'insère au début), mais le fait d'infecter aussi un périphérique vierge de tout logiciel de
démarrage le distingue du virus classique, qui ne s'attaque jamais à « rien ».
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
116
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les macro virus - qui s'attaquent aux macros de logiciels de la suite Microsoft Office (Word, Excel, etc.) grâce au VBA de
Microsoft. Par exemple, en s'intégrant dans le modèle normal.dot de Word, un virus peut être activé à chaque fois que l'utilisateur
lance ce programme.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
117
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus-vers - apparus aux environs de l'année 2003, ayant connu un développement fulgurant dans les années qui suivirent,
sont des virus classiques car ils ont un programme hôte. Mais s'apparentent aux vers (en anglais « worm ») car : Leur mode de
propagation est lié au réseau, comme des vers, en général via l'exploitation de failles de sécurité. Comme des vers, leur action se
veut discrète, et non destructrice pour les utilisateurs de la machine infectée. Comme des vers, ils poursuivent des buts à visée
large, tels que l'attaque par saturation des ressources ou attaque DoS (Denial of Service) d'un serveur par des milliers de machines
infectées se connectant simultanément.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
118
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus de type batch - apparu à l'époque où MS-DOS était le système d'exploitation en vogue, sont des virus « primitifs ».
Bien que capables de se reproduire et d'infecter d'autres fichiers batch, ils sont lents et ont un pouvoir infectant très faible. Certains
programmeurs ont été jusqu'à créer des virus batch cryptés et polymorphes, ce qui peut être qualifié de « prouesse technique » tant
le langage batch est simple et primitif.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
119
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus résidents - Ils se placent en mémoire RAM et contaminent les fichiers au fur et à mesure de leurs exécutions. Ils
peuvent par exemple prendre la forme de fichier pilote de Windows (.vxd). Ils sont alors chargés dès le démarrage du système,
avant le chargement de l’antivirus.
--Les virus lents - A la différence d’un virus rapide qui infecte les fichiers dès qu’ils sont manipulés par le système, les virus lents
n’infectent les fichiers qu’en cas de modification, ce qui rend leur détection plus subtile.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
120
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus furtifs - Un virus furtif est un virus qui, lorsqu'il est actif, dissimule les modifications apportées aux fichiers ou aux
secteurs de boot. En règle générale, ce phénomène est rendu possible par le virus qui observe les appels aux fonctions de lecture
des fichiers et falsifie les résultats renvoyés par ces fonctions. Cette méthode permet au virus de ne pas être détecté par les
utilitaires anti-virus qui recherchent des modifications éventuelles apportées aux fichiers. Néanmoins, pour que cela soit possible,
le virus doit être actif en mémoire résidente, ce qui est détectable par les anti-virus.
--Les virus polymorphes - Un virus polymorphe est un virus qui produit des copies variées de lui-même, mais qui restent
opérationnelles. Ces stratégies ont été employées dans l'espoir que les utilitaires anti-virus ne puissent pas détecter toutes les
variantes du virus.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
121
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus « cavité » - Les virus cavités sont des virus qui écrasent une partie du fichier hôte qui est constitué d'une constante (en
général, des 0) sans augmenter la taille du fichier et tout en préservant sa fonctionnalité.
Les virus compagnons - Un virus compagnon est un virus qui, au lieu de modifier un fichier existant, crée un nouveau programme
qui est exécuté à l'insu de l'utilisateur au lieu du programme voulu. Le programme original est ensuite exécuté de telle sorte que
tout apparaît normal à l'utilisateur. Sur un PC, ceci est généralement accompli en créant un nouveau fichier .COM portant le même
nom que le fichier .EXE. Les anti-virus qui ne cherchent que les modifications apportées aux fichiers existants (vérificateurs
d'intégrité) ne détecteront pas ce type de virus.
--Les virus blindés - Un virus blindé est un virus qui utilise des astuces spéciales pour que son dépistage, son désassemblage et la
compréhension de son code soient plus durs. Ils utilisent certaines ruses techniques pour mieux résister au désassemblage et à la
détection et rendre leur fonctionnement quasiment incompréhensible.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
122
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les virus souterrains - Les virus souterrains sont des virus qui appellent directement les vecteurs d'interruption du DOS et du
BIOS, contournant ainsi tout programme de contrôle qui pourrait être chargé et avoir intercepté ces mêmes vecteurs dans le but de
détecter l'activité d'un virus. Certains anti-virus utilisent cette même technique pour contourner un virus inconnu ou non détecté.
--Les virus compte-gouttes - Un virus compte-gouttes est un programme conçu pour installer un virus sur le système visé. Le
code du virus est en règle générale contenu dans ce programme de telle manière qu'il ne sera pas détecté par un anti-virus qui,
dans d'autres circonstances, détecte ce virus (le compte-gouttes n'est pas infecté par ce virus). Bien qu'assez rare, ce type de virus a
été signalé à plusieurs reprises. Un compte-gouttes est en fait un cheval de Troie dont le but est d'installer le virus. Un compte-
gouttes qui installe le virus seulement en mémoire (donc sans infecter de fichiers sur le disque) est parfois appelé un injecteur.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
123
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
--Les bombes ANSI - Une bombe ANSI est une séquence de caractères, généralement incluse dans un fichier texte, qui
reprogramme certaines fonctions du clavier d'ordinateurs ayant une console ANSI (écran + clavier). On peut ainsi reprogrammer
la touche Enter d’un clavier pour qu'elle exécute l'instruction format c : suivi de la fonction Enter. Néanmoins, cette possibilité ne
constitue pas une grande menace. En effet, il est rare pour un logiciel moderne d'exiger un ordinateur tournant sur une console
ANSI. De même, peu de gens utilisent des logiciels qui envoient simplement la sortie sur le terminal, donc une bombe ANSI dans
un émail ne reprogrammerait pas votre clavier.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
124
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
ARCHITECTURE D’UN VIRUS
Un virus se compose de 3 fonctionnalités principales et d'une quatrième optionnelle (mais de plus en plus présente dans les virus
afin d'en améliorer l'efficacité), comme le montre la Figure ci-dessous :
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
125
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Séquence de reproduction - C'est l'objectif premier du virus. Elle inclut une fonctionnalité de recherche, qui permet de
rechercher des fichiers à infecter. Elle permet aussi au virus de vérifier d'abord que le fichier n'est pas déjà infecté, pour ne
l'infecter que le cas échéant. En effet, un virus ne doit pas se reproduire deux fois dans un fichier, car son comportement serait
alors faussé.
Condition - Il s'agit tout simplement de la partie qui va cordonner le lancement de l'action qu'est censé accomplir le virus. En
effet, le virus a toujours un objectif précis. C'est la séquence de commande (ou de destruction) qui est chargée de cette action. Elle
est déclenchée lorsque la condition est satisfaite. Cette dernière peut-être de diverses forme (une date, une action particulière de
l'utilisateur, une réaction spécifique de l'ordinateur...). Les développeurs de virus font preuve de toujours plus d'imagination pour
trouver des conditions de déclenchement de plus en plus originales et spécifiques.
Cette condition peut aussi être à l'origine du bon fonctionnement ou non du virus.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
126
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Séquence de commandes - Comme nous venons de le dire, c'est elle qui effectue l'action du virus. Cela peut être détruire des
fichiers, formater une partition...
Séquence de camouflage - Malgré leur petite taille, les virus peuvent être vite repérés (pour certains). Les développeurs de
virus ont donc élaboré plusieurs techniques pour cacher le virus. Il existe plusieurs techniques. Nous les aborderons en parlant des
virus polymorphes et furtifs par la suite.
Il s'avère qu'en dépit de leur finalité, tous les virus fonctionnent selon un modèle unifié qui les décrit tous: le modèle de virus
générique. Eric Filiol et Jean-Paul Fizaine estiment que le virus est une sorte de machine de Turing se décomposant en sous autres
machines de Turing connectées entre elles dont chacune représente un élément fonctionnel.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
127
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Un virus V est un quadruplet :
VPr = (Rech, Inf, Cf, Tr).
Rech c'est l'ensemble des fonctions de recherche de cibles; Inf est l'ensemble des
fonctions d'infection tel que :
Inf={E, R, A, T}
Où E, R, A, T sont des ensembles de machines de Turing tels que E la classe des fonctions par écrasement, R la classe des
fonctions par recouvrement, A la classe des fonctions par accompagnement, T est la classe des fonctions par entrelacement. Tandis
que Cf est l'ensemble des fonctions des charges finales et Tr l'ensemble des fonctions de transfert d'exécution.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
128
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
MODE DE CONTAMINATION D’UN VIRUS
Le virus informatique utilise de même 4 modes de contamination pour se propager dans les systèmes informatiques :
Contamination par recouvrement - le virus écrase les premières instructions du fichier par ses propres instructions.
L’avantage est que la taille du fichier n’est pas modifiée. Cependant, il n’est plus utilisable par la suite, le début de ses instructions
ayant été supprimé.
Contamination par ajout - le virus s’exécute avant le code original du fichier infecté, mais repasse la main à ce dernier à la
suite de son exécution. Dans ce cas, la taille du fichier est modifiée.
Contamination par entrelacement - il s’agit ici d’insérer du code entre les blocs valides du programme. Elle est plus difficile à
mettre en place, mais est moins facilement détectée.
Contamination par accompagnement - ici, il s’agit tout simplement de surcharger les fichiers infectés en les rendant plus
lourd lors de leurs exécutions.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
129 2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
CYCLE DE VIE D'UN VIRUS
Les virus informatiques suivent un cycle de vie, qui recense 7 grandes étapes :
Création : c'est la période durant laquelle un programmeur développe un virus aussi féroce que possible (dans la majeure partie
des cas). La programmation se fait généralement en code assembleur ou Visual Basic, ou encore parfois en C ou C++.
Gestation : C'est le temps pendant lequel le virus s'introduit dans le système qu’il souhaiter infecter. Il y reste en sommeil.
Reproduction (infection): comme nous l'avons dit, le virus doit se reproduire. Un virus correctement conçu se reproduira un
nombre important de fois avant de s'activer. C’est là le meilleur moyen de s'assurer de la pérennité d'un virus.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
130
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
Activation : Les virus possédant une routine de destruction (portions de code destinées à causer des dégâts sur l'hôte) ne
s'activent que lorsque certaines conditions sont réunies. Certains s'activent à une date précise (fixée par le développeur), d'autres
possèdent un système de compte à rebours interne. L'activation peut aussi avoir lieu à distance, par le développeur. Même les virus
ne possédant pas de telles routines et ne nécessitant pas de procédure d'activation spécifique peuvent causer des dommages aux
systèmes en s'appropriant petit à petit l'ensemble des ressources.
--Découverte : C'est le moment où l'utilisateur s'aperçoit que son système a des comportements étranges et soupçonne la
présence de virus. Ou alors, les anti-virus performants découvrent certains virus avant qu'ils aient eu le temps de faire des ravages.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
131
2.1 Présentation des failles sur l’internet
2.1.8 Les virus informatiques
-- Assimilation : Une fois la découverte faite, les développeurs de logiciels anti-virus mettent à jour leur base de données
vira le (nous reviendrons sur cette notion) afin que les utilisateurs puissent détecter la présence de virus sur leur ordinateur. Ils
développent également le correctif (ou antidote) permettant d'éradiquer le virus (si cela est possible).
--Elimination : C'est la mort du virus. Tout au moins, c'est la mort de l'exemplaire du virus sur un poste utilisateur. C'est
le moment où l'anti-virus ayant découvert le virus propose à l'utilisateur de le supprimer. Même si de nombreux virus connus
depuis des années ne sont pas complètement annihilés, ils ont cessé de constituer une menace sérieuse car ils sont découverts très
rapidement. Dans les faits, rares sont les virus ayant complètement disparu.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
132
2.1 Présentation des failles sur l’internet
2.1.9 Les vers informatiques
Un ver informatique est un logiciel malveillant qui se reproduit sur plusieurs ordinateurs en utilisant un réseau informatique
comme Internet. Il a la capacité de se dupliquer une fois qu'il a été exécuté. Contrairement au virus, le ver se propage sans avoir
besoin de se lier à d'autres programmes exécutables. Le ver appartient à la famille des programmes malveillants ou nuisibles, « les
malware ».
Le concept de ver vient des programmes autoreproducteurs qui eux-mêmes sont issus d'idées des logiciens John von Neumann et
W. V. Quine. Un virus, contrairement à un virus informatique, n'a pas besoin d'un programme hôte pour se reproduire. Il exploite
les différentes ressources de l'ordinateur qui l'héberge pour assurer sa reproduction. Il faut noter également que les données qui
sont corrompues ou détruites par un ver informatique sont généralement irrécupérables.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
133
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
La plupart du temps, les vers n’ont d’autres utilités que la destruction (s’ils s’accompagnent d’une bombe logique), et la
congestion du réseau. Malgré tout, le ver a parfois d’autres utilisations. Certaines entreprises les utilisent pour tester la sécurité de
leur réseau intranet. L'objectif des vers n’est pas seulement de se reproduire mais habituellement, ils sont
un objectif malfaisant, par exemple :
--Espionner l'ordinateur où il se trouve ;
--Offrir une porte dérobée à des pirates informatiques ;
--Détruire des données sur l'ordinateur où il se trouve ou y faire d'autres dégâts ;
--Envoyer de multiples requêtes vers un site Internet dans le but de le saturer (attaque par déni de service).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
134
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Les conséquences des effets secondaires de l’activité d'un ver sur un ordinateur sont souvent :
Le ralentissement par saturation de la machine infectée ;
Le ralentissement par saturation du réseau utilisé par la machine infectée ;
Le plantage de services ou du système d'exploitation de la machine infectée.
En majorité, des vers écrits sous forme de scripts peuvent être intégrés dans un courriel ou sur une page HTML (chevaux de
Troie). Ces vers sont activés par les actions de l'utilisateur qui croit accéder à des informations lui étant destinées. Un ver peut
aussi être programmé en C, C++, Delphi, assembleur, ou dans un autre langage de programmation. La plupart du temps, les vers
utilisent des failles de logiciels pour se propager.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
135
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Voici les quelques exemples des vers sur Internet les plus célèbres :
Félicitations vous venez d'être tiré au sort pour un séjour aux Etats-Unis.
Vous avez reçu un bonus sur votre carte Visa.
Vous êtes les 1.000.000 visiteurs ; Vous venez de gagner un smartphone.
Le ver informatique le plus populaire est le ver crée par Samy Kankar qui lui a donné son nom : le ver SAMY. Il a infecté plus
d'un million d'utilisateur MySpace en seulement 20 heures. Voici ce qu'affichait le ver à l'écran des utilisateurs infectés : “mais
par-dessus tout, Samy est mon héros”. Chaque personne visitant un profil infecté se faisait infecter à son tour.
Le ver Facebook qui se propage à travers Facebook Messenger, qui est un système de messagerie instantanée incorporé au
réseau social Facebook. Une personne infectée va automatiquement envoyer un message à tous ses contacts avec un lien vers un
site permettant de télécharger le ver.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
136
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
CARACTERISTIQUE D’UN VER INFORMATIQUE
Le ver est souvent transmis aux ordinateurs de différentes manières, telles que le courrier électronique, des programmes source
obscurs, des sites de forum, des DVD et des CD de jeux piratés.
Le ver est conçu pour se copier d'un ordinateur à un autre automatiquement. Tout d'abord, il prend le contrôle des propriétés qui
transmettent des fichiers ou des informations sur l'ordinateur. Cela peut entraîner un trafic réseau important en raison de
l'effet domino, ce qui ralentit les réseaux des lieux de travail et l'ensemble de l'Internet.
Le ver est une sous-classe de virus et se propage généralement sans action de l'utilisateur et distribue des copies complètes de
lui-même (éventuellement modifiées) de réseaux en réseaux.
Un ver peut consommer de la mémoire ou de la bande passante réseau, ce qui peut entraîner une panne d'ordinateur.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
137
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Comme les vers n'ont pas besoin d'un programme ou d'un fichier "support" pour se répandre, ils peuvent ouvrir un tunnel dans
votre système et permettre à une autre personne de contrôler votre ordinateur à distance. Des exemples de vers récents incluent le
ver Sasser et le ver Blaster.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
138
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
CLASSIFICATION D’UN INFORMATIQUE
Il existe actuellement 4 Classes des vers informatiques :
Vers de réseau (Vers de réseaux de partage de fichiers) ;
Vers de courrier électronique ;
Vers de messagerie instantanée (Vers IRC : Internet Relay Chat);
Vers Internet ;
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
139
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
ARCHITECTURE D’UN VER INFORMATIQUE
Il est composé de deux parties :
Le vecteur - c’est la partie principale du ver, qui s’occupe de la recherche de failles et est responsable
de transmettre la seconde partie du ver.
L’archive - c’est la partie « morte » du ver, qui sera envoyée sur le système distant et l’infectera.
Cette archive peut exister sous deux formes distinctes :
Sous forme de sources - la reproduction est beaucoup plus aisée, car le nombre de machines potentiellement
ciblées est beaucoup plus grand. L’inconvénient majeur de ce procédé est qu’un compilateur est nécessaire sur
la machine à infecter. Les données nécessaires à l’infection sont plus volumineuses et une compression des sources
sera parfois opérée préalablement.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
140
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Sous forme binaire - la reproduction de ce type de ver n’est possible que sur une architecture compatible avec les données
binaires. Cependant, ce format ne nécessite pas de compilateur sur la machine hôte et est souvent plus compacte que la version
source. Il est à remarquer qu’il existe des vers multiformes, c’est-à-dire utilisant une archive en sources ou binaire selon le
système à infecter.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
141
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
MODE DE REPRODUCTION D’UN VER
Avant d’infecter un système, le ver doit procéder dans l’ordre à une série d’étapes. Ce n’est qu’à la suite de celles-ci qu’il pourra
attaquer la machine cible. La succession d’étapes est la suivante (et ne concerne que la partie « vecteur » jusqu’à la phase
d’invasion) :
Initialisation - ce sont les premières instructions du ver. Il peut s’agir de la création de fichiers temporaires, ou la compilation
d’une partie de l’archive. A cet instant, le ver est toujours sur la machine mère.
Recherche de l’hôte - Cette étape procède à un scan d’IP. Ce scan peut être aléatoire ou incrémental (on passe en revue des
séries d’adresses IP). Pour chacune d’entre elles, on teste si le système répond ou non ("up" ou "down").
Identification de l’hôte - une fois une victime potentielle détectée, le ver (la partie vecteur) va tester le système en place sur la
machine distante. Il s’agira de vérifier si le système possède des failles pouvant être exploitées par le ver, s’il possède un
compilateur approprié, ... Si ce n’est pas le cas, on retourne à l’étape précédente.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
142
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Attaque - c’est ici que le ver exploite les vulnérabilités mises au jour dans la phase précédente. Le vecteur obtient alors un accès
sur la machine cible.
Invasion - Le vecteur est maintenant présent sur la machine cible, mais n’est pas encore actif. Les instructions sont toujours
données par la machine mère. Dès cet instant, le vecteur va rapatrier la partie archive sur le système à infecter. Deux techniques
sont possibles :
Soit le vecteur est toujours accompagné de sa partie archive, auquel cas l’archive est présente sur la machine à tout
moment, le vecteur uploadant son archive de machines en machines. Cette technique est un peu plus complexe à réaliser car le
vecteur doit avoir été programmé pour transmettre cette archive.
Soit le vecteur doit rapatrier la partie archive. Ce rapatriement se fait à partir de la machine mère, ou depuis un
serveur fixe (de type FTP) et unique pour toutes les machines (mais dans ce cas, l’attaque se terminera si le serveur tombe en
panne).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
143
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
C’est beaucoup plus facile à réaliser, mais également plus dangereux car l’utilisateur piraté pourra plus facilement tracer le ver. Si
l’archive est sous forme de sources, le vecteur devra également procéder à la décompression et à la compilation de ces sources
avant de passer à la phase suivante.
Reproduction - ici aussi, deux possibilités existent pour permettre la reproduction du ver :
Soit on tue le ver présent sur la machine mère. Le ver se déplacera alors de stations en stations.
Soit on ne le tue pas et chacun des deux vers continue à se propager selon la méthode décrite ci-dessus. Ce choix
provoque une étendue exponentielle du ver et est logiquement plus dangereuse que la précédente.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
144
2.1 Présentation des failles sur l’internet
2.1.8 Les vers informatiques
Il faut également noter que des mesures simples permettent de limiter le risque
d'attaque par un ver :
Analyse régulière de tous les fichiers suspects à l'aide d'un antivirus ;
Mises à jour régulières des logiciels installés pour s'assurer d'avoir les dernières versions ;
Évitement des sites Internet à risque (sites de hackers ou de téléchargement de matériel piraté par exemple) ;
Scannage des pièces jointes d'un email par un antivirus à jour.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
145
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
Un cheval de Troie (Trojan horse en anglais) est un type de logiciel malveillant, qui ne doit pas être confondu avec les virus ou
autres parasites. Le cheval de Troie est un logiciel en apparence légitime, mais qui contient une fonctionnalité malveillante. Le
rôle du cheval de Troie est de faire entrer ce parasite sur l'ordinateur et de l'installer à l'insu de l'utilisateur.
Un cheval de Troie informatique est un programme d'apparence inoffensive, mais qui en contient un autre, malveillant celui-là et
qui est installé par l'utilisateur lui-même, ignorant qu'il fait pénétrer un intrus malveillant sur son ordinateur. C'est par analogie,
que ce type de programme a été baptisé « cheval de Troie », en référence à la ruse qu'Ulysse utilisa pour contourner les défenses
adverses. Le cheval de Troie prend l'apparence d'un logiciel existant, légitime et parfois même réputé, mais qui aura été modifié
pour y dissimuler un parasite. La subtilité avec laquelle l'installation est faite est expliquée par Ken Thompson dans sa conférence
Turing. Berné, l'utilisateur va télécharger et installer le programme, pensant avoir affaire à une version saine.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
146
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
En réalité, le logiciel véhicule un parasite qui va pouvoir s'exécuter sur son ordinateur. Les logiciels crackés peuvent être des
chevaux de Troie qui vont allécher l'internaute qui cherche à obtenir gratuitement un logiciel normalement payant (Adobe Acrobat
pro, Photoshop, Microsoft Office..). En 2014, une étude de l'Association of Internet Security Professionnals centrée sur les dangers
du live streaming illégal révèle qu'un ordinateur sur trois est infecté par un logiciel malveillant et que 73 % de ces infections
proviennent d'un cheval de Troie.
Le cheval de Troie ne doit pas être confondu avec d'autres notions proches :
-L'injecteur (ou dropper, en anglais) - est quasiment identique au cheval, car il sert lui aussi de véhicule pour une malveillance.
Mais l'injecteur est un programme spécialement fabriqué pour propager des parasites, alors que le cheval est une version modifiée
d’un programme existant et légitime.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
147
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
-La porte dérobée (backdoor) - est un programme qui va s'exécuter discrètement sur l'ordinateur où il est installé pour y créer
une faille de sécurité. Le backdoor ouvre un ou plusieurs ports sur la machine, ce qui lui permet d'accéder à internet librement et
de télécharger, à l'insu de l'utilisateur, un parasite. Le backdoor n'est donc pas un cheval de Troie : il ne véhicule pas le parasite en
lui, il va simplement ouvrir l'accès et récupérer, via internet, le programme malveillant qui se trouve sur un serveur distant.
-Le RAT (Remote administration tool) - est un logiciel de prise de contrôle à distance d’un ordinateur. Un RAT peut être un
outil légitime (par exemple pour le dépannage à distance), mais il peut aussi être utilisé par un pirate pour s'emparer d'une
machine. Dans ce cas, l'introduction du RAT sur la machine à contrôler se fait à l'insu de l'utilisateur. Par exemple, par un cheval
de Troie qui contient le RAT, mais le RAT n'est pas le cheval. Contrairement à ce qu'on lit parfois, le T de RAT ne signifie pas
Trojan mais Tool (outil).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
148
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
-Les bombes de décompression - ne transportent pas de parasite, mais elles peuvent être confondues avec les chevaux de Troie
car la notion de conteneur entre aussi en jeu. Il s'agit d'un fichier compressé, par exemple un fichier zip, de taille raisonnable
tant qu'il n'est pas ouvert. Mais lorsque l'utilisateur va tenter de la décompresser, elle va générer un fichier d'une taille gigantesque.
Cette « explosion » entraîne le ralentissement ou le plantage de l'ordinateur, et sature le disque dur avec des données inutiles. Bien
qu'il s'agisse de conteneurs malveillants, le fonctionnement des bombes de décompression n'a donc rien à voir avec celui des
chevaux de Troie. En effet, elles ne transportent aucun parasite indépendant, elles saturent la machine de données aléatoires. « Le
Trojan Stealer - plutôt spécialisé dans le vol de données et notamment les comptes en ligne (Mail, Réseaux sociaux ou encore
bancaire).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
149
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
MANIFESTIONS D'UNE INFECTION PAR UN CHEVAL DE TROIE
--Activité anormale de la carte réseau ou du disque dur (des données sont chargées en l'absence d'activité de la part de l'utilisateur)
ou du modem ;
--Réactions curieuses de la souris ;
--Ouvertures impromptues de programmes, du lecteur CD/DVD ;
--Plantages répétés ;
--Redémarrage répété du système ;
--Écran ou fenêtres avec des messages inhabituels ;
--Un comportement inhabituel dans le fonctionnement de l'ordinateur, tels que: changements d'économiseur d'écran de bureau,
modification du rôle des boutons de lasouris, modification du volume du lecteur audio ;
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
150
2.1 Présentation des failles sur l’internet
2.1.9 Le cheval de troie
--Ouverture/Fermeture intempestive de fenêtres ;
--Les programmes commencent ou terminent leur exécution de manière inattendue ;
--Le navigateur accède tout seul à certains sites Internet ;
--Présence d'autres programmes qui n'ont pas été volontairement installés (y compris des logiciels malveillants) ;
--Vol de renseignements personnels : informations bancaires, mots de passe, codes de sécurité...
--Suppression, modification ou transfert de fichiers (téléchargement ou upload)
--Exécution ou arrêt de processus ;
--Arrêt ou redémarrage impromptus de l'ordinateur ;
--Surveillance des frappes (voir Enregistreur de frappe) ;
--Captures d'écran impromptues ;
--Espace libre du disque dur occupé par des fichiers inutiles.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
151
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
Un rootkit (Aussi appelé « outil de dissimulation d'activité », « maliciel furtif », « trousse administrateur pirate », parfois
simplement « kit »), est un ensemble de techniques mises en œuvre par un ou plusieurs logiciels, dont le but est d'obtenir et de
pérenniser un accès (généralement non autorisé) à un ordinateur de la manière la plus furtive possible, à la différence d'autres
logiciels malveillants. Le terme peut désigner la technique de dissimulation ou plus généralement un ensemble particulier d'objets
informatiques mettant en œuvre cette technique.
Pour l'« attaquant », l'utilité d'un « rootkit » est soit de mettre à disposition des ressources système (temps processeur, connexions
réseaux, etc.) sur une, voire plusieurs machines, parfois en utilisant la « cible » comme intermédiaire pour une autre attaque ; soit
d'espionner, d'accéder aux données stockées ou en transit sur la machine cible6. Ils sont généralement classés parmi les logiciels
malveillants, mais pas toujours ; ils peuvent utiliser des « techniques virales » pour se transmettre (par exemple, en utilisant un
virus ou un cheval de Troie). Il existe des outils de détection et des méthodes de protection pour les contrer mais elles ne sont pas
totalement efficaces.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
152
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
TYPES DES ROOTKITS
Un rootkit peut intervenir à un ou plusieurs niveaux du système parmi les cinqsuivants : micrologiciel, hyperviseur, noyau,
bibliothèque ou applicatif :
--Niveau micrologiciel / matériel - Il est possible d'installer des rootkits directement au niveau du micrologiciel (ou firmware).
De nombreux produits proposent désormais des mémoires flash qui peuvent être utilisées pour injecter durablement du code en
détournant par exemple l'usage d'un module de persistance souvent implanté dans le BIOS de certains systèmes. C’est par
exemple, « LoJack, d'Absolute Software »7 Un outil légitime qui utilise cette technique pouvant permet de suivre un ordinateur à
l'insu de l'utilisateur pour retrouver un ordinateur portable en cas de vol. Ce code reste en place après un formatage du disque dur,
voire après un flashage du BIOS si le module de persistance est présent et actif. Tout périphérique disposant d'un tel type de
mémoire est donc potentiellement vulnérable.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
153
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
--Niveau hyperviseur - Ce type de rootkit se comporte comme un hyperviseur natif, après s'être installé et avoir modifié la
séquence de démarrage, pour être lancé en tant qu'hyperviseur à l'initialisation de la machine infectée. Le système d'exploitation
original devient alors un hôte (invité) du rootkit, lequel peut intercepter tout appel au matériel. Il devient quasiment impossible à
détecter depuis le système original. Blue Pill est un autre exemple de rootkit utilisant cette technique.
--Niveau noyau - Certains rootkits s'implantent dans les couches du noyau du système d'exploitation : soit dans le noyau lui-
même, soit dans des objets exécutés avec un niveau de privilèges équivalent à celui du noyau. Sous GNU/Linux, il s'agit souvent
de modules pouvant être chargés par le noyau, et sous Windows de pilotes. Avec un tel niveau de privilèges, la détection et
l'éradication du rootkit n'est souvent possible que de manière externe au système en redémarrant depuis un système sain, installé
sur CD, sur une clé USB ou par réseau.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
154
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
--Niveau bibliothèque - À ce niveau, le rootkit détourne l'utilisation de bibliothèques légitimes du système d'exploitation.
Plusieurs techniques peuvent être utilisées. On peut patcher une bibliothèque, c'est-à-dire lui ajouter du code. On peut aussi
détourner l'appel d'un objet par hooking, ce qui revient à appeler une « autre fonction » puis à revenir à la fonction initiale, pour
que le détournement soit transparent du point de vue fonctionnel. Enfin, on peut remplacer des appels système par du code
malveillant. Ce type de rootkit est assez fréquent, mais il est aussi le plus facile à contrer, notamment par un contrôle d'intégrité
des fichiers essentiels, en surveillant leur empreinte grâce à une fonction de hachage ; par une détection de signature du
programme malveillant ; ou par exemple, par un examen des hooks au moyen d'outils comme unhide sous GNU/Linux ou
HijackThis sous Windows.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
155
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
--Niveau applicatif - Un rootkit applicatif implante des programmes malveillants de type cheval de Troie, au niveau utilisateur.
Ces programmes prennent la place de programmes légitimes par usurpation d'identité ou en modifiant le comportement, afin de
prendre le contrôle des ressources accessibles par ces programmes. Par exemple, une application de traitement de texte peut être
remplacée par une version malicieuse et donner accès aux fonctions permettant de lire et d'écrire un fichier dans une partie de
l'arborescence.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
156
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
MODE OPERATOIRE D’UN ROOTKIT
1. Contamination - Le mode de contamination par un rootkit se fait en deux phases : *
--La première phase d'action d'un rootkit sert généralement à trouver un hôte vulnérable par balayage d'un ensemble d'adresses IP
ou grâce à une base de données d’IP vulnérables.
--L'étape suivante consiste à chercher à obtenir un accès au système, sans forcément que celui-ci soit un accès privilégié (ou en
mode administrateur). Il existe trois manières d’obtenir un accès au système, en suivant les techniques habituelles des programmes
malveillants :
*Mettre en œuvre un exploit, c'est-à-dire profiter d'une vulnérabilité de sécurité connue ou non, à n'importe quel niveau
du système (application, système d'exploitation, BIOS, etc.). Cette mise en œuvre peut être le fait d'un virus, mais elle
résulte aussi, souvent, de botnets qui réalisent des scans de machines afin d'identifier et d'exploiter les failles utiles à l'attaque.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
157
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
*Même s'il n'est pas un virus à proprement parler, un rootkit peut utiliser des techniques virales pour se transmettre,
notamment via un cheval de Troie. Un virus peut avoir pour objet de répandre des rootkits sur les machines infectées. A contrario,
un virus peut aussi utiliser les techniques utilisées par des rootkits pour parfaire sa dissimulation.
*Enfin, l’attaque par force brute permet d'accéder au système, en profitant de la faiblesse des mots de passe mis en
œuvre par certains utilisateurs. À ces fins, il suffit de tester les mots de passe les plus courants.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
158
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
2. La modification du système - Une fois la contamination effectuée et l'accès obtenu, la phase suivante consiste à installer, au
moyen de son script d'installation, les objets et outils nécessaires au rootkit; c'est-à-dire les objets (programmes, bibliothèques)
permettant la mise en place de la charge utile du rootkit, s'ils n'ont pas pu être installés durant la phase de contamination, ainsi que
les outils et les modifications nécessaires à la dissimulation.
L'opération consiste en l'ouverture de portes dérobées, afin de permettre le contrôle des machines (pc, serveurs, etc.), et, d'y
installer la charge utile. Le tout, afin de pérenniser l'accès au système, ceci constitue une technique très fréquemment usitée.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
159
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
3. La Dissimulation - Le rootkit cherche à dissimuler son activité pour minimiser le risque qu'on le découvre, afin de profiter le
plus longtemps possible de l'accès frauduleux, mais aussi pour rendre sa désinstallation difficile. Il va notamment dissimuler ses
propres fichiers, les autres fichiers utilisés par l'attaquant, les processus qu'il exécute et les connexions qu'il va ouvrir. Cette faculté
de dissimulation le différencie des virus, qui cherchent principalement à se répandre, bien que ces deux fonctions soient parfois
jumelées pour une efficacité supérieure. Plusieurs méthodes de dissimulation peuvent être combinées.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
160
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
4. Maintien de l'accès - Un rootkit doit pouvoir être manipulé à distance par un attaquant. Celui-ci cherche donc souvent à
maintenir un shell (ou « interpréteur de commandes ») disponible idéalement à n'importe quel moment (ou au moins durant
l'installation du rootkit), en remplaçant des commandes comme ping ou xterm. Généralement, l'attaquant installe plusieurs de ces
portes dérobées au cas où l'une viendrait à être découverte et supprimée.
5. La Mise en place de la charge utile - La charge utile est la partie active du rootkit (programme malveillant en général), dont le
rôle est d'accomplir les tâches assignées. Cette charge utile permet d'avoir accès aux ressources de la machine infectée, et
notamment le processeur, pour décrypter des mots de passe, pour effectuer des calculs distribués à des
fins malveillantes ou pour mettre en œuvre (ou détourner l'usage légitime) des applications comme un serveur de messagerie afin
d'envoyer des mails (pourriel ou spam) en quantité.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
161
2.1 Présentation des failles sur l’internet
2.1.10 Les rootkits
Les ressources réseaux intéressent également les attaquants, la machine pouvant alors servir de base pour d'autres attaques
(exploits) ou pour inspecter, sniffer l'activité réseau. La machine infectée peut aussi devenir le point de départ pour d'autres
attaques, sur internet, ou sur l'intranet, comme un déni de service. La prise de contrôle de la machine offre la possibilité de
constituer un réseau de type botnet (la machine infectée devenant alors une machine zombie, comme dans le cas du botnet
Srizbi8), ou d'accéder à d'autres machines, par rebond.
6. Elévation du niveau de privilège - l'élévation de privilège est souvent nécessaire pour que le camouflage soit efficace : le
rootkit peut utiliser certains exploits afin de parfaire sa dissimulation en opérant à un niveau de privilège très élevé, pour atteindre
des bibliothèques du système, des éléments du noyau, pour désactiver les défenses du système, etc.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
162
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Un cookie (ou témoin de connexion) est défini par le protocole de communication HTTP comme étant une suite d'informations
envoyée par un serveur HTTP à un client HTTP, que ce dernier retourne lors de chaque interrogation du même serveur HTTP sous
certaines conditions.Le cookie est l'équivalent d'un fichier texte de petite taille, stocké sur le terminal de l'internaute. Existant
depuis les années 1990, ils permettent aux développeurs de sites web de conserver des données utilisateur afin de faciliter la
navigation et de permettre certaines fonctionnalités. Les cookies ont toujours été plus ou moins controversés car elles contiennent
des informations personnelles résiduelles pouvant potentiellement être exploitées par des tiers.
Ces informations censées être privées ne le sont pas vraiment, puisqu'elles sont accessibles à un certain point. Il est envoyé en tant
qu'en-tête HTTP par le serveur web au navigateur web qui le renvoie inchangé à chaque fois qu'il accède au serveur. Un cookie
peut être utilisé pour uneauthentification, une session (maintenance d'état), et pour stocker une information spécifique
sur l'utilisateur, comme les préférences d'un site ou le contenu d'un panier d'achat électronique.
Le terme cookie est dérivé de magic cookie12, un concept bien connu dans l'informatique
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
163
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Le terme cookie est dérivé de magic cookie12, un concept bien connu dans l'informatique d'UNIX, qui a inspiré l'idée et le nom
des cookies de navigation. Quelques alternatives aux cookies existent, chacune a ses propres utilisations, avantages et
inconvénients.
Étant généralement stockés sous forme de simples fichiers texte, les cookies ne sont pas exécutables. Ils ne sont ni des logiciels
espions ni des virus, bien que des cookies provenant de certains sites soient détectés par plusieurs logiciels antivirus parce qu'ils
peuvent permettre de suivre les utilisateurs ayant visité certains sites web. La plupart des navigateurs récents permettent aux
utilisateurs de décider s'ils acceptent ou rejettent les cookies. Les utilisateurs peuvent aussi choisir la durée de stockage des
cookies. Toutefois, le rejet complet des cookies rend certains sites inutilisables. Par exemple, les paniers d'achat de magasins ou
les sites qui exigent une connexion à l'aide d'identifiants (utilisateur et mot de passe).
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
164
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
UTILISATIONS DES COOKIES
--Gestion des sessions - Les cookies peuvent être utilisés pour maintenir les données relatives à l'utilisateur durant sa navigation,
mais aussi à travers plusieurs visites. Les cookies ont été introduits pour donner un moyen d'implémenter les paniers d'achat
électronique, un dispositif virtuel dans lequel l'utilisateur peut accumuler les articles qu'il veut acheter durant
sa navigation sur le site. Le navigateur web renvoie alors cet identifiant de session à chaque requête suivante et les articles du
panier sont enregistrés et associés avec ce même identifiant unique de session. Une utilisation fréquente des cookies est utile pour
la connexion à un site à l'aide d'identifiants.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
165
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
--Personnalisation - Les cookies peuvent être utilisés pour mémoriser l'information sur l'utilisateur d'un site, dans le but de lui
montrer un contenu approprié dans le futur. Beaucoup de sites web utilisent les cookies pour la personnalisation basée sur les
préférences des utilisateurs. Les utilisateurs sélectionnent leurs préférences dans un formulaire et envoient celles-ci au serveur. Le
serveur encode les préférences dans un cookie et renvoie celui-ci au navigateur. Par la suite, à chaque fois que l'utilisateur accède
à une page de ce site, le navigateur renvoie le cookie et donc la liste des préférences ; le serveur peut alors personnaliser la page
d'après les préférences de l'utilisateur. Par exemple,. Le moteur de recherche Google permet à ses utilisateurs (même s'ils ne sont
pas enregistrés) de choisir le nombre de résultats qu'ils veulent voir sur chaque page de résultats.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
166
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
--Pistage - Les cookies de pistage sont utilisés pour suivre les habitudes de navigation des utilisateurs d'internet. Cela peut être fait
aussi en partie en utilisant l'adresse IP de l'ordinateur faisant une requête d'une page ou à l'aide de l'en-tête HTTP « référant » que
le client envoie à chaque requête, mais les cookies permettent une plus grande précision. Cela peut être fait comme dans l'exemple
suivant :
Si l'utilisateur fait appel à une page d'un site, et que la requête ne contient pas de cookie, le serveur présume que c'est la
première page visitée par l'utilisateur. Le serveur crée alors une chaîne aléatoire et l'envoie au navigateur en même temps que
la page demandée.
À partir de ce moment, le cookie sera automatiquement envoyé par le navigateur à chaque fois qu'une nouvelle page du site sera
appelée. Le serveur enverra la page comme d'habitude, mais enregistrera aussi l'URL de la page appelée, la date, l'heure
de la requête et le cookie dans un fichier de journalisation.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
167
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
INCONVENIENTS DES COOKIES
En plus des problèmes d'atteinte à la vie privée, les cookies ont aussi quelques inconvénients techniques. En particulier, ils
n'identifient pas toujours exactement les utilisateurs, ils peuvent ralentir la performance des sites lorsqu'en grand nombre, ils
peuvent être utilisés pour des attaques de sécurité et ils sont en oppositions avec le transfert représentatif d'état, style architectural
du logiciel. On peut citer :
Identification imprécise - Si plus d'un navigateur est utilisé sur un ordinateur, dans chacun d'eux, il y a toujours une unité de
stockage séparée pour les cookies. Par conséquent les cookies n'identifient pas une personne, mais la combinaison d'un compte
utilisateur, d’un ordinateur, et d'un navigateur web. Ainsi, n'importe qui peut utiliser ces comptes, les ordinateurs, ou les
navigateurs qui ont la panoplie des cookies. De même, les cookies ne font pas la différence entre les multiples utilisateurs qui
partagent le même compte d'utilisateur, l'ordinateur, et le navigateur comme dans les « internet cafés » ou tous lieux donnant accès
libre à des ressources informatiques.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
168
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Vol de cookie - Durant l'opération normale, les cookies sont renvoyés entre le serveur (ou un groupe de serveurs dans le même
domaine) et le navigateur de l'ordinateur del'utilisateur. Puisque les cookies peuvent contenir des informations sensibles (nom de
l'utilisateur, un mot de passe utilisé pour une authentification, etc.), leurs valeurs ne devraient pas être accessibles aux autres
ordinateurs. Le vol de cookie est un acte d'interception des cookies par un tiers non autorisé. Les cookies peuvent être volés via un
renifleur de paquets dans une attaque appelée détournement de session. Le trafic sur le net peut être intercepté et lu par les
ordinateurs autres que ceux qui envoient et qui reçoivent (particulièrement sur l'espace public Wi-Fi non-chiffré). Ce trafic inclut
les cookies envoyés sur des sessions utilisant le protocole HTTP ordinaire. Quand le trafic réseau n’est pas chiffré, des utilisateurs
malveillants peuvent ainsi lire les communications d'autres utilisateurs sur le réseau en utilisant des « renifleurs de paquets ».
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
169
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Ce problème peut être surmonté en chiffrant la connexion entre l'ordinateur de l'utilisateur et le serveur par l'emploi du protocole
HTTPS. Un serveur peut spécifier un drapeau sécurisé tout en mettant en place un cookie ; le navigateur l'enverra seulement sur
une ligne sécurisée, comme une connexion en SSL.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
170
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Modification de cookie - Dès que les cookies ont besoin d'être stockés et renvoyés inchangés au serveur, un attaquant peut
modifier la valeur des cookies avant leur renvoi au serveur. Par exemple, si un cookie contient la valeur totale que l'utilisateur doit
payer pour les articles mis dans le panier du magasin, en changeant cette valeur le serveur est exposé au risque de faire payer
moins l'attaquant que le prix de départ. Le procédé de modifier la valeur des cookies est appelé cookie poisoning et peut être
utilisé après un vol de cookie pour rendre l'attaque persistante.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
171
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Manipulation de cookie entre sites web - Chaque site est supposé avoir ses propres cookies, donc un site ne devrait pas être
capable de modifier ou créer des cookies associés à un autre site. Une faille de sécurité d'un navigateur web peut permettre à des
sites malveillants d'enfreindre cette règle. L'exploitation d'une telle faille est couramment appelée cross-site cooking. Le but de
telles attaques peut être le vol de l'identifiant de session. Les utilisateurs devraient utiliser les versions les plus récentes des
navigateurs web dans lesquels ces vulnérabilités sont pratiquement éliminées.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
172
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
État contradictoire entre le client et le serveur - L'utilisation des cookies peut générer une contradiction entre l'état du client
et l'état stocké dans le cookie. Si l'utilisateur acquiert un cookie et clique sur le bouton « Retour » du navigateur, l'état du
navigateur n’est généralement pas le même qu'avant cette acquisition. Par exemple, si le panier d’une boutique en ligne est réalisé
en utilisant les cookies, le contenu du panier ne peut pas changer quand l'utilisateur revient dans l'historique du navigateur : si
l'utilisateur presse sur un bouton pour ajouter un article dans son panier et clique sur le bouton « Retour », l'article reste dans celui-
ci. Cela n'est peut-être pas l'intention de l'utilisateur, qui veut certainement annuler l'ajout de l'article. Cela peut mener à un
manque de fiabilité, de la confusion, et des bugs. Les développeurs web doivent donc être conscients de ce problème et mettre en
œuvre des mesures visant à gérer des situations comme celle-ci.
Première partie : Sécurité Informatique
Chapitre 2 : Faille la sécurité sur internet et mode de piraterie
173
2.1 Présentation des failles sur l’internet
2.1.11 Les cookies
Échéance de cookie - Les cookies permanents ont été critiqués par les experts de la sécurité de la vie privée pour ne pas être
prévus pour expirer assez tôt, et de ce fait permettre aux sites web de suivre les utilisateurs et de construire au fur et à mesure leur
profil. Cet aspect des cookies fait partie aussi du problème de détournement de session, parce qu'un cookie
permanent volé peut être utilisé pour se faire passer pour un utilisateur pour une période de temps considérable.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
174
Introduction
Chaque ordinateur connecté à Internet (et d’une manière plus générale à n’importe quel réseau informatique) est susceptible d’être
victime d’une attaque d’un pirate informatique. La méthodologie généralement employée consiste à scruter le réseau (en envoyant
des paquets de données de manière aléatoire) à la recherche d’une machine connectée, puis à chercher une faille de sécurité afin
de l’exploiter et d’accéder aux données s’y trouvant. Cette menace est d’autant plus grande que la machine est connectée en
permanence à Internet pour plusieurs raisons :
➤ La machine cible est susceptible d’être connectée sans pourautant être surveillée.
➤ La machine cible est généralement connectée avec une pluslarge bande passante.
➤ La machine cible ne change pas (ou peu) d’adresse IP.
Ainsi, il est nécessaire, autant pour les réseaux d’entreprises quepour les internautes possédant une connexion de type câble ou
ADSL,de se protéger des intrusions réseaux en installant un dispositif de protection.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
175
3.1 Antivirus
Principe de fonctionnement
Un antivirus est un programme capable de détecter la présence de malware sur un ordinateur et, dans la mesure du possible, de
désinfecter ce dernier. On parle ainsi d’éradication de virus pour désigner la procédure de nettoyage de l’ordinateur.
Détection des malwares
Les malwares sont des fichiers ou des portions de code embarquées dans des fichiers. Ces codes sont repérés suivant leur
comportement, les fichiers qu’ils génèrent ou leur « hash ». L’ensemble constitue leur signature virale.
❏ Recherche de signature virale
Les antivirus s’appuient ainsi sur cette signature propre à chaque malware pour les détecter. Il s’agit de la méthode de recherche
de signature (scanning), la plus ancienne méthode utilisée par les antivirus.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
176
3.1 Antivirus
Cette méthode n’est fiable que si l’antivirus possède une base virale à jour, c’est-à-dire comportant les signatures de tous les
malwares connus. Toutefois, cette méthode ne permet pas la détection des malwares n’ayant pas encore été répertoriés par les
éditeurs d’antivirus. Ceux-ci sont désormais dotés de capacités de camouflage, de manière à rendre leur signature difficile à
détecter, voire indétectable : il s’agit de virus polymorphes.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
177
3.1 Antivirus
❏ Contrôle d’intégrité
Certains antivirus utilisent un contrôleur d’intégrité pour vérifier si les fichiers ont été modifiés. Ainsi le contrôleur d’intégrité
construit une base de données contenant des informations sur les fichiers exécutables du système (date de modification, taille et
éventuellement une somme de contrôle). Ainsi, lorsqu’un fichier exécutable change de caractéristiques, l’antivirus prévient
l’utilisateur de la machine.
❏ Identification des fichiers sains
Certains antivirus utilisent aussi une base de données de signatures (hash) de fichiers sains. Ainsi, le moteur de l’antivirus n’est
plus obligé de suivre les activités de programmes connues comme faisant parti du système ou d’une application courante. Comme
la base de signature virale, ces signatures de fichiers sains sont mises à jour régulièrement par le programme antivirus.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
178
3.1 Antivirus
❏ Analyse des comportements
La méthode heuristique consiste à analyser le comportement des applications afin de détecter une activité proche de celle d’un
malware connu. Ce type d’antivirus peut ainsi détecter des virus même lorsque la base antivirale n’a pas été mise à jour. En
contrepartie, ils sont susceptibles de déclencher de fausses alertes.
❏ Éradication
Il existe plusieurs méthodes d’éradication :
➤ la suppression du code correspondant au virus dans le fichier infecté ;
➤ la suppression du fichier infecté ;
➤ la mise en quarantaine du fichier infecté, consistant à le déplacer dans un emplacement où il ne pourra pas être exécuté.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
179
3.1 Antivirus
Antivirus mais pas seulement
Les logiciels antivirus ont amorcé leur mutation ces dernières années : en effet, face à une menace qui s'est diversifiée, les
éditeurs ont inclus dans leurs solutions de nouveaux éléments.
Tout d'abord, au niveau de l'analyse des codes, au lieu d'envoyer à chaque ordinateur la totalité de la liste des signatures – ce qui
est devenu difficile vu la quantité de données que cela impliquerait – celle-ci est mise sur des serveurs dispersés dans le monde.
Chaque analyse renvoie la signature du fichier présent sur le disque dur vers ce nuage. Les programmes ayant un comportement
suspect peuvent aussi être envoyés dans ce « nuage » pour y être analysés. Avec la liste de fichiers sains, l'ensemble a permis un
véritable saut qualitatif en termes de rapidité et de pertinence des moteurs antiviraux.
Ainsi, aujourd'hui, les antivirus des grands éditeurs n'ont plus un impact important sur les performances de la machine.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
180
3.1 Antivirus
Par ailleurs, la problématique des postes déjà infectés est mieux prise en compte qu'auparavant : des outils dédiés à la suppression
des malwares actifs accompagnent les antivirus (souvent sous la forme d'un CD ou d'une clé USB s'exécutant au démarrage de la
machine). Les éditeurs ajoutent aussi des modules pour sécuriser les communications sensibles (par exemple avec les
établissements bancaires ou les cybermarchands), détecter les sites web contrefaits (phishing) ou encore lister les programmes
contenant des vulnérabilités.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
181
3.2 Système pare-feu ( firewall)
Un pare-feu (appelé aussi coupe-feu, garde-barrière ou firewall),est un système permettant de protéger un ordinateur, ou un
réseau d’ordinateurs, des intrusions provenant d’un réseau tiers (notamment Internet). Le pare-feu est un système permettant de
filtrer les paquets de données échangés avec le réseau, il s’agit ainsi d’une passerelle filtrante comportant au minimum les
interfaces réseau suivantes :
➤ une interface pour le réseau à protéger (réseau interne) ;
➤ une interface pour le réseau externe.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
182
3.2 Système pare-feu ( firewall)
Le système pare-feu est un système logiciel, reposant parfois sur un matériel réseau dédié, constituant un intermédiaire entre le
réseau local (ou la machine locale) et un ou plusieurs réseaux externes. Il est possible de mettre un système pare-feu sur
n’importe quelle machine et avec n’importe quel système pourvu que :
➤ la machine soit suffisamment puissante pour traiter le trafic ;
➤ le système soit sécurisé ;
➤ aucun autre service que le service de filtrage de paquets ne fonctionne sur le serveur.
Dans le cas où le système pare-feu est fourni dans une boîte noire «clé en main », on utilise le terme d’appliance.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
183
3.2 Système pare-feu ( firewall)
Principe de fonctionnement
Un système pare-feu contient un ensemble de règles prédéfinies permettant :
➤ d’autoriser la connexion (allow) ;
➤ de bloquer la connexion (deny) ;
➤ de rejeter la demande de connexion sans avertir l’émetteur(drop).
L’ensemble de ces règles permet de mettre en œuvre une méthode de filtrage dépendant de la politique de sécurité adoptée par
l’entité.On distingue habituellement deux types de politiques de sécurité
permettant :
➤ soit d’autoriser uniquement les communications ayant été explicitement autorisées : « Tout ce qui n’est pas explicitement
autorisé est interdit » ;
➤ soit d’empêcher les échanges qui ont été explicitement interdits.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
184
3.2 Système pare-feu ( firewall)
La première méthode est sans nul doute la plus sûre, mais elle impose toutefois une définition précise et contraignante des besoins
en communication.
❏ Filtrage simple de paquets
Un système pare-feu fonctionne sur le principe du filtrage simple de paquets (stateless packet filtering). Il analyse les en-têtes de
chaque paquet de données (datagramme) échangé entre une machine du réseau interne et une machine extérieure.
Ainsi, les paquets de données échangés entre une machine du réseau extérieur et une machine du réseau interne transitent par le
pare-feu et possèdent les en-têtes suivants, systématiquement analysés par le firewall :
➤ adresse IP de la machine émettrice ;
➤ adresse IP de la machine réceptrice ;
➤ type de paquet (TCP, UDP, etc.) ;
➤ numéro de port (rappel : un port est un numéro associé à un service ou une application réseau).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
185
3.2 Système pare-feu ( firewall)
Les adresses IP contenues dans les paquets permettent d’identifier la machine émettrice et la machine cible, tandis que le type de
paquet et le numéro de port donnent une indication sur le type de service utilisé.
Les ports reconnus (dont le numéro est compris entre 0 et 1 023) sont associés à des services courants (les ports 25 et 110 sont
par exemple associés au courrier électronique, et le port 80 au Web). La plupart des dispositifs pare-feu sont au minimum
configurés de manière à filtrer les communications selon le port utilisé. Il est généralement conseillé de bloquer tous les ports qui
ne sont pas indispensables (selon la politique de sécurité retenue).
Le port 23 est par exemple souvent bloqué par défaut par les dispositifs pare-feu car il correspond au protocole telnet, permettant
d’émuler un accès par terminal à une machine distante de manière à pouvoir exécuter des commandes à distance. Les
données échangées par telnet ne sont pas chiffrées, ce qui signifie qu’un individu est susceptible d’écouter le réseau et de voler les
éventuels mots de passe circulant en clair. Les administrateurs lui préfèrent généralement le protocole SSH, réputé sûr et
fournissant les mêmes fonctionnalités que telnet.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
186
3.2 Système pare-feu ( firewall)
❏ Filtrage dynamique
Le filtrage simple de paquets ne s’attache qu’à examiner les paquets IP indépendamment les uns des autres, ce qui correspond
au niveau 3 du modèle OSI. Or, la plupart des connexions reposent sur le protocole TCP, qui gère la notion de session, afin
d’assurer le bon déroulement des échanges. D’autre part, de nombreux services (le FTP par exemple) initient une connexion sur un
port statique, mais ouvrent dynamiquement (c’est-à-dire de manière aléatoire) un port afin d’établir une session entre la machine
faisant office de serveur et la machine cliente.
Ainsi, il est impossible avec un filtrage simple de paquets de prévoir les ports à laisser passer ou à interdire. Pour y remédier, le
système de filtrage dynamique de paquets est basé sur l’inspection des couches 3 et 4 du modèle OSI, permettant d’effectuer un
suivi des transactions entre le client et le serveur. Le terme anglosaxon est stateful inspection ou stateful packet filtering, traduisez
« filtrage de paquets avec état ».
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
187
3.2 Système pare-feu ( firewall)
Un dispositif pare-feu de type stateful inspection est ainsi capable d’assurer un suivi des échanges, c’est-à-dire de tenir compte de
l’état des anciens paquets pour appliquer les règles de filtrage. De cette manière, à partir du moment où une machine autorisée
initie une connexion à une machine située de l’autre côté du pare-feu ; l’ensemble des paquets transitant dans le cadre de cette
connexion seront implicitement acceptés par le pare-feu. Si le filtrage dynamique est plus performant que le filtrage de
paquets basique, il ne protège pas pour autant de l’exploitation des failles applicatives, liées aux vulnérabilités des applications.
Or, ces vulnérabilités représentent la part la plus importante des risques en termes de sécurité.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
188
3.2 Système pare-feu ( firewall)
❏ Filtrage applicatif
Le filtrage applicatif permet de filtrer les communications application par application. Le filtrage applicatif opère donc au niveau
7 (couche application) du modèle OSI, contrairement au filtrage de paquets simple (niveau 4). Le filtrage applicatif suppose donc
une connaissance des applications présentes sur le réseau, et notamment de la manière dont les données sont échangées (ports,
etc.). Le filtrage applicatif permet, comme son nom l’indique, de filtrer les communications application par application.
Un firewall effectuant un filtrage applicatif est appelé généralement passerelle applicative (ou proxy), car il sert de relais entre
deux réseaux en s’interposant et en effectuant une validation fine du contenu des paquets échangés.
Le proxy représente donc un intermédiaire entre les machines du réseau interne et le réseau externe, subissant les attaques à leur
place. De plus, le filtrage applicatif permet la destruction des en-têtes précédant le message applicatif, ce qui permet de fournir un
niveau de sécurité supplémentaire.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
189
3.2 Système pare-feu ( firewall)
Il s’agit d’un dispositif performant, assurant une bonne protection du réseau, pour peu qu’il soit correctement administré. En
contrepartie, une analyse fine des données applicatives requiert une grande puis sance de calcul et se traduit donc souvent par un
ralentissement des communications, chaque paquet devant être finement analysé.
Par ailleurs, le proxy doit nécessairement être en mesure d’interpréter une vaste gamme de protocoles et connaître les failles
afférentes pour être efficace.
Enfin, un tel système peut potentiellement comporter une vulnérabilité dans la mesure où il interprète les requêtes qui transitent
par son biais. Ainsi, il est recommandé de dissocier le pare-feu (dynamique ou non) du proxy, afin de limiter les risques de
compromission.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
190
3.2 Système pare-feu ( firewall)
Pare-feu personnel
Dans le cas où la zone protégée se limite à l’ordinateur sur lequel le firewall est installé on parle de firewall personnel (pare-feu
personnel).
Ainsi, un firewall personnel permet de contrôler l’accès au réseau des applications installées sur la machine, et notamment
empêcher les attaques du type cheval de Troie, c’est-à-dire des programmes nuisibles ouvrant une brèche dans le système afin de
permettre une prise en main à distance de la machine par un pirate informatique.
Le firewall personnel permet en effet de repérer et d’empêcher l’ouverture non sollicitée de la part d’applications non autorisées à
se connecter.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
191
3.2 Système pare-feu ( firewall)
CATEGORIES DE PARE-FEU
Il existe 3 modèles de firewalls. Chacun possède des avantages et désagréments. Il faudra donc préalablement analyser les besoins
réels en termes de sécurité, ainsi que les coûts engendrés avant toute utilisation :
Les firewalls Bridge - Ce format de mur de feu a l’apparence d’un simple câble réseau, sans machine spécifique. Il est invisible
et indétectable pour un pirate, son adresse MAC ne circulant jamais sur le réseau. Placé sur le réseau, le pirate devra donc
automatiquement passer par lui pour transmettre des requêtes. On trouvera notamment ce type de firewalls dans des Switch. Ces
formats de pare-feu ont pour avantages : Ils sont relativement peu coûteux et transparent lors de leurs mises en place. Ils
présentent comme Inconvénients : Pour les contourner, il suffit d’adapter l’attaque ; et ses
fonctionnalités sont souvent restreintes.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
192
3.2 Système pare-feu ( firewall)
Les firewalls hardware - Ils sont souvent assimilés à des boites noires, l’accès à leur code étant difficile. Ce type de matériel
propriétaire renferme d’ailleurs souvent un système de protection permettant d’authentifier le logiciel associé (par signature RSA
par exemple), et ainsi rendre toute modification pratiquement impossible. Ils ont pour avantages : Ils sont facilement intégrables
au réseau ; leur administration est souvent simplifiée et leur niveau de sécurité est assez élevé. Ils présentent comme Inconvénients
: Ce type de firewall étant propriétaire, les mises à jour dépendent entièrement du constructeur et en raison de l’architecture
hardware, peu de modifications sont autorisées.
Les firewalls logiciels - Ces pare-feu existent autant sous forme commerciales que sous forme gratuites. Quelque soit leur
origine, la sécurité pourra fortement varier. Un logiciel commercial pourra parfois mettre en avant sa facilité de mise en place et
de configuration, mais ce sera souvent aux dépends de la sécurité. Au niveau des logiciels gratuits et/ou libres, ils seront souvent
plus flexibles (c’est-à-dire plus fournis en options), mais nécessiteront la plupart du temps de bonnes connaissances en réseau afin
de les configurer finement sans abaisser le niveau de sécurité.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
193
3.2 Système pare-feu ( firewall)
Limites des systèmes pare-feu
Un système pare-feu n’offre bien évidemment pas une sécurité absolue, bien au contraire. Les firewalls n’offrent une protection
que dans la mesure où l’ensemble des communications vers l’extérieur passe systématiquement par leur intermédiaire et qu’ils
sont correctement configurés. Ainsi, les accès au réseau extérieur par contournement du firewall sont autant de failles de sécurité.
C’est notamment le cas des connexions effectuées à partir du réseau interne à l’aide d’un modem ou de tout moyen de connexion
échappant au contrôle du pare-feu.
De la même manière, l’introduction de supports de stockage provenant de l’extérieur sur des machines internes au réseau ou bien
d’ordinateurs portables peut porter fortement préjudice à la politique de sécurité globale.
Enfin, afin de garantir un niveau de protection maximal, il est nécessaire d’administrer le pare-feu et notamment de surveiller son
journal d’activité afin d’être en mesure de détecter les tentatives d’intrusion et les anomalies.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
194
3.2 Système pare-feu ( firewall)
Par ailleurs, il est recommandé d’effectuer une veille de sécurité (en s’abonnant aux alertes de sécurité des CERT par exemple)
afin de modifier le paramétrage de son dispositif en fonction de la publication des alertes.
La mise en place d’un firewall doit donc se faire en accord avec une véritable politique de sécurité.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
195
3.3 Zone démilitarisée (DMZ)
Les systèmes pare-feu (firewall) permettent de définir des règles d’accès entre deux réseaux. Néanmoins, dans la pratique, les
entreprises ont généralement plusieurs sous-réseaux avec des politiques de sécurité différentes.
C’est la raison pour laquelle il est nécessaire de mettre en place des architectures de systèmes pare-feu permettant d’isoler les
différents réseaux de l’entreprise : on parle ainsi de cloisonnement des réseaux (le terme isolation est parfois également utilisé)
Lorsque certaines machines du réseau interne ont besoin d’être accessibles de l’extérieur (serveur web, serveur de messagerie,
serveur FTP public, etc.), il est souvent nécessaire de créer une nouvelle interface vers un réseau à part, accessible aussi bien du
réseau interne que de l’extérieur, sans pour autant risquer de compromettre la sécurité de l’entreprise.
On parle ainsi de zone démilitarisée (notée DMZ, DeMilitarized Zone) pour désigner cette zone isolée hébergeant des applications
mises à disposition du public. La DMZ fait ainsi office de « zone tampon » entre le réseau à protéger et le réseau hostile.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
196
3.3 Zone démilitarisée (DMZ)
Les serveurs situés dans la DMZ sont appelés bastions en raison de leur position d’avant-poste dans le réseau de l’entreprise.
La politique de sécurité mise en œuvre sur la DMZ est généralement la suivante :
➤ Trafic du réseau externe vers la DMZ autorisé.
➤ Trafic du réseau externe vers le réseau interne interdit.
➤ Trafic du réseau interne vers la DMZ autorisé.
➤ Trafic du réseau interne vers le réseau externe autorisé.
➤ Trafic de la DMZ vers le réseau interne interdit.
➤ Trafic de la DMZ vers le réseau externe interdit
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
197
3.4 Serveurs mandataires(proxy)
Un serveur proxy (traduction française de proxy server, appelé aussi serveur mandataire) est à l’origine une machine faisant
fonction d’intermédiaire entre les ordinateurs d’un réseau local (utilisant parfois des protocoles autres que le protocole TCP/IP) et
Internet.
La plupart du temps le serveur proxy est utilisé pour le Web, il s’agit alors d’un proxy HTTP. Toutefois il peut exister des serveurs
proxy pour chaque protocole applicatif (FTP, etc.).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
198
3.4 Serveurs mandataires(proxy)
Principe de fonctionnement
Le principe de fonctionnement d’un serveur proxy est assez simple : il s’agit d’un serveur « mandaté » par une application pour
effectuer une requête sur Internet à sa place. Ainsi, lorsqu’un utilisateur se connecte à l’aide d’une application cliente configurée
pour utiliser un serveur proxy, celle-ci va se connecter en premier lieu au serveur proxy et lui donner sa requête. Le serveur proxy
va alors se connecter au serveur que l’application cliente cherche à joindre et lui transmettre la requête. Le serveur va ensuite
donner sa réponse au proxy, qui va à son tour la transmettre à l’application cliente
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
199
3.4 Serveurs mandataires(proxy)
Fonctionnalités d’un serveur proxy
Avec l’utilisation de TCP/IP au sein des réseaux locaux, le rôle de relais du serveur proxy est directement assuré par les passerelles
et les routeurs. Pour autant, les serveurs proxy sont toujours d’actualité grâce à un certain nombre d’autres fonctionnalités.
❏ Cache
La plupart des proxys assurent ainsi une fonction de cache (caching), c’est-à-dire la capacité à garder en mémoire (en « cache »)
les pages les plus souvent visitées par les utilisateurs du réseau local afin de pouvoir les leur fournir le plus rapidement possible.
En effet, en informatique, le terme de « cache » désigne un espace de stockage temporaire de données (le terme de « tampon » est
également parfois utilisé).
Un serveur proxy ayant la possibilité de cacher (néologisme signifiant « mettre en mémoire cache ») les informations est
généralement appelé serveur proxy-cache.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
200
3.4 Serveurs mandataires(proxy)
Cette fonctionnalité implémentée dans certains serveurs proxy permet d’une part de réduire l’utilisation de la bande passante vers
Internet ainsi que de réduire le temps d’accès aux documents pour les
utilisateurs.
Toutefois, pour mener à bien cette mission, il est nécessaire que le proxy compare régulièrement les données qu’il stocke en
mémoire cache avec les données distantes afin de s’assurer que les données en cache sont toujours valides.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
201
3.4 Serveurs mandataires(proxy)
❏ Filtrage
D’autre part, grâce à l’utilisation d’un proxy, il est possible d’assurer un suivi des connexions (logging ou tracking) via la
constitution de journaux d’activité (logs) en enregistrant systématiquement les requêtes des utilisateurs lors de leurs demandes de
connexion à Internet.
Il est ainsi possible de filtrer les connexions à Internet en analysant d’une part les requêtes des clients, d’autre part les réponses des
serveurs.
Le filtrage basé sur l’adresse des ressources consultées est appelé filtrage d’URL.
Lorsque le filtrage est réalisé en comparant la requête du client à une liste de requêtes autorisées, on parle de liste blanche,
lorsqu’il s’agit d’une liste de sites interdits on parle de liste noire.
Enfin l’analyse des réponses des serveurs conformément à une liste de critères (mots-clés...) est appelée filtrage de contenu.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
202
3.4 Serveurs mandataires(proxy)
❏ Authentification
Dans la mesure où le proxy est l’intermédiaire indispensable des utilisateurs du réseau interne pour accéder à des ressources
externes, il est parfois possible de l’utiliser pour authentifier les utilisateurs, c’est-à-dire de leur demander de s’identifier à l’aide
d’un nom d’utilisateur et d’un mot de passe par exemple. Il est ainsi aisé de donner l’accès aux ressources externes aux seules
personnes autorisées à le faire et de pouvoir enregistrer dans les fichiers journaux des accès identifiés. Ce type de mécanisme
lorsqu’il est mis en œuvre pose bien évidemment de nombreux problèmes relatifs aux libertés individuelles et aux droits des
personnes.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
203
3.5 Systèmes de détectioon d’intrusions
On appelle IDS (Intrusion Detection System) un mécanisme écoutant le trafic réseau de manière furtive afin de repérer des
activités anormales ou suspectes et permettant ainsi d’avoir une action de prévention sur les risques d’intrusion.
Il existe deux grandes familles distinctes d’IDS :
➤ Les N-IDS (Network Based Intrusion Detection System) : ils assurent la sécurité au niveau du réseau.( snort, suricata,
checkpoint)
➤ Les H-IDS (Host Based Intrusion Detection System) : ils assurent la sécurité au niveau des hôtes.( fail2ban,IceSword,
Ossec,Tripwire,,)
➤ les IDS hybrides, qui utilisent les NIDS et HIDS pour avoir des alertes plus pertinentes( ossim, prelude,,)
Un N-IDS nécessite un matériel dédié et constitue un système capable de contrôler les paquets circulant sur un ou plusieurs liens
réseau dans le but de découvrir si un acte malveillant ou anormal a lieu. Le N-IDS place une ou plusieurs cartes d’interface réseau
du système dédié en mode promiscuité (promiscuous mode), elles sont alors en mode « furtif » afin qu’elles n’aient pas d’adresse
IP. Elles n’ont pas non plus de pile de protocole attachée.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
204
3.5 Systèmes de détectioon d’intrusions
Il est fréquent de trouver plusieurs IDS sur les différentes parties du réseau et en particulier de placer une sonde à l’extérieur du
réseau afin d’étudier les tentatives d’attaques ainsi qu’une sonde en interne pour analyser les requêtes ayant traversé le pare-feu ou
bien menées depuis l’intérieur
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
205
3.5 Systèmes de détectioon d’intrusions
Le H-IDS réside sur un hôte particulier et la gamme de ces logiciels couvre donc une grande partie des systèmes d’exploitation
tels que Windows, Solaris, Linux, HP-UX, Aix, etc.
Le H-IDS se comporte comme un démon ou un service standard sur un système hôte. Traditionnellement, le H-IDS analyse des
informations particulières dans les journaux de logs et aussi capture les paquets réseaux entrant/sortant de l’hôte pour y déceler
des signaux d’intrusions (déni de services, backdoors, chevaux de Troie, tentatives d’accès non autorisés, exécution de codes
malicieux, attaques par débordement de tampon, etc.).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
206
3.5 Systèmes de détectioon d’intrusions
Techniques de détection
Le trafic réseau est généralement (en tout cas sur Internet) constitué de datagrammes IP. Un N-IDS est capable de capturer les
paquets lorsqu’ils circulent sur les liaisons physiques sur lesquelles il est connecté. Un N-IDS consiste en une pile TCP/IP qui
réassemble les datagrammes IP et les connexions TCP. Il peut appliquer les techniques suivantes pour reconnaître les intrusions :
➤ Vérification de la pile protocolaire : un nombre d’intrusions, tels que par exemple ping of death et TCP stealth scanning ont
recours à des violations des protocoles IP, TCP, UDP, et ICMP dans le but d’attaquer une machine. Une simple vérification
protocolaire peut mettre en évidence les paquets invalides et signaler ce type de techniques très usitées.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
207
3.5 Systèmes de détectioon d’intrusions
➤ Vérification des protocoles applicatifs : nombre d’intrusions utilisent des comportements protocolaires invalides, comme
par exemple WinNuke, qui utilise des données NetBIOS invalides (ajout de données OOB data). Dans le but de détecter
efficacement ce type d’intrusions, un N-IDS doit implémenter une grande variété de protocoles applicatifs tels que NetBIOS,
TCP/IP…
Cette technique est rapide (il n’est pas nécessaire de chercher des séquences d’octets sur l’exhaustivité de la
base de signatures), élimine en partie les fausses alertes et s’avère donc plus efficiente. Par exemple, grâce à l’analyse protocolaire
le N-IDS distinguera un événement de type « Back Orifice PING » (dangerosité basse) d’un événement de type « Back Orifice
COMPROMISE » (dangerosité haute).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
208
3.5 Systèmes de détectioon d’intrusions
➤ Reconnaissance des attaques par pattern matching : cette technique de reconnaissance d’intrusions est la plus ancienne
méthode d’analyse des N-IDS et elle est encore très courante.
Il s’agit de l’identification d’une intrusion par le seul examen d’un paquet et la reconnaissance dans une suite d’octets du paquet
d’une séquence caractéristique d’une signature précise. Par exemple, la recherche de la chaîne de caractères « /cgi-bin/phf », qui
indique une tentative d’exploit sur le script CGI appelé « phf ». Cette méthode est aussi utilisée en complément de filtres sur les
adresses IP sources, destinations utilisées par les connexions, les ports sources et/ou destination. On peut tout aussi coupler cette
méthode de reconnaissance afin de l’affiner avec la succession ou la combinaison de flags TCP.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
209
3.5 Systèmes de détectioon d’intrusions
Cette technique est répandue chez les N-IDS de type « Network Grep » basé sur la capture des paquets bruts sur le lien surveillé,
et comparaison via un analyseur sémantique de type « expressions régulières » qui va tenter de faire correspondre les séquences de
la base de signatures octet par octet avec le contenu du paquet capturé.
L’avantage principal de cette technique tient dans sa facilité de mise à jour et évidemment dans la quantité importante de
signatures contenues dans la base du N-IDS. Cette technique entraîne néanmoins inévitablement un nombre important de fausses
alertes ou faux positifs.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
210
3.5 Systèmes de détectioon d’intrusions
LES NIDS (IDS réseau)
Un NIDS se découpe en trois grandes parties : la capture, les signatures et les alertes. Cependant à ces trois principales parties,
s’ajoute de même 2 principales techniques :
--La Capture - La capture sert à la récupération de trafic réseau. En général cela se fait en temps réel, bien que certains NIDS
permettent l'analyse de trafic capturé précédemment. La plupart des NIDS utilisent la bibliothèque standard de capture de paquets
libpcap. La bibliothèque de capture de paquets Packet Capture Library est portée sur quasiment toutes les plates-formes, ce qui
permet en général aux IDS réseau de suivre.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
211
3.5 Systèmes de détectioon d’intrusions
Le fonctionnement de la capture d'un NIDS est donc en général fortement lié à cette libpcap. Son mode de fonctionnement est de
copier (sous Linux) tout paquet arrivant au niveau de la couche liaison de données du système d'exploitation. Une fois ce paquet
copié, il lui est appliqué un filtre BPF (Berkeley Packet Filter), correspondant à l'affinage de ce que l'IDS cherche à récupérer
comme information. Il se peut que certains paquets soient ignorés car sous une forte charge, le système d'exploitation ne les
copiera pas. Le comportement de la libpcap est différent dans le monde BSD, puisqu'il lui attache le fichier périphérique «
/dev/bpf », permettant ainsi aux NIDS de ne pas avoir besoin des droits super utilisateur pour capturer le trafic mais simplement
de pouvoir lire sur ce fichier sur lequel les filtres sont directement compilés. Aussi, le trafic analysé n'est pas forcément égal à
celui du trafic entrant, étant donné que la libpcap agit à une couche en dessous du pare-feu (qui agit au niveau réseau).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
212
3.5 Systèmes de détectioon d’intrusions
--Les Signatures - Les bibliothèques de signatures (approche par scénario) rendent la démarche d'analyse similaire à celle des anti-
virus quand ceux-ci s'appuient sur des signatures d'attaques. Ainsi, le NIDS est efficace s'il connaît l'attaque, mais inefficace dans
le cas contraire. Les outils commerciaux ou libres ont évolué pour proposer une personnalisation de la signature afin de faire face
à des attaques dont on ne connaît qu’une partie des éléments. Les outils à base de signatures requièrent des mises à jour très
régulières.
Les NIDS ont pour avantage d'être des systèmes temps réel et ont la possibilité de découvrir des attaques ciblant plusieurs
machines à la fois. Leurs inconvénients sont le taux élevé de faux positifs qu'ils génèrent, le fait que les signatures aient toujours
du retard sur les attaques de type « 0day » et qu'ils puissent être la cible d'une attaque.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
213
3.5 Systèmes de détectioon d’intrusions
--Les Alertes - Les alertes sont généralement stockées dans les journaux du système.
Cependant il existe une norme qui permet d'en formaliser le contenu, afin de permettre à différents éléments de sécurité
d'interopérer. Ce format s'appelle IDMEF (pour Intrusion Detection Message Exchange Format) décrit dans la RFC 4765. Le
format IDMEF est popularisé par le projet Prelude, qui offre une infrastructure permettant aux IDS de ne pas avoir à s'occuper de
l'envoi des alertes. Cela permet aux IDS de n'avoir qu'à décrire les informations qu'ils connaissent et « Prelude » se charge de les
stocker pour permettre une visualisation humaine ultérieure.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
214
3.5 Systèmes de détectioon d’intrusions
La recherche de motif (pattern matching) - La recherche de motif est ce qui permet à un NIDS de trouver le plus rapidement
possible les informations dans un paquet réseau.
L’Analyse - À partir des éléments donnés dans l'introduction, le moteur d'analyse met ces éléments de relation en employant
plusieurs techniques : la défragmentation, la dissection protocolaire ou encore l'analyse comportementale :
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
215
3.5 Systèmes de détectioon d’intrusions
*La défragmentation - Les paquets dépassant une certaine taille (qui en général est de 1 500 octets) sont fragmentés. La
fragmentation de l'en-tête de la couche transport étant aussi possible, cela rendait les NIDS vulnérables aux attaques de Stick et de
Snort car les paquets fragmentés n'étaient pas analysés. Les NIDS ont le devoir de défragmenter les paquets avant analyse, afin de
ne pas manquer une attaque. Il s'agit d'une opération relativement complexe, étant donné que chaque hôte de destination ne
défragmente pas de la même façon, selon le système d'exploitation sur lequel l'attaque est visée. Il s'agit encore d'une technique
d'évasion utilisable aujourd'hui car les NIDS ne sont pas forcément configurés correctement pour gérer un cas précis.
*La dissection - La dissection permet de comprendre un protocole donné, de le décoder pour l'analyser. Il s'agit de la partie la plus
sensible des NIDS car c'est elle qui est le plus grand vecteur d'attaques
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
216
3.5 Systèmes de détectioon d’intrusions
LES HIDS (IDS machine)
Les HIDS, pour Host based IDS, signifiant "Système de détection d'intrusion machine« sont des IDS dédiés à un matériel ou
système d'exploitation. Généralement, contrairement à un NIDS, le HIDS récupère les informations qui lui sont données par le
matériel ou le système d'exploitation. Il y a pour cela plusieurs approches : signatures, comportement (statistiques) ou délimitation
du périmètre avec un système d'ACL (Access Control List). Un HIDS se comporte comme un daemon ou un service standard sur
un système hôte qui détecte une activité suspecte en s’appuyant sur une norme. Si les activités s’éloignent de la norme, une alerte
est générée. La machine peut être surveillée sur plusieurs points :
Activité de la machine : nombre et listes de processus ainsi que d'utilisateurs, ressources consommées, ...
Activité de l'utilisateur : horaires et durée des connexions, commandes utilisées, messages envoyés, programmes activés,
dépassement du périmètre défini...
Activité malicieuse d'un ver, virus ou cheval de Troie.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
217
3.5 Systèmes de détectioon d’intrusions
Un autre type d'HIDS cherche les intrusions dans le « noyau » (kernel) du système, et les modifications qui y sont apportées.
Certains appellent cette technique « analyse protocolaire ». Très rapide, elle ne nécessite pas de recherche dans une base de
signature. Exemples de contrôles pour Windows :
EPROCESS (structure de données en mode noyau contenant des informations qui peuvent permettre de cacher un processus) ;
Les processus fonctionnant en mode « noyau »
Les fonctions logicielles système ou de gestion de périphérique présentes dans l'ordinateur.
La SSDT (System Service Dispatch Table) table utilisée par Windows pour diriger des appels de système vers un traitement
approprié : table d'adressage des interruptions ; etc.
Le HIDS a pour avantage de n'avoir que peu de faux positifs, permettant d'avoir des alertes pertinentes. Quant à ses inconvénients
il faut configurer un HIDS par poste et il demande une configuration de chaque système.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
218
3.5 Systèmes de détectioon d’intrusions
LES IDS hybride
Les IDS hybrides sont basés sur une architecture distribuée, où chaque composant unifie son format d'envoi d'alerte (typiquement
IDMEF : Intrusion Detection Message Exchange Format) permettant à des composants divers de communiquer et d'extraire des
alertes plus pertinentes.
Les avantages des IDS hybrides sont multiples :
Moins de faux positifs ;
Meilleure corrélation ;
Possibilité de réaction sur les analyseurs.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
219
3.5 Systèmes de détectioon d’intrusions
TECHNIQUES D’ANALYSE DU TRAFIC DES IDS
Il existe principalement deux techniques d’analyse du trafic, chacune ayant des avantages et des inconvénients :
L’analyse comportementale (AIDS : Anomaly Intrusion Detection System) - à partir d’un comportement normal déterminé,
l’IDS analyse le comportement des machines. Si un ordinateur se connecte en pleine nuit alors que personne n’est présent, cela
pourrait lever une alerte pour l’IDS. Ainsi, dans ce type d’analyse, un profil est dressé et lorsque la machine liée s’éloigne du
profil type, l’IDS réagit.
>Avantage : ce type d’analyse permet de détecter des attaques inconnues, elle ne nécessite pas de base de données.
>Inconvénient : cette détection est assez aléatoire, elle peut produire de fausses alertes relativement facilement.
L’analyse par scénario (MIDS : Misuse Intrusion Detection System) - l’IDS utilise ici une base de données de signatures
d’attaques. Ces signatures peuvent être assimilées à des déroulements d’attaques. En effet, chaque attaque possède des
caractéristiques propres (numéro de port, taille de paquet, protocole employé...).
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
220
3.5 Systèmes de détectioon d’intrusions
Ces caractéristiques peuvent être collectées et placées dans une base de données qu’interrogera l’IDS. Ce type d’IDS utilise les
fichiers journaux (log). Dès qu’il détectera des séquences suspectes (relatives à une signature de sa base de données), il
déclenchera une alerte.
Avantage : on peut gérer les attaques de façon très précise.
Inconvénient : on doit maintenir une base de données à jour.
Avertissons que certains IDS analysent uniquement les fichiers systèmes (fichiers d’historique), et d’autres uniquement le trafic
réseau. On les nomme respectivement HIDS pour "Host IDS" (protection des machines) et NIDS pour "Network IDS" (protection
du réseau). Les IDS ne réagissent pas non plus de la même manière en présence d’une attaque. La plupart agissent passivement,
c’est-à-dire qu’une fois l’attaque détectée, ils émettent simplement une alerte. D’autres, beaucoup moins répandus, tentent de
contre-attaquer. On dit que ces derniers sont actifs.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
221
3.5 Systèmes de détectioon d’intrusions
LA CORRÉLATION DES IDS HYBRIDE
La corrélation est une connexion entre deux ou plusieurs éléments, dont un de ces éléments crée ou influence un autre. Elle se
traduit plus généralement par la transformation d'une ou plusieurs alertes en attaque. Cela permet de faciliter la compréhension sur
les attaques au lieu de s'éparpiller parmi les alertes. Idéalement, elle nécessite un IDS Hybride car plus il y a d'informations
hétérogènes sur un événement, plus la corrélation se fait d'une façon pertinente.
Les formats ayant été normalisés (IDMEF), il ne reste plus qu'à faire des associations afin de détecter des alertes qui n'auraient
jamais eu lieu sur un analyseur seul.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
222
3.5 Systèmes de détectioon d’intrusions
Si l'on prend l'exemple d'une authentification échouée, cela génère une alerte de faible intensité. Mais s'il y a une série
d'authentifications échouées avec des utilisateurs différents, on peut conclure à une attaque de force brute. La corrélation permet
de générer de nouvelles alertes à partir de celles existantes. C'est une étape préalable à une contre-mesure efficace. Il y a diverses
façons de faire de la corrélation. Cependant on peut définir deux catégories :
---la corrélation passive - correspondant à une génération d'alerte basée sur celles existantes. Nous pouvons prendre par exemple
les scans de force brute ssh ;
---la corrélation active - qui va chercher les informations correspondant à des alertes émises. Par exemple, lorsqu'une personne se
connecte en dehors des heures de travail, cela a une influence importante qui n'aurait pas été en temps normal d'activité
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
223
3.5 Systèmes de détectioon d’intrusions
L'HARMONISATION DES FORMATS
Le format IDMEF (Intrusion Detection Message Exchange Format) décrit une alerte de façon objet et exhaustive. Une alerte est le
message qui est émis depuis un analyseur, qui est une sonde en langage IDMEF, vers un collecteur. Le but d'IDMEF est de
proposer un standard permettant d'avoir une communication homogène quels que soient l'environnement ou les capacités d'un
analyseur donné.
Ces alertes sont définies au format XML, offrant une possibilité de validation de chaque message. En général, les implémentations
restent binaires, afin d'éviter les problèmes connus d'ajout d'information inutiles en dehors d'XML lorsque l'on envoie un message
sur le réseau.
Le format IDMEF offre aussi un vocabulaire précis, qu'il est courant d'utiliser dans le domaine de la détection d'intrusions. Par
exemple, une classification correspond au nom d'une alerte ; une influence à celui d'un niveau d'attaque.
Première partie : Sécurité Informatique
Chapitre 3 : Système de protection informatique
224
3.5 Systèmes de détectioon d’intrusions
LA CONTRE-MESURE DES IDS HYBRIDE
La contre-mesure est l'art de piloter les éléments réseau ou la machine cible, afin d'empêcher une attaque de se propager
(Islanding) ou de perdurer. Il s'agit d'une procédure assez compliquée et souvent désactivée. Ce qui rend la contre-mesure difficile
est la définition d'une attaque d'un point de vue formel. Il n'est pas possible de se baser sur des éléments qui génèrent des faux
positifs. Et cela peut aussi engendrer un autre problème où l'attaquant se fait passer pour un client du réseau en générant des motifs
d'attaque. Cela peut même bloquer le réseau interne si la contre-mesure est mal configurée. Un système de contre-mesure se
configure en général avec une liste blanche, dans laquelle sont mises les IP du réseau interne.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
225
Introduction
Dans ce chapitre, nous allons présenter d'une manière succincte les différentes techniques d'accès aux données dans un système
informatique en général et dans un système d'exploitation en particulier. Étant donné que l'accès à un système exige une
authentification, nous allons exposer les caractéristiques et la problématique d'un mot de passe.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
226
4.1 Modèle de LAMPSON
C'est en 2001 que Butler W. Lampson a présenté un modèle mettant en évidence les relations entre les différentes entités réelles
d’un système d’accès aux données. Avant de voir un peu plus en détails les trois méthodes d’accès principales existantes, nous
allons donc présenter son modèle. Lampson a défini les entités de son modèle en ceci :
Sujet - Entité pouvant effectuer des actions (humain, processus, machine,. . .) ;
Action - Opération effectuée par le sujet afin d’accéder à l’objet ;
Gardien - Entité contrôlant l’accès proprement dit.
Objet - Entité considérée comme ressource nécessitant un contrôle d’accès (fichier, répertoire, port,. . .) ;
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
227
4.1 Modèle de LAMPSON
L’exemple ci-après illustre, en pratique, le modèle de Lampson:
SUJET ACTION GARDIEN OBJET
Utilisateur REQUETE DBMS BASE DE DONNEES
UTILISATEUR AFFICHER UNE PAGE WEB SERVEUR WEB PAGE WEB
MACHINE ENVOI DE PAQUET FIREWALL INTRANET
PROGRAMME OUVRIR UN FICHIER SECURITY FICHIER
MANAGEMENT JAVA
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
228
4.1 Modèle de LAMPSON
Le modèle de Lampson est particulièrement adapté à la présentation pratique du protocole AAA (Authentification, Autorisation et
Audit). En effet, par l’intermédiaire de son schéma, on représente facilement les endroits où ont lieu les différentes phases dudit
protocole.
En revanche, la vérification de l’identité des parties communicantes est en réalité la base de tous les systèmes existants. Il fut
complété au fil des années, mais reste historiquement la première modélisation de la sécurité d’un système. Le contrôle d’accès se
fait en 4 étapes :
Identification : Qui êtes-vous ?
Authentification : Prouvez-le !
Autorisation : Avez-vous les droits requis ?
Accounting/Audit : Qu’avez-vous fait ?
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
229
4.1 Modèle de LAMPSON
Nous parlons du protocole AAA (les deux premières étapes sont fusionnées). Dans certaines situations, nous scinderons la dernière
étape. Nous parlerons d’Accounting lorsque le fait de comptabiliser des faits sera demandé, et d’Audit lorsque des résultats plus
globaux devront être étudiés. Notons également que l’authentification, visant à prouver l’identité d’un
individu peut se faire de plusieurs manières :
Ce que vous savez (mot de passe, code PIN, etc.) ;
Ce que vous avez (carte magnétique, lecteur de carte, etc.) ;
Ce que vous êtes (empreintes digitales, réseau rétinien, etc.).
L’authentification forte résultera de la combinaison de deux de ces facteurs.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
230
4.2 Méthodes d’accès aux données
Access List Control (ACL)
L’accès est déterminé par le propriétaire de l’objet. Celui-ci détermine qui (sujet) peut utiliser l’objet, et comment (action) il peut
’utiliser. On part du principe que tous les objets ont un propriétaire (qui sera souvent le sujet qui aura créé cet objet).
Quelques variantes de ce type d’accès permettent un transfert de propriété ou la délégation d’un droit entre utilisateurs non-
propriétaires. Cette méthode d’accès est celle rencontrée la plupart du temps dans les systèmes d’exploitation courants (Linux,
Windows). Le principe est d’associer une liste de contrôle d’accès à chaque fichier. Cette ACL renferme un
certain nombre d’entrées (Access Control Entry - ACE). Le détail des accès permis ou refusé est mentionné. Exemple d’ACL liée
un objet T :
ACE1 : L’utilisateur A peut le lire ;
ACE2 : L’utilisateur B ne peut pas le modifier ;
ACE3: . . .
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
231
4.2 Méthodes d’accès aux données
Mandatory Access Control (MAC)
Il s’agit ici de contrôler l’accès en se concentrant sur les flux de données. L’accès est déterminé par le système :
Chaque sujet possède un label lui donnant un niveau de confiance ;
Chaque objet possède un label permettant d’identifier le niveau de confiance requis pour l’utiliser ;
Le sujet doit avoir un label supérieur ou égal à celui de l’objet.
Bref, cette méthode est beaucoup plus sûre, car elle ne dépend plus du propriétaire. Imaginez les pertes potentielles si le
propriétaire d’un objet “sensible” venait à donner l’accès (volontairement ou non) à tous les utilisateurs. . . Un exemple concret est
le modèle dérivé LBAC ( Lattice-Based Access Control). Une lattice est une règle définissant un ensemble de niveaux de sécurité.
Par exemple, la définition suivante, illustrée à la figure ci-dessous :
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
232
4.2 Méthodes d’accès aux données
Les sujets avec un label L ne peuvent lire que des objets
de label L0 <= L (No ReadUp) ;
Les sujets avec un label L ne peuvent écrire que des objets
de label L0 >= L (No Write-Down).
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
233
4.2 Méthodes d’accès aux données
Comme l'illustre l'image ci-dessous, on voit que ce système est très contraignant. Peu adapté à un environnement commercial, il
est peu répandu dans les contextes
non-militaires.
On le réserve à des lattices simples.
Bien que très sûr, il reste sensible
aux attaques par canaux cachés
(dialogue interprocessus à partir de
l’utilisation du processeur par exemple).
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
234
4.2 Méthodes d’accès aux données
Dans le contexte grand public, ce type de contrôle d’accès est rarement utilisé pour garantir la confidentialité en tant que telle.
Ainsi, les distributions Linux l’utilisent pour la vérification de l’intégrité des données. Son modèle porte le nom de "Biba Model”,
qui utilise une règle “no write-up”. Cette technique est notamment utilise pour empêcher la modification des données de l’OS à
partir de logiciels indésirables circulant sur Internet.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
235
4.2 Méthodes d’accès aux données
Role-Based Access Control (RBAC)
L’accès est ici aussi déterminé par le système. Cette méthode d’accès est régulièrement utilisée en entreprise, ou chaque personne
possède un rôle particulier qui lui donne accès à certaines informations. Le rôle va permettre d’attribuer un ensemble de
permissions à un type d’utilisateurs :
Plusieurs utilisateurs peuvent avoir
le même rôle ;
Un utilisateur peut avoir plusieurs rôles,
qu’il pourra activer au besoin.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
236
4.2 Méthodes d’accès aux données
Cette méthode est plus facile à mettre en œuvre que le DAC pour la simple raison qu’il suffit de changer de rôle lorsque cela
s’avère nécessaire (au lieu de modifier les accès pour chaque fichier). Il existe plusieurs variantes à cette méthode :
Utilisation de rôles « hiérarchiques » : un rôle « hiérarchiquement supérieur » possède toutes les permissions des rôles «
inférieurs » ;
Contrôle des activations simultanées des rôles : plusieurs rôles peuvent selon les cas être autorisés simultanément pour un même
utilisateur.
Ce type d’accès aux données apparait très proche de ce que nous connaissons sous Windows notamment, par l’intermédiaire de la
gestion des comptes utilisateurs. Cette filiation n’est pas anodine puisqu’il est en effet possible de simuler un système RBAC en
utilisant la notion de « groupes utilisateurs ». En réalité, il s’agit d’un DAC caché.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
237
4.2 Méthodes d’accès aux données
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
238
4.2 Méthodes d’accès aux données
Windows utilise des ACL spécifiant les accès par groupe :
ACE1 : Le groupe A ne peut pas lire le fichier ;
ACE2 : Le groupe B peut modifier le fichier, ...
Avec la figure ci-haut, on voit que:
A l’ouverture d’une session, l’utilisateur reçoit un jeton d’accès (Access Token). Ce jeton définira les actions qu’il peut effectuer.
SID - Security Identifier (unique) :
SACL : System ACL utilisé pour l’Audit ;
L’ordre établi dans la DACL est important : la première entrée correspondante est prise en compte ;
Comme on le voit, la notion de groupe est présente, mais ce sont bel et bien les droits définis par le propriétaire qui détermine
les actions possibles pour les autres utilisateurs.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
239
4.2 Méthodes d’accès aux données
Dynamic Access Control (DAC)
Le DAC est une solution de gouvernance de données, un ensemble de fonctionnalités qui permet aux entreprises d'organiser, de
gérer, de distribuer et de sécuriser les dossiers et les fichiers au sein de l'infrastructure. L'enjeu principal du DAC est de pouvoir
gérer le cycle de vie et l'intégrité de l'information au sein d'une organisation et de répondre finement aux besoins métier en termes
d'autorisation d'accès, ce que ne permettent pas toujours les permissions NTFS afin d'assurer la sécurité des données.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
240
4.2 Méthodes d’accès aux données
Sur ce, le DAC fournit un contrôle d'accès non plus seulement basé sur des autorisations NTFS, mais également basé sur des
expressions qui peuvent inclure des groupes de sécurités, des revendications, c'est-à-dire des propriétés propres à l'utilisateur, par
exemple, ou à la machine qu'il utilise, des propriétés liées à la ressource, des propriétés de classification, celles que l'on retrouve
plus classiquement dans le gestionnaire de ressources du serveur de fichiers de Windows. L'image ci-après illustre comment
fonctionne le DAC.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
241
4.2 Méthodes d’accès aux données
En sus, le DAC utilise une surcouche des listes de contrôle d'accès NTFS, on est bien au-dessus de la couche ACE, Access Control
Entry, dans ma liste ACL, ensuite le DAC va donc récupérer et utiliser des stratégies d'accès centralisé qui sont stockées dans
l'annuaire Active Directory; ce qui permet la mise en place des expressions conditionnelles, qui en fonction de ses expressions
vont accorder ou pas l'accès à un utilisateur sur une ressource.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
242
4.3 Notions sur le mot de passe
Définition
Un mot de passe est un mot ou une série de caractères utilisés comme moyen d'authentification pour prouver son identité lorsque
l'on désire accéder à un lieu protégé, à une ressource (notamment informatique) ou à un service dont l'accès est limité et protégé.
Le mot de passe doit être tenu secret pour éviter qu'un tiers non autorisé puisse accéder à la ressource ou au service. C'est une
méthode parmi d'autres pour vérifier qu'une personne correspond bien à l'identité déclarée. Il s'agit d'une preuve que l'on possède
et que l'on communique au service chargé d'autoriser l'accès.
C’est par exemple : Dans le conte « Ali Baba et les Quarante Voleurs des Mille et Une Nuits » figure l'un des plus célèbres mots de
passe : « Sésame, ouvre-toi ! ».
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
243
4.3 Notions sur le mot de passe
Le terme « mot de passe » est d'origine militaire. Les « mots d'ordres » comprennent le « mot de sommation » (c'est-à-dire la
question convenue) et le « mot de passe » (c'est-à-dire la réponse correspondante)14. Il s'agit des signes verbaux qui permettent à
deux unités ou deux militaires de se reconnaître mutuellement, par exemple lors d'une patrouille de nuit, au moment délicat du
retour dans le dispositif ami. Dans ce cas, le mot de passe est donc partagé par un groupe de personnes de confiance. Quand il
s'agit d'un code personnel, il vaut mieux utiliser l'expression « code confidentiel » pour mettre en évidence le caractère secret du
code et responsabiliser
son détenteur.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
244
4.3 Notions sur le mot de passe
PRINCIPE ET LIMITES
Une limite juridique existe, par exemple en France à la sécurisation par mot de passe : si des données chiffrées sont saisies par la
justice, la loi sur la sécurité quotidienne oblige l'utilisateur à fournir la méthode de chiffrement et les clés ou mots de passe.
L'utilisation de mots de passe est un compromis entre la sécurité et l'aspect pratique. Avec la multiplication de situations où il est
nécessaire de disposer d'un mot de passe, chacun de nous possède un nombre de plus en plus important de mots de passe. S'il est
légitime d'utiliser le même mot de passe pour l'ensemble des situations où celui-ci n'a pas grande importance, il reste néanmoins
de nombreux cas où un mot de passe de qualité doit être utilisé. Ce mot de passe ne peut être le même partout, d'une part pour
éviter que la compromission de celui-ci ne conduise à des situations malheureuses, d'autre part parce que certains sites et logiciels
obligent à changer régulièrement son mot de passe et en limitent la réutilisation. La mémoire de l'utilisateur étant alors insuffisante
pour mémoriser tous ces mots de passe, la tentation est grande de les lister. Il est indispensable que la liste de mots de passe ainsi
constituée soit plus protégée encore.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
245
4.3 Notions sur le mot de passe
On parle alors de « coffre-fort à mots de passe » :
Capture d'un mot de passe « en clair » - Un mot de passe est « en clair » lorsqu'il n'a pas été transformé via une fonction de
hachage. Il existe plusieurs situations où le mot de passe peut être trouvé en clair :
Espionnage direct du clavier de la personne qui saisit son mot de passe ;
Mise en place d'un enregistreur de frappes (keylogger), qui saisit tout texte tapé par un utilisateur à son insu ;
Écoute du réseau. Si un attaquant arrive à écouter une communication non chiffrée où la cible doit s'identifier par un mot de
passe, ce mot de passe apparaîtra en clair à l'attaquant.
Vol d'un mot de passe manuscrit.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
246
4.3 Notions sur le mot de passe
Certains logiciels permettent de rendre visibles les mots de passe des formulaires. Les caractères sont « cachés » par des ronds ou
astérisques, qui sont là pour éviter qu'une personne derrière soi ne lise ce que l'on saisit. Dans le programme, à ce moment-là, le
mot de passe est bien présent et encore non chiffré, le rendre visible consiste simplement à changer une option d'affichage.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
247
4.3 Notions sur le mot de passe
Capture d'un mot de passe chiffré - Dans le cas où un mot de passe chiffré est capturé, il n'est pas directement utilisable : la
personne malintentionnée (l'attaquant) doit découvrir le clair correspondant, en le déchiffrant si c'est possible, ou avec d'autres
techniques. On dit que l'attaquant casse ou « craque » le mot de passe. On distingue deux principaux cas de figure : le mot de
passe fait partie d'une communication, ou c'est seulement le mot de passe chiffré qui est capturé :
Toute la communication est chiffrée : Dans ce cas, il faut trouver un moyen de déchiffrer toute la communication pour trouver le
mot de passe. Il faut donc trouver une faille dans l'algorithme de chiffrement ou dans une de ses implémentations. Si le
chiffrement est cassé, peu importe la taille du mot de passe il sera trouvé dans le texte déchiffré.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
248
4.3 Notions sur le mot de passe
Seul le mot de passe chiffré est capturé : C’est généralement un condensat (ou hash) du mot de passe qui est capturé, c'est-à-dire
le résultat d'un algorithme non réversible.
C'est une bonne pratique, utilisée dans de nombreux cas : sites web, comptes d'utilisateur de système d'exploitation, etc. Dans le
cas où cet algorithme n'est pas vraiment irréversible (à cause d'erreurs de conception ou d'implémentation), il peut être possible de
retrouver le clair correspondant à un condensat. Par exemple, la gestion des mots de passe pour protéger les fichiers Excel et Word
d'Office 97 comporte des failles qui font qu'il est facile de trouver les mots de passe utilisés.
Mais en général pour casser un condensat, on utilise d'autres techniques. En connaissant la fonction de hachage, on peut imaginer
différentes attaques
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
249
4.3 Notions sur le mot de passe
l'attaque par force brute : on se donne un espace de mots de passe à explorer en se fixant une longueur et un ensemble de
caractères ; on énumère tous les mots de passe possibles de cet espace ; pour chacun de ces mots de passe on calcule l'empreinte
par la fonction de hachage, et on compare cette empreinte avec celle que l'on a capturée. Pour empêcher ces attaques, l'utilisation
d'un mot de passe long et complexe est recommandée. Par mot de passe complexe, on entend mot de passe comprenant différents
types de caractères : des lettres minuscules et majuscules, des chiffres, et des caractères non alphanumériques (comme !:/#@...).
La longueur du mot de passe assurera qu'il n'est pas énuméré lors d'une attaque par force brute : plus l'espace à énumérer est grand
et plus l’attaque ne prend de temps. Voir le graphique ci-contre (attention l'échelle est logarithmique).
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
250
4.3 Notions sur le mot de passe
l'attaque par dictionnaire : même chose que pour l'attaque par force brute, mais où les mots sont choisis dans un dictionnaire.
L'utilisation de caractères différents des lettres et chiffres assurera généralement que le mot de passe n'appartient pas à un
dictionnaire, et qu'il ne sera donc pas sensible à une attaque par dictionnaire.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
251
4.3 Notions sur le mot de passe
CHOIX DU MOT DE PASSE
S'il y a bien un domaine où la sécurité peut faire défaut, c’est dans la gestion des mots de passe utilisateur. En effet, la sécurité
d'un système dépend aussi du niveau de sécurité du mot de passe mis sur pied pour son accès. Lors de la création du mot de passe,
une attention particulière doit être portée sur certains points :
Si un générateur de mots de passe est utilisé, il devra employer une grande variété de caractères (pour le rendre plus robuste à la
force brute) ;
Il peut être utile d’utiliser un vérificateur de mots de passe afin de tester la vulnérabilité aux attaques par dictionnaire. Dans le
même temps, il pourra tester la taille des mots de passe face aux attaques par force brute ;
Il est bon d’associer une durée de vie aux mots de passe. Un changement régulier permet une meilleure protection contre la force
brute.
On peut aussi limiter le nombre d’essais.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
252
4.3 Notions sur le mot de passe
Des attaques plus complexes, issues de la cryptanalyse, comme l'utilisation de tables arc-en-ciel. L'utilisation d'un mot de passe
complexe ne protège pas nécessairement de ce type d'attaque. La préparation d'une attaque de ce type est longue et gourmande en
espace de stockage, mais elle est loin d'être inaccessible de nos jours.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
253
4.3 Notions sur le mot de passe
CRITÈRES DE ROBUSTESSE
La qualité et la longueur du mot de passe sont des éléments cruciaux pour la sécurité.
Un mot de passe trop court ou provenant d'un dictionnaire est susceptible d'être attaqué via une recherche dans une table contenant
une liste de mots de passe. D'une manière plus systématique, une attaque par force brute tente toutes les possibilités et, avec
suffisamment de temps, il est théoriquement possible de retrouver le mot de passe. Un compromis est la table arc-en-ciel, une
amélioration du principe du compromis temps-mémoire. La robustesse d'un mot de passe dépend de plusieurs critères :
Sa longueur - qui est le critère le plus important. Il est conseillé d'utiliser des mots de passe d'une longueur suffisante pour que
celui-ci soit protégé des attaques de force brute (cette longueur augmente au fil du temps avec la puissance des outils utilisés par
les attaquants - pour un mot de passe à usage local, on recommande dans les années 2010 au moins 12 caractères, voire 16
caractères pour des mots de passe plus sûrs)
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
254
4.3 Notions sur le mot de passe
Sa non-simplicité - 123456, www, 111111, Love, 0000, azerty… sont à proscrire, de même que les dates de naissance, le nom
du chien ou toutes autres informations ayant un rapport direct avec la vie privée. De même, les slogans et les citations sont
facilement attaquables via une attaque par dictionnaire. Plus généralement, le contenu du mot de passe ne devrait suivre aucune
logique, mais être une simple succession de caractères choisis aléatoirement.
Son unicité - la réutilisation du même mot de passe pour des services différents est à proscrire, afin d'éviter des dégâts en
cascade.
La variation des caractères utilisés- le mot de passe est plus fort lorsqu'il mélange des majuscules, des minuscules, des
chiffres, des signes de ponctuation et des caractères spéciaux. Notons par ailleurs qu'il est toujours plus sécurisé de chercher à
augmenter la longueur d'un mot de passe que de chercher à utiliser le plus possible des caractères différents.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
255
4.3 Notions sur le mot de passe
Par ailleurs, le choix d'un mot de passe doit se faire suivant la criticité de ce dernier (par exemple, un mot de passe permettant
d'accéder à l'interface d'administration d’une application ou d'un équipement sera considéré comme étant très critique).
Dans la pratique, une étude portant sur 32 millions de mots de passe du site RockYou.com, obtenus en 2009 à la suite d'une
attaque du site, a montré que 30 % de ces mots de passe comportaient six caractères ou moins, et que le plus fréquent (un peu
moins d'un sur cent) est « 123456 ». Tous les ans, Splash-Data, fournisseur de solutions de sécurité publie également une liste des
mots de passe les plus utilisés, et désignés comme étant « les pires mots de passe, à ne pas utiliser ». Les 5 mots de passe les plus
utilisés par les utilisateurs du monde entier en 2015 sont :
123456 ;
Password ;
12345678 ;
Qwerty.
Première partie : Sécurité Informatique
Chapitre 4 : Administration d’accès aux données informatiques
256
4.3 Notions sur le mot de passe
Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clé pour
le chiffrement et le déchiffrement.
Le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l’aide de la clé privée, afin de les
rendre inintelligibles. Ainsi, le moindre algorithme (tel qu’un OU exclusif) peut rendre le système quasiment inviolable (la
sécurité absolue n’existant pas).
Toutefois, dans les années 1940, Claude Shannon démontra que pour être totalement sûr, les systèmes à clés privées doivent
utiliser des clés d’une longueur au moins égale à celle du message à chiffrer.
De plus, le chiffrement symétrique impose d’avoir un canal sécurisé pour l’échange de la clé, ce qui dégrade sérieusement l’intérêt
d’un tel système de chiffrement.
Deuxième partie : Techniques cryptographiques
274 Chapitre 1I: Chiffrement symétrique
Le principal inconvénient d’un cryptosystème à clé secrète (appelé aussi cryptosystème symétrique) provient de l’échange des
clés. En effet, le chiffrement symétrique repose sur l’échange d’un secret (les clés) et pose le problème de la distribution des clés.
D’autre part, un utilisateur souhaitant communiquer avec plusieurs personnes en assurant de niveaux de confidentialité distincts
doit utiliser autant de clés privées qu’il a d’interlocuteurs. Pour un groupe de N personnes utilisant un cryptosystème à clés
secrètes, il est nécessaire de distribuer un nombre de clés égal à N * (N-1) / 2.
Ainsi, dans les années 1920, Gilbert Vernam et Joseph Mauborgne mirent au point la méthode du One Time Pad (méthode du
masque jetable, parfois appelée One Time Password, OTP), basée sur une clé privée, générée aléatoirement, utilisée une et une
seule fois, puis détruite. À cette même époque par exemple, le Kremlin et la Maison Blanche étaient reliés par le fameux
téléphone rouge, c’est-à-dire un téléphone dont les communications étaient cryptées grâce à une clé privée selon la méthode du
masque jetable. La clé privée était alors échangée grâce à la valise diplomatique (jouant le rôle de canal sécurisé).
Deuxième partie : Techniques cryptographiques
275 Chapitre 1II: Chiffrement asymétrique
Le principe de chiffrement asymétrique (appelé aussi chiffrement à clés publiques) est apparu en 1976, avec la publication d’un
ouvrage sur la cryptographie par Whitfield Diffie et Martin Hellman.
Dans un cryptosystème asymétrique (ou cryptosystème à clés publiques), les clés existent par paires (le terme de bi-clés est
généralement employé) :
➤ une clé publique pour le chiffrement ;
➤ une clé secrète pour le déchiffrement.
Ainsi, dans un système de chiffrement à clé publique, les utilisateurs choisissent une clé aléatoire qu’ils sont seuls à connaître (il
s’agit de la clé privée).
À partir de cette clé, ils déduisent chacun automatiquement un algorithme (il s’agit de la clé publique).
Les utilisateurs s’échangent cette clé publique au travers d’un canal non sécurisé.
Deuxième partie : Techniques cryptographiques
276 Chapitre 1II: Chiffrement asymétrique
Lorsqu’un utilisateur désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message à envoyer au moyen de la
clé publique du destinataire (qu’il trouvera par exemple dans un serveur de clés tel qu’un annuaire LDAP).
Le destinataire sera en mesure de déchiffrer le message à l’aide de sa clé privée (qu’il est seul à connaître).
Ce système est basé sur une fonction facile à calculer dans un sens (appelée fonction à trappe à sens unique ou one-way trapdoor
function) et mathématiquement très difficile à inverser sans la clé privée (appelée trappe).
À titre d’image, il s’agit pour un utilisateur de créer aléatoirement une petite clé en métal (la clé privée), puis de fabriquer un
grand nombre de cadenas (clé publique) qu’il dispose dans un casier accessible à tous (le casier joue le rôle de canal non sécurisé).
Deuxième partie : Techniques cryptographiques
277 Chapitre 1II: Chiffrement asymétrique
Pour lui faire parvenir un document, chaque utilisateur peut prendre un cadenas (ouvert), fermer une valisette contenant le
document grâce à ce cadenas, puis envoyer la valisette au propriétaire de la clé publique (le propriétaire du cadenas).
Seul le propriétaire sera alors en mesure d’ouvrir la valisette avec sa clé privée.
Avantages et inconvénients
Le problème consistant à se communiquer la clé de déchiffrement n’existe plus, dans la mesure où les clés publiques peuvent être
envoyées librement.
Le chiffrement par clés publiques permet donc à des personnes d’échanger des messages chiffrés sans pour autant posséder de
secret en commun.
En contrepartie, tout le challenge consiste à (s’)assurer que la clé publique que l’on récupère est bien celle de la personne à qui
l’on souhaite faire parvenir l’information chiffrée !
Deuxième partie : Techniques cryptographiques
278 Chapitre 1II: Chiffrement asymétrique