Vous êtes sur la page 1sur 261

REPUBLIQUE DEMOCRATIQUE DU

CONGO
ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

COURS DE SECURITE INFORMATIQUE


Niveau master

PAR MASTER ING CIVIL TUNDA-OLEMBE DJAMBA

JUILLET 2O18

1
CHAP 1. LES FONDEMENTS DE LA SECURITE
INFORMATIQUE

I.1 PRINCIPE ET FAILLES


I.1.1 GENERALITES

2
3
I.1.2 VULNERABILITE(FAILLE)

4
I.1.3 INTRODUCTION AUX ATTAQUES INFORMATIQUES

Tout ordinateur connecté à un réseau est potentiellement


vulnerable aux attaques.

5
6
7
8
9
10
11
I.1.4 RISQUES ET POLITIQUES DE SECURITE

12
13
I.2. PROTECTION

I.2.1 CAUSES DE VULNERABILITES ET SOLUTION

I.2.2 PROTECTION

14
15
16
I.3 LES PROGRAMMES MALVEILLANTS (MALWARES)

I.3.1 LES VIRUS


I.3.1.1 GENERALITES

17
I.3.2.2 TYPES DE VIRUS

18
19
I.3.2.3 EVITER LES VIRUS

20
I.3.2 LES VERS RESEAU
I.3.2.1 GENERALITES

I.3.2.2 PRINCIPE DE FONCTIONNEMENT

21
I.3.2.3 PARADES

I.3.3 Cheval de Troie (informatique)


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'y installer à l'insu de
l'utilisateur.

I.3.3.1 Historique
L'origine du concept

Le terme « cheval de Troie » a été inventé en 1970 par Daniel J.


Edwards1, chercheur à la NSA. La terminologie a été par la suite utilisée
en 1974 dans un rapport de l'US Air Force sur l'analyse de la vulnérabilité
des systèmes informatiques2, puis présentée en 1981 par David Jordan 3
et enfin vraiment popularisée par Ken Thompson dans la conférence

22
Turing4 qu'il donna à la réception du prix Turing en 1983, prix qu'il avait
reçu pour avoir créé UNIX. Sa conférence est sous-titrée:

« To what extent should one trust a statement that a program is


free of Trojan horses? Perhaps it is more important to trust: the
people who wrote the software. »

autrement dit :

« Dans quelle mesure peut-on croire qu'un programme est exempt


de chevaux de Troie ? Il est probablement plus important de croire
les gens qui ont écrit le logiciel. »

Il signale qu'il a eu connaissance de l'existence possibles de chevaux de


Troie, à la manière de ceux qu'ils présentent, dans un rapport sur la
sécurité de Multics dont malheureusement il ne peut pas trouver de
référence, mais Paul Karger et Roger Schell 5 sont en position d'affirmer
qu'il s'agit du rapport cité plus haut 2,6.

La légende du cheval de Troie dans l'Illiade

Le cheval de Troie

Les chevaux de Troie informatiques (ou trojan horses en anglais) tirent


leur nom d'une célèbre légende de la Grèce antique, racontée par Homère
dans l'Iliade et reprise par Virgile dans l'Énéide. Le cheval de Troie est la
méthode utilisée par les Grecs pour conquérir la ville de Troie : le héros
Ulysse fit construire un immense étalon de bois qu'il plaça devant les
portes de Troie et dans les flancs duquel il se cacha avec ses
compagnons. Lorsque les Troyens découvrirent ce cheval, ils le firent
entrer eux-mêmes dans leur cité. Ils s'endormirent sans méfiance tandis
que le cheval se trouvait dans leurs murs. À la nuit tombée, Ulysse et ses
compagnons sortirent de leur cachette et ouvrirent les portes de la ville
au reste de l'armée, qui la détruisit et massacra ses habitants.

23
Les chevaux de Troie aujourd’hui

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.

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 7.

I.3.3.3 Quelques précisions terminologiques

Le programme contenu (ou téléchargé par la suite automatiquement) est


appelé la "charge utile"[Par qui ?]. Il peut s'agir de n'importe quel type de
parasite : virus, keylogger, logiciel espion... C'est ce parasite qui va
exécuter des actions au sein de l'ordinateur victime8. Le cheval de Troie
n'est rien d'autre que le véhicule, celui qui fait "entrer le loup dans la
bergerie". Il n'est pas nuisible en lui-même car il n'exécute aucune action,
si ce n'est celle de permettre l'installation du vrai parasite.

Dans le langage courant, par métonymie on nomme souvent "cheval de


Troie" le parasite contenu à l'intérieur. Cette confusion est en partie
alimentée par les éditeurs d'antivirus, qui utilisent "trojan" comme nom
générique pour désigner différents types de programmes malveillants qui
n'ont rien à voir avec des trojans9.

I.3.3.4 Vecteurs d'infection

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. 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 10
un logiciel normalement payant (Adobe Acrobat pro, Photoshop, Microsoft
Office..).

24
I.3.3.5 Origines fréquentes des chevaux de Troie

 Téléchargement de versions trafiquées sur des sites non officiels ou


des plateformes peu sûres (P2P). Télécharger les logiciels sur le site
officiel de l'auteur ou du distributeur évite normalement d'avoir
affaire à une version infectée par un cheval de trois. Cela n'est
évidemment pas possible pour se procurer des versions crackées,
mais faisable pour tous les logiciels gratuits.[pas clair]
 Téléchargement de programmes P2P.
o Visite de sites Web contenant un exécutable (par exemple les
contrôles ActiveX ou des applications Java).
 Exploitation de failles dans des applications obsolètes (navigateurs,
lecteurs multimédias, clients de messagerie instantanée) et
notamment les Web Exploit.
 Ingénierie sociale (par exemple, un pirate envoie directement le
cheval de Troie à la victime par messagerie instantanée).
 Pièces jointes et fichiers envoyés par messagerie instantanée.
 Connexion d'un ordinateur à un périphérique externe infecté.
 Mise à jour de logiciel.
 Absence de logiciel de protection.

I.3.3.5 Notions voisines du 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.

 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.

25
 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).

 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). Le préfixe utilisé par les antivirus peut alors être
Trojan.PWD où PWD signifie password pour mot de passe.

I.3.3.6 Symptômes possibles d'une infection

 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 la souris, modification du
volume du lecteur audio.
 Ouverture/Fermeture intempestive de fenêtres.

26
 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.
 Prévention et lutte
 Pour lutter contre ce genre de programme malveillant, l'utilisation
d'un antivirus peut s'avérer efficace, mais reste souvent
insuffisante. Il est conseillé de faire une analyse complète de son
système d'exploitation et un nettoyage profond effectué de
préférence par un technicien agréé. Dans certains cas, l'utilisateur
peut se retrouver obligé de démarrer sur un autre système
d'exploitation, puis de redémarrer en mode sans échec pour pouvoir
reprendre la main.

I.3.4 BOMBES LOGIQUES

27
I.3.5 SPYWARES (ESPIOGICIEL)
I.3.5.1 GENERALITES

28
I.3.5.2 TYPES DE SPYWARES

I.3.5.3 PARADES

29
I.3.6 LES RANSOMWARES (RANCOLOGICIEL)

30
I.3.7 LES KEYLOGGERS (ENREGISTREURS DE TOUCHE)

31
I.3.8 LES SPAMS(Pourriels)

32
33
34
35
I.3.9 LES ROOTKITS

I.3.9.1 GENERALITES

Un rootkit (le nom « outil de dissimulation d'activité » est


également utilisé1, ainsi que « maliciel furtif »2 et « trousse
administrateur pirate »3), 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 4,C 1,L 1, à 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.

Leur furtivité est assurée par plusieurs mécanismes de dissimulation (voir


infra) : effacement de traces, masquage de l'activité et des
communications, etc. Un rootkit peut s'installer dans un autre logiciel, une
bibliothèque ou dans le noyau d'un système d'exploitation. Certains
peuvent modifier l'hyperviseur fonctionnant en dessous des systèmes ou
le micrologiciel intégré dans un matériel. La plupart des rootkits servent à
installer des logiciels malveillants sur les machines où l'accès est obtenu.
Certains fournisseurs de matériels informatiques, tel Sony, les utilisent
pour s'assurer du respect des conditions d'utilisation de leurs produits par
leurs clients. Certains kits ne jouent pas sur la discrétion mais sur le fait
qu'enlever le kit serait une opération ardue L 2.

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 (voir infra), 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 cible L 2.

Ils sont généralement classés parmi les logiciels malveillants, mais pas
toujoursL 1 ; ils peuvent utiliser des « techniques virales » pour se
transmettre (par exemple, en utilisant un virus ou un cheval de Troie)5. Il
existe des outils de détection et des méthodes de protection pour les
contrer mais elles ne sont pas totalement efficaces.

I.3.9.2 Historique
En 1989 sont apparus des programmes manipulant les logs système (un
log est un « journal des opérations », sorte de livre de bord où sont

36
enregistrées les informations concernant l'état et l'activité d'un
ordinateur) pour cacher leur présence. D'autres programmes permettaient
de se dissimuler en manipulant les outils servant à vérifier les
informations sur les utilisateurs, telles que les commandes who, w, ou
last6, et ainsi être invisibles pour les administrateurs des machines.

La mise au jour de rootkits passe par leur publication ou se fait grâce aux
honeypots, des machines sciemment vulnérables utilisées par les
professionnels de la sécurité pour analyser le mode opératoire d'un
attaquant. Les résultats obtenus sont régulièrement évoqués lors de
conférences sur la sécurité, comme la conférence Black Hat.

Certains rootkits peuvent être légitimes, pour permettre aux


administrateurs de reprendre le contrôle d'une machine défaillante, pour
suivre un ordinateur volé9, ou dans certains outils comme des émulateurs
de disque (DAEMON Tools, Alcohol 120%)10. Mais le terme a perdu ce
sens historique et évoque essentiellement des outils à finalité
malveillante.

I.3.9.3 Mode opératoire


I.3.9.3.1 Contamination

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érablesC 2.

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 de contaminer un système, en
suivant les techniques habituelles des programmes malveillants.

Il est possible de 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.

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

37
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 11.

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.

Des outils, nommés « autorooters », réunissent ces opérations de scan et


d'exploit en une seule opération, ce qui peut faciliter la tâche de script
kiddiesC 3 en laissant toutefois bon nombre de traces sur le réseau.

I.3.9.3.2 Modification du système et dissimulation

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 rootkitC 2 ; 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 3.

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 4,12 , ceci constitue
une technique très fréquemment usitée.

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 difficileL 2. 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 ouvrirC 4.
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.

La dissimulation de processus informatiques ou de fichiers permet de


cacher l'activité du rootkit. Sous Windows, cela peut être réalisé en
modifiant certaines clés de la base de registre ; sous systèmes Unix
l'attaquant peut remplacer la commande ls pour qu'elle n'affiche pas

38
certains dossiersC 5. Une fois en place, le rootkit peut supprimer ses
propres fichiers d'installation pour éviter qu'il ne soit reconnu par une
recherche de fichiersC 2.

Certains objets exécutables ou certaines bibliothèques sont remplacés par


des programmes malveillants contrôlables à distance (chevaux de Troie),
tout en conservant leur horodatageC 5. Il est également possible de
détourner certains appels aux tables de travail utilisées par le système L 4
par hooking, de manière à ce que des programmes d'apparence légitime
exécutent les fonctions voulues par l'attaquant.

L'obtention des droits supérieurs par élévation des privilèges est


également fréquemment rencontrée : cela permet notamment de
désactiver les mécanismes de défense (comme un anti-virus) ou d'agir
sur des objets de haut niveau de privilèges (pilotes de périphériques,
noyau du système, etc.) Un rootkit va ainsi pouvoir écouter les
transactions sur le réseau pour trouver des mots de passe non chiffrés
(comme des connexions ftp) ou détourner une connexion ssh en
interceptant l'appel système où le mot de passe n'est pas encore chiffré C
6
.

Le rootkit tente de ne pas apparaître dans les fichiers logC 4. Pour cela, il
efface certaines entrées des logs ou, de manière beaucoup plus
sophistiquée, utilisera des techniques de type « Stealth by Design »
(« furtif par conception »)13, à savoir implémenter à l'intérieur du rootkit
des fonctions système afin de ne pas avoir à appeler les fonctions
standards du système d'exploitation et ainsi éviter l'enregistrement
d'événements système suspectsC 4. Il peut ainsi désactiver certains
daemons et l'historique des shellsC 2.

Enfin, certains rootkits peuvent se charger intégralement en mémoire, ne


laissant ainsi aucune trace sur les périphériques de stockage de la
machineL 5.

En revanche, certaines activités ne pourront pas facilement être


camouflées, notamment ce qui concerne la charge utile qui engendre de
la charge réseau ou processeur (voir infra) ; l'effort de dissimulation se
portera alors sur les communications entre le rootkit et l'attaquant pour
protéger et maintenir l'accès frauduleux.

39
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.

L'accès distant au kit peut se faire par l'intermédiaire d'une connexion


TCP, comme telnet ou ssh (qui peut être renversée, c'est-à-dire que c'est
la machine infectée qui va chercher à rentrer en contact avec l'attaquant),
UDP ou ICMP. Il existe aussi des méthodes plus complexes mais plus
discrètes : port knocking, faux paquet TCP contenant une commande
cachée, se faire passer pour une autre machineC 7, canaux cachés, etc. Au
besoin, les scripts de démarrage seront modifiés pour que les services
nécessaires au rootkit soient disponibles après chaque redémarrage de la
machineC 2.

Pour que l'accès à la machine ne soit pas détourné par un autre


attaquant, celui-ci peut corriger les failles du système infecté : celles qui
lui ont permis de rentrer, voire l'ensemble des failles connues.

Mise en place de la charge utile

Un botnet permet d'avoir un accès sur des centaines de machines.

La charge utile est la partie active du rootkit (et de tout programme


malveillant en général), dont le rôle est d'accomplir la (ou les) tâche(s)
assignée(s).

Cette charge utile permet d'avoir accès aux ressources de la machine


infectéeL 2, 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

40
comme un serveur de messagerie afin d'envoyer des mails (pourriel ou
spam) en quantité. Les ressources réseaux intéressent également les
attaquants, la machine pouvant alors servir de base pour d'autres
attaques (DDoS14, 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 serviceC 6. 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 Srizbi 15), ou d'accéder à d'autres machines,
par rebond.

I.3.9.3.3 Niveau de privilège

Bien que le terme ait souvent désigné des outils ayant la faculté d'obtenir
un niveau de privilège de type administrateur (utilisateur root) sur les
systèmes Unix, un rootkit ne cherche pas obligatoirement à obtenir un tel
accès sur une machine et ne nécessite pas non plus d'accès
administrateur pour s'installer, fonctionner et se dissimuler 16. Le
programme malveillant « Haxdoor »17, même s'il employait des
techniques de type noyau18 pour parfaire sa dissimulation, écoutait les
communications sous Windows en mode utilisateur19 : en interceptant les
API de haut niveau, il recueillait des données confidentielles avant leur
chiffrement.

Cependant, 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èmeL 4, etc.

I.3.9.4 Types
Un rootkit peut intervenir à un ou plusieurs niveaux du système parmi les
cinq suivants : micrologiciel, hyperviseur, noyau, bibliothèque ou
applicatifC 8.

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

41
du code20 en détournant par exemple l'usage d'un module de persistance
souvent implanté dans le BIOS de certains systèmes.

Un outil légitime utilise cette technique : LoJack, d'Absolute Software9, qui


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 BIOS21 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.

Une piste évoquée pour contrer ce genre de rootkit serait d'interdire


l'écriture du BIOS, grâce à un cavalier sur la carte mère ou par l'emploi
d'un mot de passe, ou d'utiliser des EFI à la place du BIOS22, mais cette
méthode reste à tester et à confirmer23.

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.

Une étude conjointe de chercheurs de l'université du Michigan et de


Microsoft a démontré la possibilité d'un tel type de rootkit, qu'ils ont
baptisé « virtual-machine based rootkit » (VMBR)25. Ils ont pu l'installer
sur un système Windows XP et sur un système Linux. Les parades
proposées sont la sécurisation du boot, le démarrage à partir d'un média
vérifié et contrôlé (réseau, CD-ROM, clé USB, etc.) ou l'emploi d'un
moniteur de machine virtuelle sécurisé.

Blue Pill est un autre exemple de rootkit utilisant cette technique. En mai
2010, Zhi Wang et Xuxian Jiang, deux chercheurs de l'Université de
Caroline du Nord, publient « HyperSafe »26, un outil permettant de
sécuriser BitVisor et Xen — mais portable sur les hyperviseurs de type 1
— contre entre autres Blue Pill27 : le principe est d'empêcher l'injection et
l'exécution arbitraire de code par overflow (non-bypassable memory
lockdown) et de protéger les pointeurs de fonction pour empêcher les
attaques par hooking.

42
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.

Les rootkits noyau sont dangereux à la fois parce qu'ils ont acquis des
privilèges élevés (il est alors plus facile de leurrer tout logiciel de
protection), mais aussi par les instabilités qu'ils peuvent causer sur le
système infecté comme cela a été le cas lors de la correction de la
vulnérabilité MS10-01531, où des écrans bleus sont apparus en raison
d'un conflit entre le fonctionnement du rootkit Alureon et la correction de
cette vulnérabilité32.

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, (voir infra) –, 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.

Un exemple connu de ce type de kit est T0rn 8 : il charge sa propre


bibliothèque (libproc.a) qui va remplacer la bibliothèque standard faisant
l'intermédiaire entre les informations système – /proc – et l'espace
utilisateur. Ainsi, le kit peut filtrer les informations qui transitent et retirer
tout ce qui pourrait révéler la présence du kit, sans toucher aux
exécutables systèmes (ps, ls, etc.) C 10

43
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 – usurpation d'identité – ou en modifient 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. Plus grave,
des applications comme ls, ps, grep peuvent être remplacéesC 5.

Cette méthode n'est pas efficace si ces programmes sont régulièrement


recompilés à partir des sourcesL 6.

I.3.9.5 Exemples

Exploitation de la vulnérabilité de LPRng

Le CERTA (Centre d'Expertise Gouvernemental de Réponse et de


Traitement des Attaques informatiques de l'État français) a publié, dans
une note d'information, l'analyse d'une attaque ayant permis d'installer
un rootkit (non identifié, mais dont les caractéristiques semblent
correspondre au rootkit « Rk »C 11), n'utilisant à l'origine qu'une seule
faille, laquelle concernait le module d'impression LPRng présents dans
certains systèmes Linux (faille répertoriée CERTA-2000-AVI-08744). Cette
faille, qui aurait pu être corrigée soit par la mise à jour du système, soit
par le blocage d'un port spécifique grâce à un pare-feu45, permettait
l'exécution à distance de code arbitraire.

Cette attaque a été menée en moins de deux minutes. L'attaquant a


identifié la vulnérabilité, puis envoyé une requête spécialement formée
sur le port 515 (qui était le port exposé de cette vulnérabilité) pour
permettre l'exécution d'un code arbitraire à distance. Ce code, nommé
« SEClpd », a permis d'ouvrir un port en écoute (tcp/3879) sur lequel le
pirate est venu se connecter pour déposer une archive (nommée rk.tgz,
qui contenait un rootkit) avant de la décompresser et de lancer le script
d'installation.

Ce script a fermé certains services, installé des chevaux de Troie, caché


des processus, envoyé un fichier contenant les mots de passe du système

44
par mail, et il a même été jusqu'à corriger la faille qui a été exploitée, afin
qu'un autre pirate ne vienne pas prendre le contrôle de la machine.

TDL-4

TDL-4 est un trojan, qui installe un rootkit pour construire un botnet. Le


rootkit s'installe sur le MBR du disque dur ce qui le rend difficile à détecter
et à déloger. De plus, il utilise un système de cryptage complexe et un
réseau pair-à-pair public (Kad) pour recevoir ses commandes. Il a la
particularité de pouvoir désactiver les infections présentes sur la même
machine pour ne pas être découvert par inadvertance, et d'installer ses
propres outils de DDoS, de spamming… Selon Kaspersky Lab, il y aurait
4,5 millions de machines infectées (fin juin 2011) 48.

I.3.9.6 Prévention
Moyens de détection

La mise en œuvre d'une détection peut, selon le type de rootkit,


demander un examen du système ou d'un périphérique suspect en mode
« inactif » (démarrage à partir d'un système de secours ou d'un système
réputé sain). Plusieurs méthodes existent.

La recherche d'objets cachés (tels que des processus informatiques, des


clés de registre, des fichiers, etc.) est essentielle. Des outils comme
unhide sous Linux peuvent révéler les processus cachés. Sous Windows,
des outils comme RootkitRevealer recherchent les fichiers cachés en
listant les fichiers via l'API normale de Windows puis en comparant cette
liste à une lecture physique du disque ; les différences entre les deux sont
alors repérées comme suspectes, à l'exception des fichiers légitimes
connus de Windows, tels que les fichiers de métadonnées de NTFS comme
49
$MFT ou $Secure .

Le calcul régulier des empreintes de fichiers sensibles permet de détecter


une modification inattendue.

Le contrôle de l'intégrité des fichiers consiste à calculer, pour chaque


fichier sensible (bibliothèque, commande système, etc.), une empreinte13.
Toute modification inattendue de cette empreinte indique une
modification du fichier, et donc une contamination potentielle. Cependant,
tout système subit des modifications légitimes lors des mises à jour ;

45
idéalement, l'outil de contrôle a la possibilité d'accéder à une base de
référence de ces sommes de contrôles, selon la version du système
utilisée (rkhunter par exemple).

La détection de signatures spécifiques est le procédé classique d'analyse


de signature, comme cela se fait pour les virus : on cherche à retrouver
dans le système la trace d'une infection, soit directement (signature des
objets du rootkit), soit par le vecteur d'infection (virus utilisé par le
rootkit)13.

L’analyse des appels systèmes, des tables d'interruption50,51, et de


manière générale, des tables de travail utilisées par le système, au moyen
d'outils spécifiques (des logiciels anti-espion comme HijackThis), permet
de voir si ces appels ont été détournés ou non, par exemple en comparant
ce qui est chargé en mémoire avec les données brutes de bas niveau (ce
qui est écrit sur le disque).

Le hooking consiste à détourner un appel de fonction légitime par un


autre qui contient du code malveillant.

On peut aussi s'intéresser à la charge du système. Du point de vue du


processeur et de l'activité applicative, une surveillance continue peut
mettre en évidence une surcharge, à partir du moment de la
contamination. Il s'agit essentiellement d'une analyse de la charge
habituelle de la machine, comme le nombre de mails sortants ou
l'occupation du processeur. Toute modification (en surcharge) sans cause
apparente est suspecte, mais elle nécessite une analyse complémentaire
pour écarter les causes légitimes (mise à jour du système, installation de
logiciels, etc.)

De la même manière, l’analyse des flux réseau 52 permet de détecter une


surcharge anormale. Mais il convient également de surveiller une
utilisation de ports logiciels inhabituels grâce aux traces issues d'un pare-
feu ou grâce à un outil spécialisé. Il est également possible de faire une
recherche des ports ouverts et cachés, en comparant ce que connaît le
système avec ce qui est effectivement ouvert, grâce à des outils
d'investigation comme unhide-tcp. Toute différence peut être considérée
comme anormale. Il existe cependant des moyens de dissimulation
réseau, comme de la stéganographie ou l'utilisation de canaux cachés, qui
rend la détection directe impossible, et nécessite une analyse statistique
qui n'est pas forcément déterminante53.

46
L’analyse automatisée des logs système54 s'appuie sur le principe de
corrélation, avec des outils de type HIDS qui disposent de règles
paramétrables55 pour repérer les événements anormaux et mettre en
relation des événements systèmes distincts, sans rapport apparent ou
épars dans le temps.

Le site du Cert-IST propose régulièrement des informations sur les


rootkits et les logiciels malicieux en général 56.

Moyens de protection et de prévention

Les moyens de détection peuvent également servir à la prévention, même


si celle-ci sera toujours postérieure à la contamination. D'autres mesures
en amont peuvent rendre difficile l'installation d'un rootkit 57.

La correction des failles par mise à jour du système d'exploitation permet


de réduire la surface d'exposition du système en limitant le temps
pendant lequel une faille est présente sur le système 58 et dans les
applications54, afin de prévenir les exploits pouvant être utilisés pour la
contamination.

L’utilisation d'un pare-feu, qui fait partie des bonnes pratiques dans le
domaine de la sécurité informatique, se révèle efficace dans le cas des
rootkits51,54,58 car cela empêche les communications inattendues
(téléchargements de logiciel, dialogue avec un centre de contrôle et de
commande d'un botnet, etc.) dont ont besoin les rootkits.

Il est possible de désactiver le système de chargement de modules en


rendant le noyau statique, ce qui protège contre les rootkits qui
s'installent en chargeant un module ; certains rootkits arrivent cependant
à contourner cela en reconnaissant l'empreinte du module directement
dans la mémoireC 9.

De même, pour renforcer la robustesse des bibliothèques et empêcher le


hooking, il est possible de compiler statiquement les bibliothèques C 10.

La complexité d'un mot de passe augmente exponentiellement lorsque sa


taille et le nombre de caractères différents qu'il utilise augmentent. Un
mot de passe complexe sera plus long à deviner dans une attaque par
force brute.

Des systèmes de prévention d'intrusion54, sous forme de logiciel ou de


matériel, répondent dès qu'une intrusion est détectée, en bloquant des

47
ports ou en interdisant la communication avec une source (adresse IP)
douteuse, ou toute autre action appropriée. La détection sera d'autant
meilleure que l'outil utilisé sera externe au système examiné, puisque
certains rootkits peuvent atteindre des parties de très bas niveau dans le
système, jusqu'au BIOS. Un des avantages de ces outils est
l'automatisation des tâches de surveillance13.

Des outils spécialisés de contrôle d'intégrité des fichiers peuvent produire


des alertes lors de modifications inattendues. Cependant, ce contrôle à lui
seul est insuffisant si d'autres mesures préventives ne sont pas mises en
œuvre, si aucune réponse du système n'est déclenchée ou si ces
différences ne sont pas analysées.

Le renforcement de la robustesse des mots de passe est une autre des


bonnes pratiques de sécurité informatique qui élimine une des sources
principales de contamination. Des éléments d'authentification triviaux
sont des portes ouvertes pour tout type d'attaque informatique.

Le démarrage du système à partir d'une image saine, contrôlée et réputée


valide du système d'exploitation, via un support fixe (comme un LiveCD,
une clé USB) ou par réseau, permet de s'assurer que les éléments
logiciels principaux du système ne sont pas compromis, puisqu'à chaque
redémarrage de la machine concernée, une version valide de ces objets
est chargée. Un système corrompu serait donc remis en état au
redémarrage (sauf dans le cas de rootkit ayant infecté un plus bas
niveau, comme le BIOS).

Les moyens de protection habituels sont également valables contre les


rootkits : « Do everything so that attacker doesn’t get into your
system »53. Durcissement du système51, filtrages applicatifs (type
modsecurity), utilisation de programmes antivirus51,58 pour minimiser la
surface d'attaque et surveiller en permanence les anomalies et tentatives
de contamination, sont bien sûr à mettre en œuvre pour éviter la
contamination du système et l'exposition aux exploits.

Outils et logiciels de détection

À part quelques cas particuliers, l'industrie de la sécurité informatique a


tardé à prendre en compte les rootkits, les virus puis les chevaux de Troie
accaparant l'attention des éditeurs. Il existe cependant quelques logiciels
de détection et de prévention spécifiques à Windows, tels que Sophos
Anti-Rootkit ou AVG Anti-Rootkit. Sous Linux, on peut citer rkhunter et

48
chkrootkit ; plusieurs projets open-source existent sur Freshmeat et
Sourceforge.net.

Aujourd'hui, il reste difficile de trouver des outils spécifiques de lutte


contre les rootkits, mais leur détection et leur prévention sont de plus en
plus intégrées dans les systèmes de prévention d'intrusion et même dans
les antivirus classiques, lesquels sont de plus en plus obligés de se
transformer en suites de sécurité pour faire face à la diversité des
menaces ; ils proposent en effet de plus en plus souvent des protections
contre les rootkits.

I.4 LES LOGICIELS ANTI-PROGRAMMES MALVEILLANTS (Logiciels


de sécurité informatique)

I.4.1 LISTE DE LOGICIELS DE SECURITE INFORMATIQUE

I.4.1.1. Lutte contre les rootkits

Programmes de détection, d'analyse et de prévention de rootkits


spécifiques à Windows

 Sophos Anti-rootkit [archive]


 RkU (rootkit unhooker)
 IceSword
 RootkitRevealer de Sysinternals (en), Microsoft1

 Blacklight de F-Secure
 Rootkit Hook Analyzer[réf. souhaitée]
 RootAnalyser (Safer Networking)
 HijackThis
 GMER (en)
 DarkSpy
 Trend Micro Rootkit Buster2

Programmes de détection et de prévention de rootkits spécifiques


à Linux

 chkrootkit de Nelson Murilo et Klaus Steding-Jessen (UNIX/Linux)


 rkhunter de Michael Boelen (UNIX/Linux)
 Zeppoo de ZeppooTeam (UNIX/Linux), renommé kernsh le 15 mai
2007, ce projet est maintenant intégré dans le framework ERESI
(18 septembre 2007).
 unhide

49
I.4.1.2 Outils anti-malware

 Ad-Aware
 AdwCleaner
 Malwarebytes Anti-Exploit
 Malwarebytes Anti-Malware
 Spybot S&D (Safer Networking)
 SpywareBlaster
 SpywareGuard
 Windows Defender

I.4.1.3 Filtres applicatifs

 Modsecurity

I.4.1.4 Recherche de vulnérabilités

 Nikto Web Scanner (en)


 Nessus
 Nmap
 LanGuard de GFI Software (en)3
 Elastic Detector [archive]

I.4.1.5 Pare-feux

I.4.1.6 Outils de type suite de sécurité

Il s'agit d'outils ayant plusieurs fonctionnalités de protection, contre les


virus mais aussi souvent contre les rootkits, contre les comportements
anormaux (par analyse des événements sur le système), etc.

 ThreatFire
 Prevx

I.4.1.7 Anti-virus

Il est également utile de savoir que des outils dits anti-virus complètent
leurs mécanismes de protection avec la détection de rootkits, le filtrage
de courrier, la protection des informations personnelles, les logiciels
espions (ou spywares), etc (cf p Liste de logiciels antivirus).

50
I.4.2 LOGICIELS ANTI-VIRUS

I.4.2.1 NOTIONS LOGICIELS ANTI-VIRUS

Les antivirus sont des logiciels conçus pour identifier, neutraliser et


éliminer des logiciels malveillants (dont les virus informatique1 ne sont
qu'une catégorie).
Ces derniers peuvent se baser sur l'exploitation de failles de sécurité,
mais il peut également s'agir de logiciels modifiant ou supprimant des
fichiers, que ce soit des documents de l'utilisateur stockés sur l'ordinateur
infecté, ou des fichiers nécessaires au bon fonctionnement de l'ordinateur
(le plus souvent ceux du système d'exploitation).

Fonctionnement
Un logiciel antivirus vérifie les fichiers et courriers électroniques, les
secteurs de démarrage (afin de détecter les virus de boot), mais aussi la
mémoire vive de l'ordinateur, les médias amovibles (clefs USB, CD, DVD,
etc.), les données qui transitent sur les éventuels réseaux (dont internet),
etc.

Différentes méthodes sont possibles :

 Les principaux antivirus du marché se concentrent sur des fichiers et


comparent alors la signature virale du virus aux codes à vérifier ;
 La méthode heuristique est la méthode la plus puissante, tendant à
découvrir un code malveillant par son comportement. Elle essaie de le
détecter en analysant le code d'un programme inconnu. Parfois de fausses
alertes peuvent être provoquées ;
 L’analyse de forme repose sur du filtrage basé entre des règles regexp ou
autres, mises dans un fichier junk. Cette dernière méthode peut être très
efficace pour les serveurs de messagerie électronique supportant les
regexp type postfix puisqu'elle ne repose pas sur un fichier de signatures.

Les antivirus peuvent balayer le contenu d'un disque dur, mais également
la mémoire vive de l'ordinateur. Pour les antivirus les plus modernes, ils
agissent en amont de la machine en scrutant les échanges de fichiers
avec l'extérieur, aussi bien en flux descendant (téléchargement) que
montant (téléversement ou upload). Ainsi, les courriels sont examinés,
mais aussi les fichiers copiés sur ou à partir de supports amovibles tels
que cédéroms, disquettes, connexions réseau, clefs USB…

Approches
51
On distingue plusieurs types de logiciels antivirus selon leur
fonctionnement. La première méthode est celle du dictionnaire.

Dictionnaire

Les créateurs de logiciels antivirus ayant préalablement identifié et


enregistré des informations sur des virus, comme le ferait un dictionnaire,
le logiciel antivirus peut ainsi détecter et localiser la présence d’un virus.

On appelle ce dictionnaire la base de définition virale qui contient les


signatures de virus.

Lorsque cela se produit, l'antivirus dispose de trois options, il peut :

1. Effectuer la suppression du fichier contaminé.


2. Tenter de réparer le fichier endommagé en éliminant le virus ;
3. Déplacer le fichier dans une zone de quarantaine afin qu’il ne puisse être
accessible aux autres utilisateurs et logiciels. Ceci permet d'éviter que le
virus se répande (par autoréplication), et permet éventuellement de
réparer le fichier ultérieurement ;

Afin de maximiser le rendement de l'antivirus, il est essentiel d’effectuer


de fréquentes mises à jour en téléchargeant des versions plus récentes.
Des internautes consciencieux et possédant de bonnes connaissances en
informatique peuvent identifier eux-mêmes des virus et envoyer leurs
informations aux créateurs de logiciels antivirus afin que leur base de
données soit mise à jour.

Généralement, les antivirus examinent chaque fichier lorsqu'il est créé,


ouvert, fermé ou lu. De cette manière, les virus peuvent être identifiés
immédiatement. Il est possible de programmer le système
d’administration pour qu’il effectue régulièrement un examen de
l'ensemble des fichiers sur l'espace de stockage (disque dur, etc).

Même si les logiciels antivirus sont très performants et régulièrement mis


à jour, les créateurs de virus font tout aussi souvent preuve d'inventivité.
En particulier, les virus « oligomorphiques », « polymorphiques » et plus
récemment, « métamorphiques », sont plus difficiles à détecter.

Une autre technique pour contourner ces définitions virales consiste à


utiliser des packers/crypters, le fichier malicieux est chiffré et compressé
et déchiffré et décompressé lors de son exécution, un peu à la manière
des fichiers zip auto-extractible. Le fait que le fichier est chiffré empêche

52
une détection par signature et permet de démultiplier les fichiers
malicieux à partir d'une base unique en changeant de packers/crypters.

Liste blanche

La « liste blanche » est une technique de plus en plus utilisée pour lutter
contre les logiciels malveillants. Au lieu de rechercher les logiciels connus
comme malveillants, on empêche l'exécution de tout logiciel à l'exception
de ceux qui sont considérés comme fiables par l'administrateur système.
En adoptant cette méthode de blocage par défaut, on évite les problèmes
inhérents à la mise à jour du fichier de signatures virales. De plus, elle
permet d'empêcher l'exécution de logiciels indésirables.
Étant donné que les entreprises modernes possèdent de nombreuses
applications considérées comme fiables, l'efficacité de cette technique
dépend de la capacité de l'administrateur à établir et mettre à jour la liste
blanche. Cette tâche peut être facilitée par l'utilisation d'outils
d'automatisation des processus d'inventaire et de maintenance.

Comportements suspects

Une autre approche pour localiser les virus consiste à détecter les
comportements suspects des programmes. Par exemple, si un
programme tente d’écrire des données sur un programme exécuté,
modifier/supprimer des fichiers système l’antivirus détectera ce
comportement suspect et en avisera l’utilisateur qui choisira les mesures
à suivre.

Contrairement à l’approche précédente, la méthode du comportement


suspect permet d’identifier des virus très récents qui ne seraient pas
encore connus dans le dictionnaire de l'antivirus. Toutefois, le fait que les
utilisateurs soient constamment avertis de fausses alertes peuvent les
rendre insensibles aux véritables menaces. Si les utilisateurs répondent
« Accepter » à toutes ces alertes, l’antivirus ne leur procurera aucune
protection supplémentaire. Ce problème s’est aggravé depuis 1997,
puisque plusieurs programmes inoffensifs ont modifié certains fichiers
exécutables sans observer ces fausses alertes. C’est pourquoi, les
antivirus les plus modernes utilisent de moins en moins cette méthode.
L'intelligence artificielle des nouveaux antivirus leur permet de choisir la
décision à prendre sans en avertir l'utilisateur, ce qui permet d'utiliser à
nouveau cette méthode. De plus les filtres se sont considérablement
améliorés et les faux positif sont moins nombreux.

53
Autres approches

L’analyse heuristique est utilisée par quelques antivirus. Par exemple,


l’antivirus peut analyser le début de chaque code de toutes les nouvelles
applications avant de transférer le contrôle à l’usager. Si le programme
semble être un virus, alors l’usager en sera averti. Toutefois, cette
méthode peut également mener à de fausses alertes. La méthode
heuristique permet de détecter des variantes de virus et, en
communiquant automatiquement les résultats de l'analyse à l'éditeur,
celui-ci peut en vérifier la justesse et mettre à jour sa base de définitions
virales.

La méthode du bac à sable (sandbox en anglais) consiste à émuler le


système d’exploitation et à exécuter le fichier lors de cette simulation.
Une fois que le programme prend fin, les logiciels analysent le résultat du
bac à sable afin de détecter les changements qui pourraient contenir des
virus. En raison des problèmes de performance, ce type de détection a
lieu habituellement pendant le balayage sur demande. Cette méthode
peut échouer puisque les virus peuvent s’avérer non déterministes et
résulter de différentes actions ou même peut-être d’aucune action lorsque
exécuté. Il est impossible de le détecter à partir d’une seule exécution.

Les packers[à définir] posent des problèmes d'efficacité aux détections par
signature. Une autre limite était le temps assez long entre le moment où
l'éditeur mettait à jour ses définitions virales, la disponibilité en ligne et la
mise à jour des clients antivirus. Temps pendant lequel les utilisateurs
pouvaient être vulnérables.

Pour pallier cela, les éditeurs utilisent des "Antivirus Cloud", où des bases
de données gigantesques sont disponibles en ligne, permettant de
recouper certaines données. En outre, ces bases de données sont utilisées
en temps réel par les antivirus et permettent donc de supprimer le laps
de temps entre la mise en ligne et le téléchargement des définitions
virales.

Enfin, cela permet aussi d'alléger les clients antivirus où les bases locales
étaient de plus en plus volumineuses face à la multiplication des menaces
et l'utilisation des packers/crypters[à définir].

I.4.2.2 LISTE DES LOGICIELS ANTI-VIRUS

54
Logo symbolisant les antivirus.

Les antivirus sont des logiciels conçus pour identifier, neutraliser et


éliminer des logiciels malveillants (dont les virus informatique1 ne sont
qu'une catégorie).
Ces derniers peuvent se baser sur l'exploitation de failles de sécurité,
mais il peut également s'agir de logiciels modifiant ou supprimant des
fichiers, que ce soit des documents de l'utilisateur stockés sur l'ordinateur
infecté, ou des fichiers nécessaires au bon fonctionnement de l'ordinateur
(le plus souvent ceux du système d'exploitation).

Les sociétés et logiciels anti-virus ci-dessous sont classés par ordre


alphabétique.

LISTE DES LOGICIEL ANTIVIRUS

Agnitum (en) · Avast Software · AVG Technologies · Avira · Bitdefender ·


Comodo (en) · Dr. Web (en) · ESET · F-Secure · Kaspersky · Intel
Principales
Security (en) · Microsoft · Panda · Qihoo 360 · Sophos · Symantec · Trend
Micro
Compagnies
AhnLab (en) · Cisco · Check Point · ClamWin · Fortinet · FRISK (en) · G Data
Software · iolo (en) · Intego · Kingsoft (en) · Lavasoft · Malwarebytes ·
Secondaires
Quick Heal (en) · TrustPort (en) · VirusBlokAda · Webroot (en) ·
Zemana (en) · Zone Alarm

AhnLab V3 Internet Security (en) · Avast Antivirus · AVG · Avira Internet


PC, Security · Bitdefender · ClamWin · ClamAV · Comodo Antivirus (en) · Comodo
Produits
serveur Internet Security · Dr. Web (en) · NOD32 · F-Secure · F-PROT (en) · Fortinet · G
Data Software · Advanced SystemCare (en) · iolo System Shield (en) ·
Kaspersky Anti-Virus · Kaspersky Internet Security · KingSoft · Mac Internet

55
Security · Malwarebytes' Anti-Malware · McAfee VirusScan · Microsoft
Security Essentials · Windows Defender · Panda · 360 Safeguard (en) · Outpost
Security Suite (en) · Sophos · Symantec Endpoint Protection (en) ·
Immunet (en) · Element Anti-Virus (en) · Norton AntiVirus · Norton Internet
Security · Spyware Doctor · VirusBarrier · Trend Micro Internet Security (en) ·
TrustPort (en) · Vba32 AntiVirus (en) · Zone Alarm

AhnLab Mobile Security (en) · Avast Antivirus · AVG AntiVirus (en) · Avira Free
Android Security · Bitdefender Mobile Security · CM Security · Comodo
Mobile, Mobile Security (en) · Dr. Web Mobile Security Suite (en) · ESET Mobile
tablette Security · F-Secure Mobile Security · G Data MobileSecurity · Lookout Mobile
Security (en) · McAfee Mobile Security · FireAMP Mobile · Trend Micro Mobile
Security · TrustPort Mobile Security (en) · VirusBarrier

I.4.2.3 TABLEAU COMPARATIF DES LOGICIELS ANTI-VIRUS

Scan
Wind Mac OS GNU/Li Scan sur Protection en
Logiciel FreeBSD Unix Licence d'amorça
ows X nux demande temps réel
ge

Ad-Aware Oui Non Non Non Non Propriétaire Oui Oui Non

AOL Active Virus Shield Oui Non Non Non Non Freeware Oui Oui Non

Avast! Home Edition Oui Oui Oui Non Non Nagware Oui Oui Oui

Avast! Professional
Oui Oui Oui Non Non Propriétaire Oui Oui Oui
Edition

Avetix Antivirus Free


(plus
Oui Non Non Non Non Freeware Oui Oui Non
actif depuis 2015)

Avetix Antivirus Pro Oui Non Non Non Non Propriétaire Oui Oui Non

AVG Anti-Virus Oui Non Oui Oui Non Propriétaire Oui Oui Non

AVG Anti-Virus Free Oui Non Oui Non Non Nagware Oui Oui Non

Avira AntiVir Personal -


Oui Oui Non Non Non Nagware Oui Oui Non
Free Antivirus

Avira AntiVir Premium Oui Oui Oui Oui Oui Propriétaire Oui Oui Non

BitDefender Oui Oui Oui Oui Non Propriétaire Oui Oui Non

56
Scan
Wind Mac OS GNU/Li Scan sur Protection en
Logiciel FreeBSD Unix Licence d'amorça
ows X nux demande temps réel
ge

Oui
BitDefender Free Edition Oui Non Non Non Non Nagware Oui Non
(avec
Winpooch)

BullGuard Oui Non Non Non Non Propriétaire Oui Oui Non

CA Anti-Virus Oui Oui Oui Non Oui Propriétaire Oui Non Non

Oui (en
Avec ajoutant
Avec
Avec KlamA ClamWin et
Clam AntiVirus Clam Oui Oui GNU GPL Oui Non
ClamXav V et Clam Sentinel
Win
ClamTk sous
MSWindows)

Avec
Winpooch
ClamWin Oui Non Non Non Non GNU GPL Oui Non
(périmé) ou
Clam Sentinel

Comodo AntiVirus Oui Non Oui Non Non Freeware Oui Oui Oui

Emsisoft Anti-Malware Oui Non Non Non Non Propriétaire Oui Oui Oui

Emsisoft Anti-Malware Oui Non Non Non Non Freeware Oui Non Non

F-Prot Oui Non Oui Oui Oui Propriétaire Oui Oui Non

F-Secure Oui Non Oui Non Non Propriétaire Oui Oui Non

Fortinet FortiClient End


Oui Non Non Non Non Propriétaire Oui Oui Non
Point Security

G Data Software Oui Non Non Non Non Propriétaire Oui Oui Non

Iantivirus Oui Oui Non Non Non Freeware Oui Oui Non

Oui Oui
Kaspersky Anti-Virus Oui Oui Oui Propriétaire Oui Oui Non
(SMB (SMB et
et ENT) ENT)

McAfee VirusScan Oui Oui Oui Oui Oui Propriétaire Oui Oui Non

Microsoft Security
Oui Non Non Non Non Freeware Oui Oui Non
Essentials

57
Scan
Wind Mac OS GNU/Li Scan sur Protection en
Logiciel FreeBSD Unix Licence d'amorça
ows X nux demande temps réel
ge

NOD32 Oui Oui Oui Oui Oui Propriétaire Oui Oui Non

Norman Oui Non Oui Non Non Propriétaire Oui Oui Non

Norton AntiVirus
2 Oui Oui Non Oui Oui Propriétaire Oui Oui Oui
(Symantec)

Panda Antivirus Oui Oui Oui Non Non Propriétaire Oui Oui Non

PC Tools AntiVirus Oui Oui Non Non Non Propriétaire Oui Oui Non

PC Tools AntiVirus Free


Oui Oui Non Non Non Freeware Oui Oui Non
Edition (interrompu)

PCSafer Home edition Oui Non Non Non Non Freeware Oui Oui Non

Qihoo 360 Internet


Oui Oui Non Non Non Freeware Oui Oui Oui
Security

Qihoo 360 Total Security Oui Oui Non Non Non Freeware Oui Oui Oui

Sophos Anti-Virus Oui Oui Oui Oui Oui Propriétaire Oui Oui Non

TrustPort Antivirus Oui Non Non Non Non Propriétaire Oui Oui

Seulement sur
Vba32Antivirus Oui Non Oui Oui Non Propriétaire Oui Non
Windows

VIPRE Antivirus +
Antispyware (Sunbelt Oui Oui Non Non Non Propriétaire Oui Oui Oui
Software)

VirusBarrier Express
Oui Oui Non Non Non Freeware Oui Oui Oui
(Intego)

VirusBarrier Plus (Intego) Oui Oui Non Non Non Propriétaire Oui Oui Oui

VirusBarrier X5 (Intego) Oui Oui Non Non Non Propriétaire Oui Oui Oui

VirusBuster Oui Non Oui Oui Oui Propriétaire Oui Oui Non

VirusKeeper (AxBx) Oui Non Non Non Non Propriétaire Oui Oui Oui

Windows Defender Oui Non Non Non Non Freeware Oui Oui Oui

Zone Alarm Antivirus Oui Non Non Non Non Propriétaire Oui Oui Oui

58
I.4.3 AVAST ANTIVIRUS
Avast Antivirus

Développeur Avast Software

Dernière version 18.3.2333 (3 avril 2018)

Environnement Windows, OS X, Android, Linux (serveur)

Langues Multilingue (46 langues)N 1

Type Antivirus

Politique de distribution Freemium

Licence Propriétaire

Site web www.avast.com [archive]

modifier

Avast Antivirus est un logiciel antivirus développé par la société Avast


Software (anciennement Alwil Software) située à Prague en République
tchèque. C'est un logiciel propriétaire comportant une version gratuite
pour une utilisation personnelle et non commerciale. En mars 2015, Avast
regroupe 233 millions d'utilisateurs actifs à travers le monde répartis dans
184 pays1[réf. insuffisante] et est disponible en 46 langues.

I.4.3.1 Historique
À la fin des années 19802[réf. insuffisante], deux informaticiens tchèques
Eduard Kučera et Pavel Baudiš ont élaboré un programme qu'ils ont
appelé « anti-virus advanced set » (AVAST). « Avast » est aussi un terme
nautique hollandais (et anglais) qui signifie « stop ». Les deux
programmeurs ont développé leur idée et ont fini par produire un
antivirus complet du nom d'Avast.

59
I.4.3.2 Présentation
À la différence de certains antivirus gratuits[réf. nécessaire], ses mises à jour
s'effectuent automatiquement dès la connexion à Internet, à l'instar de
ses concurrents payants. Avast bénéficie également d'un moteur anti-
rootkit (basé sur la technologie GMER) et anti-spyware depuis sa version
4.8.1169, ce qui en fait une suite de sécurité.

Dans le passé, lorsqu'une nouvelle infection apparaissait, Avast était


souvent parmi les antivirus les plus lents à l'intégrer dans sa base de
données (généralement deux ou trois semaines plus tard, ce qui laissait à
l'infection le temps de gagner de nombreux ordinateurs équipés d'Avast).
Néanmoins, avec son gain en popularité chez les utilisateurs familiaux, les
mises à jour sont maintenant[Quand ?] quotidiennes3[réf. insuffisante].

I.4.3.3 Version gratuite


La version gratuite est uniquement disponible pour utilisation personnelle
et non commerciale. Mais ni pour les institutions, ni pour les associations.

Jusque à la version 11.1.2241 (version de 2016) l'inscription était


obligatoire au bout de 12 mois afin de pouvoir continuer à bénéficier de
l'antivirus depuis la version gratuite est disponible à vie sans avoir à créer
de comptes.

Il existe une version gratuite pour les Très Petites Entreprises et PME en
France ainsi que pour les établissements éducatifs aux États-Unis.

Identité visuelle (logo)

Logo d'Avast avant 2010.

Logo d'Avast de février à septembre 2010.

60

Logo d'Avast de septembre 2010 à septembre 2016.

Logo d'Avast depuis septembre 2016.

Logo d'Avast Alternative depuis septembre 2016.

Versions et dates de sorties

Avast! free, la version gratuite du logiciel a évolué depuis la v5.0 en


2007, avant nommée Avast! Home Edition. Quelques repères :

 18.1.2326 (13/02/2018) dernière version


 12.1.2272 (21/06/2016)
 11.1.2253 (04/02/2016)
 11.1.2241 (04/11/2015) dite 2016
 10.4.2233 (18/09/2015)
 10.0.2206 (28/10/2014) dite version 2015
 9.0.2006 (07/10/2013) dite version 2014
 8.0.1482 (01/03/2013) dite version 2013
 7.0.1407 (24/02/2012)
 6.0.1000 (24/02/2011)
 5.0.377 (20/01/2010)

I.4.4 WINDOWS DEFENDER

I.4.4.1 PRESENTATION
Windows Defender, appelé officiellement Windows Defender
Antivirus dans Windows 10 Creators Update, est un composant antivirus
de Microsoft Windows.

61
Microsoft a d'abord offert le logiciel en téléchargement comme un
programme antiespion gratuit pour Windows XP. Microsoft a par la suite
livré le logiciel comme un antiespion avec Windows Vista et Windows 7.
Finalement, le logiciel a été transformé en un programme antivirus
complet remplaçant Microsoft Security Essentials dans Windows 8 et les
versions ultérieures de Windows.

Ce logiciel était édité par Giant Software (en) avant son achat par
Microsoft.

Développeur Microsoft

Fichier exécutable MSASCui.exe

Dernière version 4.8.10240.16384 (Windows 10) (Juillet 2015)

Environnement Microsoft Windows

Langues Multilingue

Type Outil de suppression de spyware, puis programme anti-virus

Licence Gratuiciel

Site web Windows Defender [archive]

I.4.4.2 Fonctions de base

62
Avant Windows 8, Windows Defender protégeait ses utilisateurs contre les
logiciels espions1. Il comprenait un certain nombre d'agents de sécurité
qui surveillaient en temps réel plusieurs zones de Windows pour détecter
des modifications qui auraient pu être causées par des logiciels espions.

Il permettait aussi de supprimer facilement des logiciels ActiveX installés.


Windows Defender incluait un support intégré pour Microsoft SpyNet (en)
qui permet aux utilisateurs de signaler à Microsoft ce qu'ils considèrent
comme des logiciels espions et quelles applications et pilotes de
périphériques ils permettent d'installer sur leur système. La protection
contre les virus a été ajoutée dans Windows 8 ; Windows Defender dans
Windows 8 ressemble à Microsoft Security Essentials et utilise les mêmes
définitions de virus.

Dans Windows 10, les paramètres de Windows Defender sont contrôlés


par l'application Paramètres qui peut être activée en cliquant sur le
bouton démarrer, puis sur le bouton Paramètres. Depuis la mise à jour
anniversaire de Windows 10, une bulle de notification annonce les
résultats d'une analyse du système, même si aucun virus n'a été trouvé 2.

I.4.4.2 Histoire
Versions bêta

Windows Defender est basé sur le logiciel GIANT AntiSpyware, développé


à l'origine par GIANT Company Software Inc.. Microsoft a annoncé
l'acquisition de cette société le 16 décembre 2004 3,4. Bien que le logiciel
original GIANT AntiSpyware prenait en charge les anciennes versions de
Windows, le support de la ligne de systèmes Windows 9x a été
abandonné.

La première version test de Microsoft AntiSpyware a été publiée le 6


janvier 2005 et était essentiellement une copie réemballée de GILANT
AntiSpyware3. De nouvelles versions bêta ont été publiées en 2005 et la
dernière version bêta 1 a été publiée le 21 novembre 2005.

Lors de la conférence RSA Security de 2005, le concepteur de systèmes


logiciels en chef et cofondateur de Microsoft, Bill Gates, a annoncé que
Windows Defender (connu sous le nom de Microsoft AntiSpyware avant le
4 novembre 2005) serait mis gratuitement à la disposition de tous les
utilisateurs de versions autorisées de Windows 2000, Windows XP et

63
Windows Server 2003 pour aider à sécuriser leurs systèmes contre la
menace croissante des logiciels malveillants5.

Windows Defender (bêta 2) a été publié le 13 février 2006. Cette version


porte le nouveau nom du programme et inclut une refonte significative de
l'interface utilisateur. Le moteur de base a été réécrit en C++, alors que
le logiciel original développé par GIANT était écrit en Visual Basic6. La
conversion à C++ a amélioré la performance de l'application. De plus,
depuis la version bêta 2, le programme fonctionne comme un service
Windows, contrairement aux versions antérieures, ce qui permet à
l'application de protéger l'ordinateur même si un utilisateur n'est pas
connecté à l'application. La version bêta 2 nécessite également la
validation Windows Genuine Advantage.

Cependant, Windows Defender (bêta 2) ne contenait pas certains des


outils inclus dans Microsoft AntiSpyware (bêta 1). Microsoft a supprimé
les outils System Inoculation, Secure Shredder et System Explorer inclus
dans la version bêta 1 ainsi que l'outil Tracks Eraser qui permettait aux
utilisateurs de supprimer facilement de nombreux types de fichiers
temporaires liés à Internet Explorer 6, incluant les témoins (cookies), les
fichiers Internet temporaires et l'historique de lecture du Lecteur Windows
Media3. Microsoft a, par la suite, publié des versions allemande et
japonaise de Windows Defender (bêta 2)7,8.

Disponibilité générale du logiciel antiespion

Le 24 octobre 2006, Microsoft a lancé Windows Defender en version


régulière (non bêta). Le logiciel prenait en charge Windows XP et
Windows Server 2003. Cependant, contrairement aux versions bêta, il ne
pouvait pas être exécuté sur Windows 20009.

Conversion vers des fonctions antivirus

Windows Defender était inclus dans Windows Vista et Windows 7 en tant


que composant antiespion intégré. Dans Windows Vista et Windows 7,
Windows Defender pouvait être remplacé par Microsoft Security
Essentials, un produit antivirus de Microsoft qui protégeait l'ordinateur
contre une gamme plus large de logiciels malveillants. Lors de
l'installation, Microsoft Security Essentials désactivait et remplaçait
Windows Defender10,11,12.

64
Dans Windows 8, Microsoft a amélioré Windows Defender en en faisant un
programme antivirus très similaire à Microsoft Security Essentials pour
Windows 7 et en utilisant les mêmes mises à jour de définitions de virus
que Microsoft Security Essentials13.

Microsoft Security Essentials n'est pas disponible sur les versions de


Windows au-delà de Windows 7. Dans Windows 8 et Windows 10,
Windows Defender est activé par défaut. Il s'interrompt lors de
l'installation d'un logiciel antivirus tiers.

À partir de Windows 10, Microsoft a commencé à transférer le contrôle de


Windows Defender hors de son logiciel original. Initialement, sa boîte de
dialogue Paramètres a été remplacée par une page dédiée dans
l'application Paramètres de Windows 10. Dans Windows 10 Creators
Update, Windows Defender est renommé Windows Defender Antivirus
pour le distinguer du Windows Defender Security Center. Ce dernier est
devenu l'avenue privilégiée pour l'interface avec Windows Defender14.
Bien qu'il n'y ait pas de raccourci dans le menu démarrer pour accéder
directement au programme Windows Defender, il est toujours possible d'y
accéder facilement15,16.

I.4.4.3 Fonctions avancées


Protection en temps réel

Dans les options de Windows Defender, l'utilisateur peut configurer des


options de protection en temps réel.

Intégration avec le navigateur

L'intégration avec Internet Explorer et Microsoft Edge permet de scanner


les fichiers lorsqu'ils sont téléchargés pour détecter les logiciels
malveillants téléchargés par inadvertance. Bien qu'il ne s'intègre pas aux
navigateurs Web autres que ceux de Microsoft, Windows Defender
analyse les fichiers téléchargés malveillants dans le cadre de sa protection
en temps réel.

I.4.4.4 Windows Defender Offline


Windows Defender Offline (anciennement connu sous le nom de
Standalone System Sweeper Beta17) est un programme antivirus
autonome amorçable qui fonctionne à partir d'un disque amorçable et qui

65
est conçu pour analyser des systèmes infectés alors que leurs systèmes
d'exploitation sont hors ligne18. Depuis la mise à jour anniversaire de
Windows 10, cette fonctionnalité hors ligne est intégrée dans le
programme régulier de Windows Defender19.

I.4.4.5 Vulnérabilité de sécurité dans


Windows Defender
Le 5 mai 2017, Tavis Ormandy (en), un chercheur de vulnérabilités
travaillant pour Google, a découvert une vulnérabilité dans le module
d'analyse JavaScript (NScript) du Microsft Antimalware Engine
(MsMpEngine) qui affectait Windows Defender, Microsoft Security
Essentials et System Center Endpoint Protection (en). Le 8 mai 2017,
Microsoft avait publié un correctif pour tous les systèmes concernés. Ars
Technica a félicité Microsoft pour sa vitesse de correction sans précédent
et a déclaré qu'une catastrophe avait été évitée 20,21.

I.4.4.6 Protéger mon ordinateur avec Windows Defender

S’applique à : Windows 10

Si vous utilisez Windows 10, vous bénéficierez de la protection antivirus la


plus récente grâce à Windows Defender. Lorsque vous démarrez
Windows 10 pour la première fois, Windows Defender est activé et
protège votre PC en recherchant des logiciels malveillants, des virus et
toute menace à la sécurité. Windows Defender utilise la protection en
temps réel pour analyser tous les éléments que vous téléchargez ou
exécutez sur votre PC.

Windows Update télécharge automatiquement les mises à jour de


Windows Defender pour vous aider à sécuriser votre PC et à le protéger
contre les menaces.

Si vous disposez d’une version antérieure de Windows et que vous utilisez


Microsoft Security Essentials, il est judicieux de passer à
Windows Defender.

Remarque

66
Si vous installez une autre application antivirus, Windows Defender est
automatiquement désactivé.

Planifier une analyse dans Windows Defender

Windows Defender analyse régulièrement votre PC pour le maintenir en


sécurité. Si vous souhaitez planifier votre propre analyse :

1. Recherchez et ouvrez Tâches planifiées.


2. Dans le volet gauche, développez Bibliothèque du Planificateur de
tâches > Microsoft > Windows, faites défiler vers le bas, puis double-
cliquez sur le dossier Windows Defender.
3. Dans le volet en haut au centre, double-cliquez sur Analyse planifiée de
Windows Defender.
4. Sélectionnez l’onglet Déclencheurs, puis sélectionnez Nouveau.
5. Définissez la durée et la fréquence, puis sélectionnez OK.

Activer ou désactiver la protection en temps réel de


Windows Defender

1. Sélectionnez le bouton Démarrer , puis Paramètres > Mise à jour et


sécurité. .

Sélectionnez Windows Defender, puis activez ou


désactivez la Protection en temps réel.

I.4.6 MICROSOFT SECURITY ESSENTIALS


Microsoft Security Essentials

Développeur Microsoft

Fichier
msseces.exe
exécutable

Première
29 septembre 2009
version

67
Dernière
4.10.205.0 (2 octobre 2016)
version

Environnement Windows XP/Vista/7

Anglais, bulgare, chinois (simplifié), chinois (traditionnel),


tchèque, danois, néerlandais, finnois, français, allemand,
Langues grec, hongrois, italien, japonais, coréen, norvégien, polonais,
portugais (brésilien), portugais (portugal), roumain, russe,
suédois, slovaque, espagnol, thaï, turc et ukrainien

Type Antivirus

Politique de Supplément du support Windows pour dix utilisateurs


distribution maximum en réseau

Licence Propriétaire

windows.microsoft.com/fr-FR/windows/products/security-
Site web
essentials [archive]

modifier

Microsoft Security Essentials (nom de code Morro) est un logiciel


antivirus créé par Microsoft qui fournit une protection contre les virus, les
logiciels espions, rootkits et chevaux de Troie pour Windows XP, Windows
Vista et Windows 7. La version finale est disponible depuis fin septembre
2009. Il succède à Windows Live OneCare. Le nouveau nom de cet outil
est désormais Windows Defender.

Licence
Microsoft Security Essentials vérifie la validité du système d'exploitation
pendant et après l'installation. Si le système d'exploitation n'est pas
authentique, Microsoft Security Essentials en informe l'utilisateur de la
question, et peut cesser de fonctionner après une période de temps1.

Performances
Plusieurs tests ont montré que la protection en temps réel de Microsoft
Security Essentials est efficace et que le logiciel gère très bien les
nouveaux virus et sa très bonne détection des virus, trojans [et] rogues"
permet d'affirmer que "pour une utilisation simple et quotidienne, ce

68
produit peut largement faire l’affaire". Sa lenteur de nettoyage est
cependant pointée du doigt.

Sur la page du Centre de protection Microsoft contre les programmes


malveillants (en anglais), les utilisateurs peuvent voir les dernières
menaces intégrées à Microsoft Security Essentials2.

Selon un test réalisé par l'organisme indépendant AV-TEST en mai-juin


20133, Microsoft Security Essentials arrive en queue de peloton - 25e sur
25 solutions testées - en matière de niveau de protection. En revanche,
selon ce même test, il obtient la meilleure note possible concernant
l'absence de faux positif4.

I.4.5 NORTON ANTIVIRUS


Norton AntiVirus

Développeur Symantec Corporation

Dernière version 22.10.1.10 (28 août 2017)

Environnement Windows, Mac OS X

Type Antivirus

Licence Propriétaire

Symantec.com [archive
Site web
]

modifier

Norton Antivirus est un logiciel antivirus pour les systèmes


d'exploitation Windows et Mac édité par la société américaine Symantec.

Le logiciel est décliné en trois versions :

69
 Norton Antivirus : antivirus et antiphishing seulement ;
 Norton Internet Security : suite de logiciels offrant une protection plus
complète ;
 Norton 360 : suite offrant une protection optimum et divers outils de
sauvegarde de données en ligne et d'optimisation du PC.

Ce logiciel est souvent offert pour une période d'essai de 30 jours à trois
mois à l'achat d'un ordinateur, ce qui explique en partie sa part de
marché importante chez les particuliers. Cependant, cette pratique est
dénoncée par certains comme étant de la vente liée.

Historique
Développé par Peter Tippett, le premier logiciel antivirus "Vaccine" est
revendu à Symantec en 1992 et renommé à cette occasion Norton
Antivirus.

I.4.7 KASPERSKY ANTI-VIRUS

Kaspersky

Développeur Kaspersky Lab

Première version 1997

Dernière version 2016 (16.0.0.614) (19 novembre 2015)

Environnements Windows, Linux, Macintosh

Langues Multilingue

Type Antivirus et Anti-spywares

Licence Logiciel propriétaire

70
Site web kaspersky.com [archive]

modifier

Kaspersky Anti-Virus (KAV) (anciennement AntiViral Toolkit Pro ou


AVP) est un antivirus créé par la société russe Kaspersky Lab. Cette
dernière met aussi à disposition sur son site un système de recherche de
virus en ligne. Le code source de Kaspersky Anti-Virus a été diffusé
illégalement sur internet en 20081, le logiciel dans sa version 8 est écrit
en C++ et en Delphi2.

Présentation
Kaspersky est un antivirus doté de fonctions classiques de protection
telles que :

 Mise en mémoire
 Analyse des courriels
 Analyse heuristique
 Analyse des fichiers compressés
 Protection contre les logiciels espions, les virus, autres vers et chevaux de
Troie.
 Défense proactive, empêchant notamment l'installation de rootkits.
 La possibilité de lancer des applications en mode virtuel.

Kaspersky offre des licences de 1 à 3 ans.

Récompenses
Selon AV-Comparative, Kaspersky Antivirus se classe parmi les premiers
scanneurs de virus en termes de détection en dépit du fait que l'antivirus
a échoué à deux tests réalisés en 2007 et 2008 par le magazine Virus
Bulletin. Par ailleurs, PC World a récompensé cet antivirus dans sa version
6 par l'octroi du prix Editor's Choice en 2007. Enfin, Ars Technica classe
Kaspersky Antivirus parmi les meilleurs logiciels de sécurité destinés aux
plateformes Windows.

Kaspersky a été testé par PassMark en 2008.

71
Limites
Plusieurs options ne se trouvent pas dans cette édition comme : Pare-feu
personnel, AntiSpam, AntiBanner et le contrôle parental. Ces outils sont
disponibles avec Kaspersky Internet Security.

Kaspersky comme la majorité de ses concurrents, est incompatible avec


d'autres logiciels antivirus et antispyware 3.

Macintosh
En 2009 une édition de Kaspersky Antivirus est disponible pour la
plateforme Mac OS X. Les tests ont permis de conclure que l'antivirus
consomme seulement 1 % de CPU.[réf. nécessaire] Cette édition contient des
signatures pour bloquer les virus destinés aux plateformes Windows et
Linux.

Configuration requise
Linux (Red Hat,
Windows 7 Mac OS X
XP (32/64- Mandriva,
(32/64- (v.10.4.11 «
bit) Fedora, Debian,
bit) Tiger » ou +)
SUSE)

Intel Pentium Intel


Intel Pentium Intel Pentium
Processeur 300 MHz (ou Pentium
1 GHz 133 MHz
équivalent) 1 GHz

RAM 256 MB 1 GB 512 MB 64 MB

Espace
disponible sur 50 MB 50 MB 80 MB 100 MB
le disque dur

I.4.8 DARKSPY

DarkSpy est un système de détection d'intrusion à usage individuel. Les


auteurs, CardMagic (Mingyan Sun) et wowocock, étaient pendant la

72
conception des étudiants-chercheurs diplômés de l'University of Science
and Technology of China.

Sommaire

Description
L'essentiel de son développement s'est fait au premier semestre 2006.

Par rapport à d'autres « anti-rootkits », DarkSpy apporte

 une capacité supérieure de détection grâce, entre autres, à ses recherches


à la base même du disque dur,
 et des solutions pour désactiver les rootkits en vue de leur éradication, en
particulier la possibilité d'intervention sur les ruches et clés de démarrage
des rootkits mises en place et cachées dans le Registre de Windows.

Depuis sa version v1.0.5, toujours qualifiée de « version de test » mais


déjà stable, il peut fonctionner en complément d'autres logiciels de
défense du PC contre les logiciels malveillants.

Précieux complément des moyens de


défense
Partant du principe qu'aucun utilitaire actuel ne peut garantir une
détection totale de toutes les variétés de rootkits présents et à venir,
DarkSpy peut être

 le complément d'outils de prévention d'intrusion comme "Antihook" ou


Winpooch ou des versions récentes d'utilitaires commerciaux comme
Nod32, '"F-Secure"', "Kaspersky" etc.
 celui d'autres anti-rootkits comme "IceSword"' ou "Gmer".

Pour ceux qui n'ont encore qu'un antivirus et un pare-feu classiques,


DarkSpy peut même constituer la base du système de protection contre
les rootkits.

Environnement et installation

73
DarkSpy fonctionne avec les systèmes d'exploitation 32 bits de Microsoft :
Windows 2000(SP4 et +) / Windows XP / Windows 2003. Il consomme
très peu de ressources et convient donc à pratiquement tous les PCs.

DarkSpy ne requiert pas d'installation particulière. Son processus est


lancé en mémoire depuis le répertoire du disque où le fichier ".rar"
téléchargé a été décompressé.

Pour son fonctionnement, il place le fichier "DarkSpyKernel.sys" dans


"C:\WINDOWS\system32" de manière non définitive. Ce "driver"
s'exécute en mode noyau au sein de la mémoire. Après l'arrêt de DarkSpy
et au démarrage suivant du système, ce fichier n'est pas
automatiquement rechargé.

Les traces laissées dans le Registre de Windows sont peu nombreuses. On


peut trouver les "ruches" sans difficulté dans les sections ...

 HKLM\SYSTEM\ControlSetxxx\Enum\Root\
 HKLM\SYSTEM\ControlSetxxx\Services.

Elles ne sont pas dangereuses pour la santé du système. Elles peuvent


être laissées ou enlevées grâce à un bon outil de nettoyage du registre
(celui de "IceSword" par exemple).

Précautions avant le lancement


Dans certaines conditions d'utilisation, par exemple en présence d'outils
actifs de défense du noyau ou du registre de Windows, DarkSpy, ne peut
pas fonctionner normalement et parfois même pas être lancé.

Des efforts particuliers ont été faits pour que DarkSpy réduise au mieux
les possibilités de conflit. Actuellement, il a été testé en compagnie des
suites de Kaspersky / McAfee / Norton / Jetico + Avast! et d'autres, sous
différentes versions de Windows (2k/XP/2k3), mais c'est peut-être encore
insuffisant. Dans un environnement système complexe, il peut encore y
avoir des conflits avec d'autres logiciels. En cas de problème, vous devrez
vérifier votre système et essayer de neutraliser ou même désinstaller le
logiciel de sécurité qui s'oppose au fonctionnement de DarkSpy.

Sous peine de risquer un écran bleu de la mort, prenez garde de ...

74
 ne jamais essayer de déboguer DarkSpy avec des outils comme "Softice" /
"Windbg" / "Syser debugger", car, naturellement, des fonctionnalités anti-
debugg sont incluses.
 ne pas appliquer à DarkSpy un outil de rétro-ingénierie.

Modules de détection des intrusions


Process

DarkSpy établit une liste de tous les processus en activité et dispose


essentiellement de trois fonctions :

 Détection des processus cachés visualisés en rouge,


 Interruption d'un processus sélectionné,
 Interruption forcée d'un processus.

Driver Module

DarkSpy procède à une recherche poussée des extensions d'application :


services des processus - bibliothèques de fonctions) et pilotes cachés. Il
en établit une liste complète avec indication de leur adresse en mémoire
et de leur implantation sur le disque.

Les éléments cachés sont visualisés en rouge

Port

DarkSpy recherche et affiche de tous les ports ouverts, dont les ports
cachés par un rootkit ayant des fonctions de cheval de Troie.

Modules de suppression des intrus


Le parasite peut être directement neutralisé s'il utilise un processus. Dans
le cas d'un service, DLL ou pilote détecté dans le "Driver Module", il
faudra intervenir soi-même aux endroits d'implantation.

Registry

DarkSpy inclut un très puissant module de gestion du Registre de


Windows où se trouvent les ruches et clés de lancement d'une majorité
des intrus, que ceux-ci utilisent un processus ou (c'est de plus en plus
souvent le cas) un (ou plusieurs) service, dll et/ou driver.

75
Grâce à cet outil, ces clés pourront être modifiées ou supprimées afin que
le rootkit ne se relance pas après un arrêt-redémarrage du système
d'exploitation.

File

DarkSpy offre la possibilité de forcer la suppression des fichiers cachés et


indésirables. Les fonctionnalités particulières de DarkSpy lui permettent
d'outrepasser les protections de fichiers mises en place par certains logiciels.

Si les ruches et clés de lancement du rootkit ont été détectées, il est


cependant conseillé de les désactiver et de redémarrer le système avant
de supprimer les fichiers actifs. Une fois le rootkit neutralisé, ses fichiers
peuvent être plus facilement supprimés.

I.5 PARE-FEU
I.5.1 Terminologie
Un pare-feu est parfois appelé coupe-feu, garde-barrière, barrière de
sécurité, ou encore firewall. Traduction littérale : mur de feu[réf. souhaitée].

Dans un environnement Unix BSD (Berkeley Software Distribution), un


pare-feu est aussi appelé packet filter.

I.5.2 Origine du terme


Selon le contexte, le terme peut revêtir différentes significations :

 dans le domaine de la lutte contre les incendies de forêt, il se réfère aux


allées pare-feu destinées à contenir l'extension des feux de forêts ;
 au théâtre, le déclenchement d'un mécanisme « pare-feu » (ou « coupe-
feu ») permet d'éviter la propagation du feu de la salle vers la scène ;
 dans le domaine de l'architecture, il fait référence aux portes coupe-feu ou
à tout autre dispositif constructif destiné à contenir l'extension d'un
incendie ;
 en informatique, l'usage du terme « pare-feu » est donc métaphorique. Sa
dénomination, reprend au sens figuré l'intention de "brûler par un mur de

76
feu virtuel" tout ce qui tente d'entrer avec l'intention de nuire dans une
machine ou un réseau. Il établit une barrière de protection contre les
intrusions et les contaminations venant de l’extérieur.

I.5.3 Fonctionnement général

Pare-feu passerelle entre LAN et WAN.

Pare-feu routeur, avec une zone DMZ.

Le pare-feu est jusqu'à ces dernières années considéré comme une des
pierres angulaires de la sécurité d'un réseau informatique (il perd en
importance au fur et à mesure que les communications basculent vers le
HTTP sur SSL, court-circuitant tout filtrage). Il permet d'appliquer une
politique d'accès aux ressources réseau (serveurs).

Il a pour principale tâche de contrôler le trafic entre différentes zones de


confiance, en filtrant les flux de données qui y transitent. Généralement,
les zones de confiance incluent Internet (une zone dont la confiance est
nulle) et au moins un réseau interne (une zone dont la confiance est plus
importante).

Le but est de fournir une connectivité contrôlée et maîtrisée entre des


zones de différents niveaux de confiance, grâce à l'application de la
politique de sécurité et d'un modèle de connexion basé sur le principe du
moindre privilège.

Le filtrage se fait selon divers critères. Les plus courants sont :

77
 l'origine ou la destination des paquets (adresse IP, ports TCP ou UDP,
interface réseau, etc.) ;
 les options contenues dans les données (fragmentation, validité, etc.) ;
 les données elles-mêmes (taille, correspondance à un motif, etc.) ;
 les utilisateurs pour les plus récents.

Un pare-feu fait souvent office de routeur et permet ainsi d'isoler le


réseau en plusieurs zones de sécurité appelées zones démilitarisées ou
DMZ. Ces zones sont séparées suivant le niveau de confiance qu'on leur
porte.

Enfin, le pare-feu est également souvent situé à l'extrémité de tunnel


IPsec ou SSL. L'intégration du filtrage de flux et de la gestion du tunnel
est en effet nécessaire pour pouvoir à la fois protéger le trafic en
confidentialité et intégrité et filtrer ce qui passe dans le tunnel. C'est le
cas notamment de plusieurs produits du commerce nommés dans la liste
ci-dessous.

I.5.4 Technologies utilisées


Les pare-feux récents embarquent de plus en plus de fonctionnalités,
parmi lesquelles on peut citer :

 Filtrage sur adresses IP / protocole,


 Inspection stateful2 et applicative,
 Intelligence artificielle pour détecter le trafic anormal,
 Filtrage applicatif :
o HTTP (restriction des URL accessibles),
o Courriel (Anti-pourriel),
o Logiciel antivirus, anti-logiciel malveillant
 Traduction d'adresse réseau,
 Tunnels IPsec, PPTP, L2TP,
 Identification des connexions,
 Serveurs de protocoles de connexion (telnet, SSH), de protocoles de
transfert de fichier (SCP),
 Clients de protocoles de transfert de fichier (TFTP),
 Serveur Web pour offrir une interface de configuration agréable,
 Serveur mandataire (« proxy » en anglais),
 Système de détection d'intrusion (« IDS » en anglais)
 Système de prévention d'intrusion (« IPS » en anglais)

78
I.5.5 Catégories de pare-feu
Les pare-feux sont un des plus vieux équipements de sécurité
informatique et, en tant que tel, ils ont été soumis à de nombreuses
évolutions. Suivant la génération du pare-feu ou son rôle précis, on peut
les classer en différentes catégories.

Pare-feu sans état (stateless firewall)

C'est le plus vieux dispositif de filtrage réseau, introduit sur les routeurs.
Il regarde chaque paquet indépendamment des autres et le compare à
une liste de règles préconfigurées.
Ces règles peuvent avoir des noms très différents en fonction du pare-
feu :

 « ACL » pour Access Control List (certains pare-feux Cisco),


 politique ou policy (pare-feu Juniper/Netscreen),
 filtres,
 règles ou rules,
 etc.

La configuration de ces dispositifs est souvent complexe et l'absence de


prise en compte des machines à états des protocoles réseaux ne permet
pas d'obtenir une finesse du filtrage très évoluée. Ces pare-feux ont donc
tendance à tomber en désuétude mais restent présents sur certains
routeurs ou systèmes d'exploitation.

Article connexe : Serveur sans état.

Pare-feu à états (stateful firewall)

Certains protocoles dits « à états » comme TCP introduisent une notion de


connexion. Les pare-feux à états vérifient la conformité des paquets à une
connexion en cours. C’est-à-dire qu'ils vérifient que chaque paquet d'une
connexion est bien la suite du précédent paquet et la réponse à un paquet
dans l'autre sens. Ils savent aussi filtrer intelligemment les paquets ICMP
qui servent à la signalisation des flux IP.

Enfin, si les ACL autorisent un paquet UDP caractérisé par un quadruplet


(ip_src, port_src, ip_dst, port_dst) à passer, un tel pare-feu autorisera la
réponse caractérisée par un quadruplet inversé, sans avoir à écrire une
ACL inverse. Ceci est fondamental pour le bon fonctionnement de tous les
protocoles fondés sur l'UDP, comme DNS par exemple. Ce mécanisme

79
apporte en fiabilité puisqu'il est plus sélectif quant à la nature du trafic
autorisé. Cependant dans le cas d'UDP, cette caractéristique peut être
utilisée pour établir des connexions directes (P2P) entre deux machines
(comme le fait Skype par exemple).

Article connexe : Pare-feu à états.

Pare-feu applicatif

Dernière génération de pare-feu, ils vérifient la complète conformité du


paquet à un protocole attendu. Par exemple, ce type de pare-feu permet
de vérifier que seul le protocole HTTP passe par le port TCP 80. Ce
traitement est très gourmand en temps de calcul dès que le débit devient
très important. Il est justifié par le fait que de plus en plus de protocoles
réseaux utilisent un tunnel TCP afin de contourner le filtrage par ports.

Une autre raison de l'inspection applicative est l'ouverture de ports


dynamique. Certains protocoles comme FTP, en mode passif, échangent
entre le client et le serveur des adresses IP ou des ports TCP/UDP. Ces
protocoles sont dits « à contenu sale » ou « passant difficilement les
pare-feux » car ils échangent au niveau applicatif (FTP) des informations
du niveau IP (échange d'adresses) ou du niveau TCP (échange de ports).
Ce qui transgresse le principe de la séparation des couches réseaux. Pour
cette raison, les protocoles « à contenu sale » passent difficilement voire
pas du tout les règles de NAT ...dynamiques, à moins qu'une inspection
applicative ne soit faite sur ce protocole.

Chaque type de pare-feu sait inspecter un nombre limité d'applications.


Chaque application est gérée par un module différent pour pouvoir les
activer ou les désactiver. La terminologie pour le concept de module est
différente pour chaque type de pare-feu : par exemple : Le protocole
HTTP permet d'accéder en lecture sur un serveur par une commande GET,
et en écriture par une commande PUT. Un pare-feu applicatif va être en
mesure d'analyser une connexion HTTP et de n'autoriser les commandes
PUT qu'à un nombre restreint de machines.

 Pare-feu applicatif sur Bee Ware [archive]; DenyAll [archive]


 Firewall as a Service (filtrage en fonction de l'origine et de la
destination de chaque paquet) sur UPPERSAFE [archive]
 Conntrack (suivi de connexion) et l7 Filter (filtrage applicatif) sur Linux
Netfilter
 CBAC sur Cisco IOS
 Fixup puis inspect sur Cisco PIX

80
 ApplicationLayerGateway sur Proventia M,
 Predefined Services sur Juniper ScreenOS
 Stateful Inspection sur Check Point FireWall-1
 Deep Packet Inspection sur Qosmos [archive]
 Web Application Firewall sur BinarySEC [archive]

Pare-feu identifiant

Un pare-feu réalise l’identification des connexions passant à travers le


filtre IP. L'administrateur peut ainsi définir les règles de filtrage par
utilisateur et non plus par adresse IP ou adresse MAC, et ainsi suivre
l'activité réseau par utilisateur.

Plusieurs méthodes différentes existent qui reposent sur des associations


entre IP et utilisateurs réalisées par des moyens variés. On peut par
exemple citer authpf [archive] (sous OpenBSD) qui utilise ssh pour faire
l'association. Une autre méthode est l'identification connexion par
connexion (sans avoir cette association IP = utilisateur et donc sans
compromis sur la sécurité), réalisée par exemple par la suite NuFW, qui
permet d'identifier également sur des machines multi-utilisateurs.
On pourra également citer Cyberoam qui fournit un pare-feu entièrement
basé sur l'identité (en réalité en réalisant des associations adresse MAC =
utilisateur) ou Check Point avec l'option NAC Blade qui permet de créer
des règles dynamiques basée sur l'authentification Kerberos d'un
utilisateur, l'identité de son poste ainsi que son niveau de sécurité
(présence d'antivirus, de patchs particuliers).

Pare-feu personnel

Les pare-feux personnels, généralement installés sur une machine de


travail, agissent comme un pare-feu à états. Bien souvent, ils vérifient
aussi quel programme est à l'origine des données. Le but est de lutter
contre les virus informatiques et les logiciels espions.

Portail captif

Les portails captifs sont des pare-feux dont le but est d'intercepter les
usagers d'un réseau de consultation afin de leur présenter une page web
spéciale (par exemple : avertissement, charte d'utilisation, demande
d'authentification, etc.) avant de les laisser accéder à Internet. Ils sont
utilisés pour assurer la traçabilité des connexions et/ou limiter l'utilisation

81
abusive des moyens d'accès. On les déploie essentiellement dans le cadre
de réseaux de consultation Internet mutualisés filaires ou Wi-Fi.

I.5.6 LISTE DE PARE-FEU

Versions libres
 Linux Netfilter/Iptables, pare-feu libre des noyaux Linux 2.4, 2.6, 3.0 et
suivants.
 Linux Ipchains, pare-feu libre de l'ancien noyau Linux 2.2.
 Packet Filter ou PF, pare-feu libre de OpenBSD, importé depuis sur les
autres BSD.
 IPFilter ou IPF, pare-feu libre de BSD et Solaris 10 et 11.
 Ipfirewall ou IPFW, pare-feu libre de FreeBSD.
 iSafer, pare-feu libre pour Windows.

Distributions Linux
 SmoothWall : distribution linux packageant Netfilter et d'autres outils de
sécurité pour transformer un PC en pare-feu dédié et complet.
 IPCop : distribution linux packageant Netfilter et d'autres outils de
sécurité pour transformer un PC en pare-feu dédié et complet.
 Ipfire : Dérivé de IPCop, mais avec des idées très nouvelles et de design.
 Pfsense, distribution firewall open source très avancée basée sur FreeBSD
et dérivée de m0n0wall qui utilise entre autres OpenBSD packet Filter.
 Zeroshell
 Amon, module du projet EOLE, distribution GNU/Linux se basant sur
Ubuntu et proposant des outils d'administration.

Pare-feu identifiants
 NuFW : Un pare-feu identifiant (authentifiant). La partie serveur et les
clients pour OS libres sont sous licence GPL. Le client Windows est sous
licence propriétaire.

Portails captifs
 ALCASAR : Solution complète et intégrée pour contrôler et imputer les
accès Internet. Sous licence GPL et gratuit.

82
Boîtiers pare-feu
 Arkoon Network Security
o Appliances UTM FAST360, certifiées Critères communs niveau
EAL3+

 Astaro Security Gateway


o Appliances Astaro UTM, certifiées Critères communs niveau
EAL4+ 1

 Check Point
o Check Point FireWall-1

 Cisco Systems
o Cisco PIX, Cisco ASA et Cisco FWSM, boîtier pare-feu
o Cisco VPN3000, boîtier pare-feu orienté RPV

 EdenWall Technologies
o EdenWall, boîtier pare-feu dont la technologie est basée sur NuFW,
apportant la notion d'identité des utilisateurs, en cours de
qualification Critères communs niveau EAL3+[réf. nécessaire]

 Fortinet
o Appliances UTM FortiGate, certifiées Critères communs niveau
EAL4+, FIPS 140-2, multiple ICSA Labs Certifications dont SSL-TLS
(VPN), IPSec, Network IPS, Antivirus, et Firewall

 Juniper Networks
o Juniper Screen OS, boîtier pare-feu

 NetASQ
o Appliances UTM NetASQ, certifiées Critères Communs niveau
EAL4+(fr)) et IPv6 ready ipv6forum [archive]

 Nortel
o Famille Nortel VPN Router
o Famille Nortel Switched Firewall

 Stonesoft
o StoneGate, pare-feu professionnel commercial centralisé pour
gérer ses grappes d'appliances Pare-feu VPN et NIDS

 ZyXEL

83
o ZyWALL, pare-feu professionnel UTM (Antivirus, filtrage applicatif,
IDP, filtrage de contenu, antispam) avec Tunnel VPN IPSEC et SSL

Pare-feu personnels
 Comodo Firewall : gratuit pour usage personnel, compatible avec d'autres
logiciels de protection, très complet et paramétrable, choix du tout
automatique au tout manuel suivant le niveau de l'utilisateur.
 Zone Alarm : le pare-feu personnel de ZoneLabs repris par Check Point,
maintenant incompatible avec tout autre logiciel de protection sauf MS
Windows Defender.
 NetBarrier : le pare-feu personnel pour Mac OS X d'Intego
 Microsoft
o Pare-feu de connexion Internet de Windows XP
o Windows Firewall
o Microsoft Internet Security and Acceleration Server, le pare-feu
proxy-cache de Microsoft
 Jetico Personal Firewall

Pare-feu applicatifs
 Microsoft Internet Security and Acceleration Server, le pare-feu proxy-
cache de Microsoft
 Modsecurity module pour le serveur Web Apache. (Open Source)

84
85
I.6 LES PROTOCOLES DE SECURITE

PRESENTATION

86
87
88
89
90
CHAP.II LES PORTS LOGIQUES, LES VULNERABILITES
INFORMATIQUES ET LES JOURNAUX D’EVENEMENTS
LOGS

II.1 LES PORTS LOGIQUES

Dans la suite des protocoles Internet et correspondant à la couche de


transport du modèle OSI, la notion de port logiciel permet, sur un ordinateur donné,
de distinguer différents interlocuteurs. Ces interlocuteurs sont des programmes
informatiques qui, selon les cas, écoutent ou émettent des informations sur ces
ports. Un port est distingué par son numéro.
Le terme port est aussi parfois utilisé pour désigner les interfaces de connexion,
un concept sensiblement différent.

Origine du mot
Port, en informatique, est une traduction erronée de l'anglais port (en) [archive] ;
l'étymologie du mot au sens informatique est le latin porta (→ porte), et non portus
(→ port)1.

Explication métaphorique
Pour simplifier, on peut considérer les ports comme des portes donnant accès
au système d'exploitation : (Microsoft Windows, Mac OS, GNU/Linux, Solaris…). Pour
fonctionner, un programme (par exemple un jeu à accélération 3D/2D, ou un logiciel
de retouche photo) ouvre des portes pour entrer dans le système d'exploitation,
mais lorsque l'on quitte le programme, la porte n'a plus besoin d'être ouverte.

Utilité
Grâce à cette abstraction, on peut exécuter plusieurs logiciels serveurs sur une
même machine, et même simultanément des logiciels clients et des serveurs, ce qui
est fréquent sur les systèmes d'exploitation multitâches et multiutilisateurs.

Attribution des ports

Un numéro de port est codé sur 16 bits, ce qui fait qu'il existe un maximum

de soit 65 536 ports distincts par machine. Ces ports sont classés en 3
catégories en fonction de leur numéro:

 les numéros de port de 0 à 1 023 correspondent aux ports "bien-connus" (well-


known ports), utilisés pour les services réseaux les plus courants.
 les numéros de ports de 1 024 à 49 151 correspondent aux ports enregistrés
(registered ports), assignés par l'IANA
 les numéros de ports de 49 152 à 65 535 correspondent aux ports dynamiques,
utilisables pour tout type de requêtes TCP ou UDP autres que celle citées
précédemment.

91
Lorsqu'un logiciel client veut dialoguer avec un logiciel serveur, aussi appelé service,
il a besoin de connaître le port écouté par ce dernier. Les ports utilisés par les
services devant être connus par les clients, les principaux types de services utilisent
des ports qui sont dits réservés. Par convention, ce sont tous ceux compris entre 0
et 1 0232 inclus et leur utilisation par un logiciel serveur nécessite souvent que celui-
ci s'exécute avec des droits d'accès particuliers. Les services utilisant ces ports sont
appelés les services bien connus("Well-Known Services").
Le fichier services indique la liste de ces services dits well-known. Sous UNIX, ce
fichier est directement dans /etc ; sous Windows, ce fichier est par défaut dans
C:\Windows\System32\drivers\etc. Les services les plus utilisés sont :

 9, pour le WoL, Wake-on-LAN, c'est-à-dire le démarrage à distance par un câble


réseau ethernet. Wake-on-LAN
 20/21, pour l'échange de fichiers via FTP
 22, pour l'accès à un shell sécurisé Secure SHell, également utilisé pour
l'échange de fichiers sécurisés SFTP
 23, pour le port telnet
 25, pour l'envoi d'un courrier électronique via un serveur dédié SMTP
 53, pour la résolution de noms de domaine en adresses IP : DNS
 67/68, pour DHCP et bootpc
 80, pour la consultation d'un serveur HTTP par le biais d'un navigateur web
 110, pour la récupération de son courrier électronique via POP
 123, pour la synchronisation de l'horloge : Network Time Protocol (NTP)
 143, pour la récupération de son courrier électronique via IMAP
 389, pour la connexion à un LDAP
 443, pour les connexions HTTP utilisant une surcouche de sécurité de type
SSL : HTTPS
 465, pour l'envoi d'un courrier électronique via un serveur dédié utilisant une
surcouche de sécurité de type SSL : SMTPS
 500, port utilisé pour le canal d'échange de clés IPsec
 554, port utilisé pour accepter les connexions client RTSP entrantes et pour
fournir des paquets de données aux clients qui diffusent en utilisant RTSPT.
 636, pour l'utilisation d'une connexion à un LDAP sécurisé par une couche
SSL/TLS
 1352, pour le protocole Lotus Notes Domino
 1433, serveur de base de données MS SQL
 1521, serveur de base de données Oracle Database
 1723, pour l'utilisation du protocole de VPN PPTP
 3306, serveur de base de données MySQL
 3389, pour la prise de contrôle à distance RDP
 5432, serveur de base de données PostgreSQL
 6667, pour la connexion aux serveurs IRC
 25565, port par défaut des serveurs Minecraft3,4,5

92
Liste de ports logiciels
Liste de ports TCP et UDP.
Afin de permettre aux clients de connecter des serveurs, des numéros de ports
logiciels sont bien connus.
Les informations qui suivent sont en général reprises par chaque système dans un
fichier ; par exemple :
Les ports affichés ci-dessous peuvent être changés selon la configuration du
programme

 sur Linux et OS X : /etc/services


 sur Windows : %SystemRoot%\system32\drivers\etc\services.

TCP et UDP

n° Type Description

1 TCP TCPMUX - TCP Port Service Multiplexer

2 TCP compressnet - Management Utility

3 TCP compressnet - Compression Process

5 TCP rje - Remote job entry (en)

7 TCP echo

9 TCP Discard Protocol (en)

11 TCP SYSTAT (en) - Active Users

13 TCP Daytime Protocol (en) RFC 867

17 TCP qotd - Quote of the Day

93
n° Type Description

18 TCP msp - Message send protocol (en)

19 TCP CHARGEN - Character Generator Protocol (en)

20 TCP ftp-data - File Transfer Protocol [flux de données]

ftp - File Transfer Protocol (le flux de contrôle


21 TCP pour le transfert de fichiers), voir Diagramme des
flux FTP (port 20 et 21)

22 TCP SSH - Secure Shell - SFTP

23 TCP telnet

24 TCP any private mail system

25 TCP smtp - Simple Mail Transfer Protocol RFC 5321

27 TCP nsw-fe - NSW User System FE

29 TCP msg-icp

31 TCP msg-auth - MSG Authentication

33 TCP dsp - Display Support Protocol

35 TCP any private printer server

37 TCP Time Protocol RFC 868

94
n° Type Description

38 TCP rap - Route Access Protocol

39 TCP rlp - Resource Location Protocol

41 TCP Graphics

42 TCP nameserver - Host Name Server

43 TCP nicname - Who Is

44 TCP mpm-flags - MPM FLAGS Protocol

45 TCP mpm - Message Processing Module [recv]

46 TCP mpm - Message Processing Module [default send]

47 TCP ni-ftp

48 TCP auditd - Digital Audit Daemon

login - Login Host Protocol (Terminal Access


49 TCP
Controller Access-Control System)

50 UDP re-mail-ck - Remote Mail Checking Protocol

51 TCP la-maint - IMP Logical Address Maintenance

52 TCP xns-time - XNS Time Protocol

53 UDP domain - Domain Name System (DNS)

95
n° Type Description

54 UDP xns-ch - XNS Clearinghouse

55 TCP isi-gl - ISI Graphics Language

56 TCP xns-auth - XNS Authentication

57 TCP any private terminal access

58 TCP xns-mail - XNS Mail

59 TCP any private file service

61 TCP ni-mail

62 TCP acas - ACA Services

64 TCP covia - Communications Integrator (CI)

65 TCP tacacs-ds - TACACS-Database Service

bootps - Bootstrap Protocol Server, ce port est


67 UDP aussi utilisé par une extension de bootp : DHCP,
pour la recherche d'un serveur DHCP

bootpc - Bootstrap Protocol Client, ce port est


aussi utilisé par une extension de bootp : DHCP,
68 UDP
pour le dialogue entre le serveur DHCP et le client
(attribution d'un bail pour une adresse IP)

69 UDP tftp - Trivial File Transfer Protocol

96
n° Type Description

70 TCP gopher

71 TCP netrjs-1 Remote Job Service

72 TCP netrjs-2 Remote Job Service

73 TCP netrjs-3 Remote Job Service

74 TCP netrjs-4 Remote Job Service

75 TCP any private dial out service

76 TCP deos - Distributed External Object Store

77 TCP any private RJE service

78 TCP VetTCP

79 TCP finger

80 TCP www-http - World Wide Web HTTP

81 TCP host2-ns - HOSTS2 Name Server

82 TCP xfer - XFER Utility

83 TCP mit-ml-dev

84 TCP ctf - Common Trace Facility

97
n° Type Description

85 TCP mit-ml-dev

86 TCP mfcobol - Micro Focus Cobol

87 TCP any private terminal link

88 TCP kerberos

89 TCP su-mit-tg - SU/MIT Telnet Gateway

90 TCP dnsix - DNSIX Security Attribute Token Map

91 TCP mit-dov - MIT Dover Spooler

92 TCP npp - Network Printing Protocol

93 TCP dcp - Device Control Protocol

94 TCP objcall - Tivoli Object Dispatcher

95 TCP Supdup

96 TCP dixie - DIXIE Protocol Specification

97 TCP swift-rvf - Swift Remote Virtual File Protocol

98 TCP Tacnews

99 TCP metagram - Metagram Relay

98
n° Type Description

100 TCP newacct - [unauthorized use]

101 TCP hostname - NIC Host Name Server

102 TCP iso-tsap

103 TCP gppitnp - Genesis Point-To-Point Trans Net

acr-nema - ACR-NEMA Digital Imag. & Comm.


104 TCP
300

105 TCP csnet-ns - Mailbox Name Nameserver

106 TCP 3com-tsmux

107 TCP rtelnet - Remote Telnet Service

108 TCP snagas - SNA Gateway Access Server

109 TCP pop2 - Post Office Protocol - Version 2 RFC 937

110 TCP pop3 - Post Office Protocol - Version 3 RFC 1939

111 TCP sunrpc - SUN Remote Procedure Call

112 TCP mcidas - McIDAS Data Transmission Protocol

113 TCP auth - Authentication Service

114 TCP audionews - Audio News Multicast

99
n° Type Description

sftp - Simple File Transfer


115 TCP
Protocol (en) (Ubuntu)

116 TCP ansanotify - ANSA REX Notify

117 TCP uucp-path - UUCP Path Service

118 TCP sqlserv - SQL Services

119 TCP nntp - Network News Transfer Protocol RFC 3977

120 TCP Cfdptkt

121 TCP erpc - Encore Expedited Remote Pro.Call

122 TCP Smakynet

123 UDP ntp - Network Time Protocol RFC 5905

124 TCP ansatrader - ANSA REX Trader

125 TCP locus-map - Locus PC-Interface Net Map Server

126 TCP unitary - Unisys Unitary Login

127 TCP locus-con - Locus PC-Interface Conn Server

128 TCP gss-xlicen - GSS X License Verification

129 TCP pwdgen - Password Generator Protocol

100
n° Type Description

130 TCP cisco-fna - cisco FNATIVE

131 TCP cisco-tna - cisco TNATIVE

132 TCP cisco-sys - cisco SYSMAINT

133 TCP statsrv - Statistics Service

135 TCP loc-srv - Location Service

136 TCP profile - PROFILE Naming System

137 TCP netbios-ns - NETBIOS Name Service

138 TCP netbios-dgm - NETBIOS Datagram Service

139 TCP netbios-ssn - NETBIOS Session Service

140 TCP emfis-data - EMFIS Data Service

141 TCP emfis-cntl - EMFIS Control Service

142 TCP bl-idm - Britton-Lee IDM

imap2, imap4 - Internet Message Access Protocol


143 TCP
v4 RFC 3501

144 TCP News

145 TCP Uaac

101
n° Type Description

146 TCP iso-tp0

147 TCP iso-ip

148 TCP cronus - CRONUS-SUPPORT

149 TCP aed-512 - AED 512 Emulation Service

150 TCP sql-net

151 TCP Hems

152 TCP bftp - Background File Transfer Program

153 TCP Sgmp

154 TCP netsc-prod

155 TCP netsc-dev

156 TCP sqlsrv - SQL Service

157 TCP knet-cmp - KNET/VM Command/Message Protocol

158 TCP pcmail-srv - PCMail Server

159 TCP nss-routing

160 TCP sgmp-traps

102
n° Type Description

161 UDP SNMP - Simple Network Management Protocol

snmptrap - Simple Network Management Protocol


162 UDP
Trap

163 TCP cmip-man - CMIP/TCP Manager

164 TCP cmip-agent - CMIP/TCP Agent

165 TCP xns-courier – Xerox

166 TCP s-net - Sirius Systems

167 TCP Namp

168 TCP Rsvd

169 TCP Send

170 TCP print-srv - Network PostScript

171 TCP multiplex - Network Innovations Multiplex

172 TCP cl/1 - Network Innocations CL/1

173 TCP xyplex-mux – Xyplex

174 TCP Mailq

175 TCP Vmnet

103
n° Type Description

176 TCP genrad-mux

177 TCP xdmcp - X Display Manager Control Protocol

178 TCP nextstep - NeXTSTEP Window Server

179 TCP bgp - Border Gateway Protocol

180 TCP ris – Intergraph

181 TCP Unify

182 TCP audit - Unisys Audit SITP

183 TCP Ocbinder

184 TCP Ocserver

185 TCP remote-kis

186 TCP kis - KIS Protocol

187 TCP aci - Application Communication Interface

188 TCP mumps - Plus Five's MUMPS

189 TCP qft - Queued File Transport

190 TCP gacp - Gateway Access Protocol

104
n° Type Description

191 TCP prospero - Prospero Directory Service

192 TCP osu-nms - OSU Network Monitoring System

193 TCP srmp - Spider Remote Monitoring Protocol

194 TCP Internet relay chat (IRC)

dn6-nlm-aud - DNSIX Network Level Module


195 TCP
Audit

dn6-nlm-red - DNSIX Session Mgt Module Audit


196 TCP
Redir

197 TCP dls - Directory Location Service

198 TCP dls-mon - Directory Location Service Monitor

199 TCP Smux

200 TCP src - IBM System Resource Controller

201 TCP at-rtmp - AppleTalk Routing Maintenance

202 TCP at-nbp - AppleTalk Name Binding

203 TCP at-3 - AppleTalk Unused

204 TCP at-echo - AppleTalk Echo

105
n° Type Description

205 TCP at-5 - AppleTalk Unused

206 TCP at-zis - AppleTalk Zone Information

207 TCP at-7 - AppleTalk Unused

208 TCP at-8 - AppleTalk Unused

209 TCP tam - Trivial Mail Authentication Protocol

210 TCP z39.50

211 TCP 914c/g - Texas Instruments 914C/G Terminal

212 TCP anet – ATEXSSTR

213 TCP Ipx

214 TCP vmpwscs - VM PWSCS

215 TCP softpc - Insignia Solutions

216 TCP atls - Access Technology License Server

217 TCP dbase - dBASE Unix

218 TCP mpp - Netix Message Posting Protocol

219 TCP uarps - Unisys ARPs

106
n° Type Description

imap3 - Interactive Mail Access Protocol v3 RFC


220 TCP
1203

221 TCP fln-spx - Berkeley rlogind with SPX auth

222 TCP rsh-spx - Berkeley rshd with SPX auth

223 TCP cdc - Certificate Distribution Center

243 TCP sur-meas - Surveet Measurement

245 TCP Link

246 TCP dsp3270 - Display Systems Protocol

264 UDP BGMP - Border Gateway Multicast Protocol

344 TCP pdap - Prospero Data Access Protocol

345 TCP pawserv - Perf Analysis Workbench

346 TCP zserv - Zebra server

347 TCP fatserv - Fatmen Server

348 TCP csi-sgwp - Cabletron Management Protocol

371 TCP Clearcase

372 TCP ulistserv - Unix Listserv

107
n° Type Description

373 TCP legent-1 - Legent Corporation

374 TCP legent-2 - Legent Corporation

375 TCP Hassle

376 TCP nip - Amiga Envoy Network Inquiry Proto

377 TCP tnETOS - NEC Corporation

378 TCP dsETOS - NEC Corporation

379 TCP is99c - TIA/EIA/IS-99 modem client

380 TCP is99s - TIA/EIA/IS-99 modem server

381 TCP hp-collector - hp performance data collector

hp-managed-node - hp performance data


382 TCP
managed node

hp-alarm-mgr - hp performance data alarm


383 TCP
manager

384 TCP arns - A Remote Network Server System

385 TCP ibm-app - IBM Application

386 TCP asa - ASA Message Router Object Def.

108
n° Type Description

387 TCP aurp - AppleTalk Update-Based Routing Pro.

388 TCP unidata-ldm - Unidata LDM Version 4

389 TCP Lightweight Directory Access Protocol (LDAP)

390 TCP Uis

391 TCP synotics-relay - SynOptics SNMP Relay Port

392 TCP synotics-broker - SynOptics Port Broker Port

393 TCP dis - Data Interpretation System

394 TCP embl-ndt - EMBL Nucleic Data Transfer

395 TCP NETscout Control Protocol

396 TCP netware-ip - Novell NetWare encapsulé dans IP

397 TCP mptn - Multi Protocol Trans. Net.

398 TCP Kryptolan

400 TCP work-sol - Worksation Solutions

401 TCP ups - Uninteruptible Power Supply

402 TCP genie - Genie Protocol

109
n° Type Description

403 TCP Decap

404 TCP Nced

407 TCP Timbuktu (software) (en)

408 TCP prm-sm - Prospero Resource Manager Sys. Man.

409 TCP prm-nm - Prospero Resource Manager Node Man.

410 TCP decladebug - DECLadebug Remote Debug Protcol

411 TCP rmt - Remote MT Protocol

412 TCP synoptics-trap - Trap Convetion Port

413 TCP Smsp

414 TCP Infoseek

415 TCP Bnet

416 TCP Silverplatter

417 TCP Onmux

418 TCP hyper-g

419 TCP ariel1

110
n° Type Description

420 TCP Smpte

421 TCP ariel2

422 TCP ariel3

opc-job-start - IBM Operations Planning and


423 TCP
Control Start

opc-job-track - IBM Operations Planning and


424 TCP
Control Track

425 TCP icad-el – ICAD

426 TCP Smartsdp

427 TCP svrloc - Server Location

428 TCP ocs_cmu

429 TCP ocs_amu

430 TCP Utmpsd

431 TCP Utmpcd

432 TCP Iasd

433 TCP Nnsp

111
n° Type Description

434 TCP mobileip-agent

435 TCP mobileip-mn

436 TCP dna-cml

437 TCP Comscm

438 TCP Dsfgw

439 TCP Dasp

440 TCP Sgcp

441 TCP decvms-sysmgt

442 TCP cvc_hostd

443 TCP https (SSL/TLS)

444 TCP snpp - Simple Network Paging Protocol (en)

microsoft-ds SMB, anciennement appelé CIFS


445 TCP/UDP
(Common Internet File System)

446 TCP ddm-rdb

447 TCP ddm-dfm

448 TCP ddm-byte

112
n° Type Description

449 TCP as-servermap - AS Server Mapper

450 TCP tserver

465 TCP smtp sécurisé (ssl) (non officiel)

497 TCP retrospect - Retrospect Backup software

ISAKMP (Internet Security Association and Key


500 TCP Management Protocol), un des composants
d'IPsec

502 TCP Modbus sur TCP.

Syslog RFC 3164 NB : ce service n'est pas listé


514 UDP
habituellement dans le fichier etc\services

515 TCP printer - spooler

517 TCP talk

518 TCP ntalk

520 UDP Routing

525 TCP timed – timeserver

526 TCP tempo – newdate

DHCP - Dynamic Host Configuration Protocol v6


546 UDP
(for IPv6)

113
n° Type Description

548 TCP AppleShare IP Server

554 TCP RTSP (Real Time Streaming Protocol) RFC 2326

563 TCP nntp sécurisé (ssl) RFC 4642

587 TCP Message Submission for Mail RFC 5068 RFC 6409

631 TCP Internet Printing Protocol

636 TCP LDAP encapsulé dans SSL/TLS

706 TCP Secure internet live conferencing

706 UDP Secure internet live conferencing

873 TCP rsync

902 TCP/UDP VMware Vsphere client et Vcenter heartbeat

989 TCP Port de données File Transfer Protocol Secure

990 TCP Port de connexion serveur FTPS

993 TCP imap sécurisé (ssl)

995 TCP pop3 sécurisé (ssl)

1080 TCP SOCKS

114
n° Type Description

1135 UDP/TCP OmniVision Communication Service

1194 UDP/TCP OpenVPN

Port utilisé par les développeurs pour tester des


1337 TCP/UDP
applications (Leet speak)

1352 TCP Lotus Notes

1414 TCP IBM MQSeries

1433 TCP Microsoft SQL Server

1434 TCP Microsoft SQL Monitor

Serveur Oracle
1521 TCP NB : ce numéro de port était (ou est) aussi utilisé
par ncube-lm (nCUBE (en))

1524 TCP Ingreslock, voir Ingres (base de données)

1720 TCP H.323

1723 TCP PPTP

1863 TCP MSN (tchat)

1883 TCP MQTT

2049 TCP NFSv4

115
n° Type Description

2106 TCP/UDP L2J LoginServer

2164 TCP/UDP Dynamic DNS

2382 TCP ms-olap3

2427 UDP MGCP

3000 TCP First Class Server

3051 TCP AMS (Agency Management System)

3074 TCP/UDP nintendo server

3306 TCP Mysql Server

3389 TCP Microsoft Terminal Server (RDP)

3632 TCP distcc (compilation partagée)

3644 TCP Evidian, ssowatch

3725 TCP/UDP Netia NA-ER Port

Serveur Transport Tycoon deluxe en open source


3979 TCP/UDP
(openttd)

4569 UDP IAX2 Inter-Asterisk-Exchange (rfc5456)

5003 TCP/UDP FileMaker network sharing

116
n° Type Description

Apple AirPort Admin Utility, AirPort Express


5009 TCP/UDP
Assistant, Xwis

5060 TCP/UDP serveur SIP (Session Initiation Protocol)

5062 TCP/UDP Localisation access

5222 TCP serveur Jabber

5223 TCP serveur Jabber sécurisé (ssl)

5269 TCP serveur à serveur (server to server) Jabber

5280 TCP serveur BOSH

5353 TCP/UDP Multicast DNS

5432 TCP serveur PostgreSQL

5498 TCP Hotline Tracker

5500 TCP Hotline Server

5501 TCP Hotline Server

5900 TCP VNC Server

5984 TCP CouchDB Server

6000 TCP/UDP X11

117
n° Type Description

6112 TCP Warcraft III

6522 TCP Gobby Server (Sobby)

6557 TCP Monitoring

6667 TCP Serveur IRC

6697 TCP Serveur IRC sécurisé (ssl)

7000 TCP Serveur IRC sécurisé (ssl) alternatif

7648 TCP CU-SeeMe (en)

Port par défaut de Faronics Deep Freeze


7725 TCP/UDP
(console/serveur)

7777 TCP/UDP Serveur Terraria / L2J Gameserver

8000 TCP Hotline

Dell AppAssure (en) Replication/Management


8006 TCP
Interface

8008 TCP Serveur CalDAV

8009 TCP Port AJP utilisé par Tomcat

8080 TCP http alternatif (webcache)

118
n° Type Description

8098 TCP Administration Microsoft Windows Server 2003

8140 TCP Serveur Puppet (port par défaut pour le master)

8443 TCP Serveur CalDAV sécurisé (ssl)

8787 TCP Serveur RStudio

8883 TCP MQTT sécurisé (SSL)

8888 TCP VolumeOnLan client/serveur

9000 TCP/UDP Cslistener

9009 TCP Pichat - Peer to peer webchat software

VMware HTTPS (TCP) Accès et administration de


9443 TCP
vCenter Server via l'interface Web

10001 TCP/UDP SCP-Config

10011 TCP Accès distant Livebox sécurisé HTTPS

11371 TCP/UDP OpenPGP - OpenPGP HTTP Keyserver

WriteEasy Office: Coordination affichage


20003 TCP/UDP utilisateur et serveur local | Serveur API pour
logiciels tiers

22968 TCP Plex media server

119
n° Type Description

25444 TCP Serveur Unturned

25565 TCP/UDP Serveur Minecraft

27000
à TCP/UDP Serveur Steam

27050

27017 TCP MongoDB


47808
à UDP BACnet (BAC0
47823

II.2 LES VULNERABILITES INFORMATIQUES

II.2.1 PRESENTATION
Dans le domaine de la sécurité informatique, une vulnérabilité
ou faille est une faiblesse dans un système informatique permettant à un
attaquant de porter atteinte à l'intégrité de ce système, c'est-à-dire à son
fonctionnement normal, à la confidentialité ou à l'intégrité des données
qu'il contient.

Ces vulnérabilités sont la conséquence de faiblesses dans la conception, la


mise en œuvre ou l'utilisation d'un composant matériel ou logiciel du
système, mais il s'agit souvent d'anomalies logicielles liées à des erreurs
de programmation ou à de mauvaises pratiques. Ces dysfonctionnements
logiciels sont en général corrigés à mesure de leurs découvertes, mais
l'utilisateur reste exposé à une éventuelle exploitation tant que le correctif
(temporaire ou définitif) n'est pas publié et installé. C'est pourquoi il est
important de maintenir les logiciels à jour avec les correctifs fournis par
les éditeurs de logiciels. La procédure d'exploitation d'une vulnérabilité
logicielle est appelée exploit.

120
II.2.2 Causes
Les vulnérabilités informatiques proviennent souvent de la négligence ou
de l'inexpérience d'un programmeur. Il peut y avoir d'autres causes liées
au contexte comme l'évolution des technologies, notamment en
cryptographie. Une vulnérabilité permet généralement à l'attaquant de
duper l'application, par exemple en outrepassant les vérifications de
contrôle d'accès ou en exécutant des commandes sur le système
hébergeant l'application.

Quelques vulnérabilités surviennent lorsque l'entrée d'un utilisateur n'est


pas contrôlée, permettant l'exécution de commandes ou de requêtes SQL
(connues sous le nom d'injection SQL). D'autres proviennent d'erreurs
d'un programmeur lors de la vérification des buffers de données (qui
peuvent alors être dépassés), causant ainsi une corruption de la pile
mémoire (et ainsi permettre l'exécution de code fourni par l'attaquant).

II.2.3 Publication d'une vulnérabilité


Méthode de publication

La méthode de publication des vulnérabilités est un sujet qui fait débat au


sein de la communauté de la sécurité des systèmes d'information.
Certains affirment qu'il est nécessaire de publier immédiatement toutes
les informations à propos d'une vulnérabilité dès qu'elle a été découverte
(full disclosure). D'autres prétendent qu'il est préférable de limiter en
premier lieu la publication uniquement aux utilisateurs qui en ont un
besoin important (divulgation responsable, voire coordonnée), puis après
un certain délai, de publier en détail, s'il y a besoin.

Ces délais peuvent permettre de laisser le temps aux développeurs de


corriger la vulnérabilité et à ces utilisateurs d'appliquer les patchs de
sécurité nécessaires, mais peuvent aussi accroître les risques pour ceux
qui n'ont pas ces informations. Les éditeurs de logiciels appellent cette
méthode de publication la divulgation responsable et encouragent les
chercheurs en sécurité à l'utiliser. En théorie, ces délais permettent aux
éditeurs de publier les correctifs nécessaires pour protéger leurs logiciels
et leurs utilisateurs, mais en pratique, cela ne les contraint pas à corriger
les vulnérabilités. Il a ainsi pu arriver que certaines vulnérabilités soient
restées non corrigées pendant des mois voire des années, tant qu'aucun
exploit n'a été publié. Devant cette situation, certains ont décidé de

121
laisser un délai - considéré raisonnable - aux éditeurs pour corriger les
vulnérabilités avant de les divulguer. Ainsi la société TippingPoint laisse
un délai de 6 mois avant de divulguer les détails d'une vulnérabilité 1.

Date et source de publication

La date de publication est la première date à laquelle une vulnérabilité est


décrite sur un média. L'information révélée suit les conditions suivantes :

– l'information est disponible librement et publiquement ;


– l'information sur la vulnérabilité est publiée par une source
indépendante et de confiance ;
– la vulnérabilité a fait l'objet d'analyse par des experts, notamment
sur l'estimation du risque de la révélation.

D'un point de vue sécurité, seule une publication libre d'accès et complète
peut assurer que toutes les parties intéressées obtiennent l'information
appropriée. La sécurité par l'obscurité est un concept qui n'a jamais
fonctionné.

La source de la publication doit être indépendante d'un éditeur, d'un


vendeur, ou d'un gouvernement. Elle doit être impartiale pour permettre
une diffusion de l'information juste et critique. Un média est considéré
comme « de confiance » lorsqu'il est une source de la sécurité des
systèmes d'information largement acceptée dans l'industrie (par
exemple : CERT, CESTI, Securityfocus, Secunia).

L'analyse et l'estimation du risque assurent la qualité de l'information


révélée. Une unique discussion sur une faille potentielle dans une liste de
diffusion ou une vague information d'un vendeur ne permettent donc pas
de qualifier une vulnérabilité. L'analyse doit inclure assez de détails pour
permettre à un utilisateur concerné d'évaluer lui-même son risque
individuel, ou de prendre une mesure immédiate pour se protéger.

Référence

Lorsqu'une vulnérabilité a été publiée, le MITRE lui attribue un identifiant


CVE. Cet identifiant permet de faire des recherches croisées entre
plusieurs sources d'information.

122
II.2.4 Identification et correction des vulnérabilités

Il existe de nombreux outils qui peuvent faciliter la découverte de


vulnérabilités sur un système information, certains permettant leur
suppression. Mais, bien que ces outils puissent fournir à un auditeur une
bonne vision d'ensemble des vulnérabilités potentiellement présentes, ils
ne peuvent pas remplacer le jugement humain. Se reposer uniquement
sur des scanners automatiques de vulnérabilité rapportera de nombreux
faux positifs et une vue limitée des problèmes présents dans le système.

Des vulnérabilités ont été trouvées dans tous les principaux systèmes
d'exploitation, en premier lieu sur Windows, mais aussi sur Mac OS,
différentes versions d'Unix et Linux, OpenVMS, et d'autres. La seule
manière de réduire la probabilité qu'une vulnérabilité puisse être exploitée
est de rester constamment vigilant, en développant la maintenance
système (par exemple en appliquant les patchs de sécurité), de déployer
une architecture sécurisée (par exemple en plaçant judicieusement des
pare-feu), de contrôler les accès, et de mettre en place des audits de
sécurité (à la fois pendant le développement et pendant le cycle de vie).

II.2.5 Exploitation malveillante


Les failles de sécurité deviennent particulièrement intéressantes lorsqu'un
programme contenant une de ces vulnérabilités est lancé avec des
privilèges spéciaux, qu'il permet une authentification sur un système, ou
bien encore lorsqu'il fournit un accès à des données sensibles.

Les Crackers et non « hackers », grâce à leur connaissance et à des outils


appropriés, peuvent prendre le contrôle de machines vulnérables. Les
failles de sécurité découvertes sont généralement colmatées au plus vite
à l'aide d'un patch, afin d'empêcher des prises de contrôles
intempestives ; cependant dans bien des cas, des machines restent
vulnérables à des failles anciennes, les différents correctifs n'ayant pas
été appliqués.

Certains logiciels malveillants utilisent des vulnérabilités pour infecter un


système, se propager sur un réseau, etc.

L'exploitation d'une faille peut provoquer un déni de service du système


(programme informatique, noyau du système d'exploitation, etc.), un
accès à un système ou à des informations sensibles, voire une élévation
des privilèges d'un utilisateur.

123
On parle de faille distante lorsque la vulnérabilité se situe dans un
logiciel constituant un service réseau (par exemple un serveur Web) et
qu'elle peut être exploitée par un attaquant distant, qui ne dispose pas
d'un compte local. Les vulnérabilités locales peuvent être utilisées par un
utilisateur malintentionné, qui possède un compte, pour effectuer une
élévation des privilèges, ou bien par un attaquant distant pour augmenter
ses privilèges, après l'exploitation d'une vulnérabilité distante. On parle
de faille locale lorsque la vulnérabilité n'est exploitable que par un
utilisateur disposant d'un compte local. Les vulnérabilités distantes
peuvent être utilisées par des attaquants pour obtenir un accès sur un
système.

II.2.6 Exemples de vulnérabilités


Les vulnérabilités ci-dessous font partie des plus connues :

 dépassement de tampon ;
 injection SQL ;
 cross site scripting.

124
II.3 JOURNAUX DES EVENEMENTS (FICHIERS LOGS) ET
SYSLOG

II.3.1 JOURNAUX DES EVENEMENTS (FICHIERS LOGS)

Structure de journal informatique "circulaire"

En informatique, le concept d'historique des événements ou


de journalisation désigne l'enregistrement séquentiel dans un fichier ou une base
de données de tous les événements affectant un processus particulier (application,
activité d'un réseau informatique…). Le journal (en anglais log file ou plus
simplement log), désigne alors le fichier contenant ces enregistrements.
Généralement datés et classés par ordre chronologique, ces derniers permettent
d'analyser pas à pas l'activité interne du processus et ses interactions avec son
environnement.

Un fichier texte peut être la structure sous-jacente d'un fichier journal

En français, le journal est le livre où sont inscrits des événements. Il s'applique


initialement dans le domaine des organisations (journal de bord), puis à partir
du XIXe siècle dans le domaine littéraire (journal intime) et dans le domaine de la
presse d'information (journal d'information)2. Le journal est aussi le terme utilisé en
comptabilité d'entreprise et a diffusé dans les système informatiques bancaires pour
la traçabilité des transactions et des erreurs, puis dans le domaine des
télécommunications, enfin en informatique générale2. Le terme se différencie des
registres et main courante par son séquencement temporel2.
En anglais et en argot franglais, le terme log file est la traduction de journal ou
de main-courante, tandis que le terme inscription est traduit en anglais par log.

Fonctionnalités offertes
L'enregistrement d'un historique permet de mettre en œuvre des fonctionnalités
telles que les « derniers fichiers ouverts », les « dernières commandes tapées » ou
les « dernières pages web consultées ».

Applications
La journalisation est une technique importante, utilisé entre autres en sécurité
informatique et dans les systèmes de comptabilité et paiement.

125
Dans le cadre de la sécurité, les événements enregistrés seront les accès au
système, les modifications de fichiers, etc. On consacre typiquement une ligne par
événement, en commençant par le moment exact (date, heure, minute, seconde) où
il a eu lieu.
La journalisation permet d'effectuer des analyses diverses,
généralement statistiques ; de faire des hypothèses sur les dysfonctionnements ou
les pertes de performance d'un système.
L'accès aux journaux peut contrevenir à certaines exigences de confidentialité, voire
de sécurité.
La journalisation permet aussi d'enregistrer les événements dans deux places
différentes.
Les enregistrements d'événements peuvent également avoir une importance légale.
Par exemple un fournisseur d'accès à Internet est tenu de fournir un historique des
connexions de ses clients (Loi du 15 novembre 2001 "LSQ", Loi du 21 juin 2004
"LCEN").

Journalisation applicative
La journalisation applicative désigne l'enregistrement chronologique des opérations
de la logique métier pendant le fonctionnement de l'application. Un journal applicatif
est lui-même une exigence du métier. Il est donc défini comme une fonctionnalité
faisant partie de la logique applicative. Par conséquent, il ne devrait pas être arrêté
pendant le fonctionnement de l'application.

Journalisation système
La journalisation système désigne l'enregistrement chronologique des événements
survenant au niveau des composants du système. Le niveau de cette journalisation
peut être paramétré, afin de filtrer les différents événements selon leur catégorie de
gravité. Les catégories généralement utilisées sont, par ordre croissant de gravité :
information, débogage, avertissement, erreur.
Pour exemple, les systèmes Unix mettent en œuvre cette journalisation système à
l'aide du protocole Syslog.

126
II.3.2 Syslog
Syslog

Fonction
Transmission de journaux
Port
UDP 514

RFC 31641
RFC RFC 31952
RFC 54243
RFC 54264

modifier

Syslog est un protocole définissant un service de journaux d'événements d'un


système informatique. C'est aussi le nom du format qui permet ces échanges.

Historique
Syslog a été développé dans les années 1980 par Eric Allman dans le cadre du
projet Sendmail5, et n'était initialement prévue que pour Sendmail. Il s'est avéré si
utile que d'autres applications ont commencé à l'utiliser. Syslog est depuis devenu la
solution de journalisation standard sur les systèmes Unix et Linux6, il y a également
une variété d'implémentations syslog sur d'autres systèmes d'exploitation
(Windows notamment7) et est généralement trouvé dans les périphériques réseau
tels que les commutateurs ou routeurs.

Le protocole Syslog
Présentation générale
En tant que protocole, Syslog se compose d'une partie cliente et d'une
partie serveur. La partie cliente émet les informations sur le réseau, via
le port UDP 514. Les serveurs collectent l'information et se chargent de créer les
journaux.
L'intérêt de Syslog est donc de centraliser les journaux d'événements, permettant
de repérer plus rapidement et efficacement les défaillances d'ordinateurs présents
sur un réseau.
Il existe aussi un logiciel appelé Syslog, qui est responsable de la prise en charge
des fichiers de journalisation du système. Ceci inclut aussi le démon klogd,
responsable des messages émis par le noyau Linux.

Positionnement système[modifier | modifier le code]


Le protocole syslog utilise un socket afin de transmettre ses messages. Suivant les
systèmes, celui-ci est différent:

127
Plate-forme Méthode

Un SOCK_STREAM unix nommé /dev/log;


Linux
certaines distributions utilisent SOCK_DGRAM

BSD Un SOCK_DGRAM unix appelé /var/run/log.

Solaris (2.5 et
Un flux SVR4 appelé /dev/log.
inférieurs)

Solaris (2.6 et En plus du flux habituel, une porte multithreaded appelée


supérieurs) /etc/.syslog_door est utilisée.

HP-UX 11 et HP-UX utilise le Tube Unix nommé /dev/log de taille 2048


supérieur bytes

AIX 5.2 and 5.3 Un SOCK_STREAM ou un SOCK_DGRAM unix appelé /dev/log.

Une problématique nait de ce choix architectural, l'utilisation d'un point d'entrée


unique crée des saturations système qui ont incité nombre de logiciels à utiliser leur
propre système d'enregistrement.

Le format Syslog
Un journal au format syslog comporte dans l'ordre les informations suivantes : la
date à laquelle a été émis le log, le nom de l'équipement ayant généré le log
(hostname), une information sur le processus qui a déclenché cette émission, le
niveau de priorité du log, un identifiant du processus ayant généré le log et enfin un
corps de message.
Certaines de ces informations sont optionnelles.
exemple :

Sep 14 14:09:09 machine_de_test dhcp service[warning] 110 corps du message

Niveau de priorité
La priorité du message permet de déterminer la catégorie et la gravité du journal,
elle est entre chevrons dans le journal syslog6 :priorité = (catégorie × 8) + gravité.
Cette indication est particulièrement importante car elle normalise de fait la
représentation de la catégorie et de la gravité d'un log, ce qui rend par exemple

128
possible l'interopérabilitéentre équipements de collecte de journaux et équipements
de génération d'alertes.
Catégories

Les messages sont orientés au regard de leur origine, dont les codes sont regroupés
suivant 24 types ci-dessous énumérés6 :

Codes de catégorie

Code Mot-clé Description

0 Kern kernel messages

1 User user-level messages

2 Mail mail system

3 daemon system daemons

4 Auth security/authorization messages

5 syslog messages generated internally by syslogd

6 Lpr line printer subsystem

7 news network news subsystem

8 Uucp UUCP subsystem

9 clock daemon

10 authpriv security/authorization messages

129
11 ftp FTP daemon

12 - NTP subsystem

13 - log audit

14 - log alert

15 Cron clock daemon

16 local0 local use 0 (local0)

17 local1 local use 1 (local1)

18 local2 local use 2 (local2)

19 local3 local use 3 (local3)

20 local4 local use 4 (local4)

21 local5 local use 5 (local5)

22 local6 local use 6 (local6)

23 local7 local use 7 (local7)

Niveau de gravité[modifier | modifier le code]

Les niveaux de gravité Syslog, appelés Severity level en anglais sont au nombre de
huit représentés par un chiffre de 0 (Emergency) à 7 (Debug)6 :

Codes de gravité

130
Code Gravité Mot-clé Description

emerg
0 Emergency Système inutilisable.
(panic)

1 Alert alert Une intervention immédiate est nécessaire.

2 Critical crit Erreur critique pour le système.

3 Error err (error) Erreur de fonctionnement.

warn Avertissement (une erreur peut intervenir si


4 Warning
(warning) aucune action n'est prise).

5 Notice notice Événement normal méritant d'être signalé.

6 Informational info Pour information.

7 Debugging debug Message de mise au point.

L'écriture dans le journal syslog


journalisation dans syslog (local ou distant) se fait via

 logger8 (commande Unix) pour les scripts shell


 vsyslog() ou syslog()9 pour les programmes compilés ; ce sont des
fonctions implémentées dans des bibliothèques logicielles

Fichier de configuration (syslog.conf)


À l'origine, le fichier de configuration syslog était construit sur le mode ligne, chaque
ligne était découpée en deux parties :

 la première indique l'origine du message


 la seconde la destination
Ce fichier de configuration permet de différencier les messages et de les orienter
vers des destinations particulières.

131
Dans les versions récentes (rsyslog, syslog-ng, nxlog ...), la configuration est plus
évoluée et permet des filtrages plus élaborés, bien que dans certains cas la
configuration basique soit encore utilisée.

Origine
Les origines peuvent être multiples et sont juxtaposées à l'aide d'un ';'.
Elles sont construites sous la forme :

facility.criticity

La criticité doit être comprise comme la criticité minimale, ainsi user.crit correspond
au message d'origine utilisateur pour le niveau de criticité critical et les niveaux
supérieurs, en l'occurrence alert et emergency.
Le mot clef "none" peut lui aussi être utilisé afin de filtrer les messages, il est alors
utilisé en lieu et place de la criticité.

Destination
Dans syslog classique, la destination peut être soit un fichier soit un serveur distant.
La destination peut être précédé d'un - afin d'indiquer la finalité de celle-ci. Le signe
« - » est utilisé devant les chemins de fichiers les moins critiques pour améliorer les
performances en écriture (pas de synchronisation des fichiers) au risque de perdre
des données en cas de crash du système.

Exemple
Extrait d'une partie d'un fichier de configuration :

daemon.* -/var/log/daemon.log
user.crit @serveurdelog
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
Auth/authpriv ⇒ traces sécurité/identifiant ion
cron ⇒ traces d'un cron
daemon.* ⇒ trace d'un daemon
kern.* ⇒ traces du noyau
lpr.* ⇒ traces du système d'impression
mail ⇒ traces du système de messagerie
news ⇒ traces d'un service de news/réseau
syslog ⇒ traces du service syslog lui-même
user ⇒ trace des processus utilisateur
local0 à 7 ⇒ traces issues des klogd

132
CHAP.III : LES OUTILS DE SECURITE INFORMATIQUE

III.1 LES SCANNEURS DES PORTS (Balayage de ports)

III.1.1 NOTIONS SUR LE BALAYAGE DE PORT

En informatique, le balayage de ports (port scanning en anglais) est


une technique servant à rechercher les ports ouverts sur un serveur de
réseau. Cette technique est utilisée par les administrateurs des systèmes
informatiques pour contrôler la sécurité des serveurs de leurs réseaux. La
même technique est aussi utilisée par les pirates informatiques pour
tenter de trouver des failles dans des systèmes informatiques. Un
balayage de ports (port scan ou portscan en anglais) effectué sur un
système tiers est généralement considéré comme une tentative
d'intrusion, car un balayage de ports sert souvent à préparer une
intrusion.

Le balayage de ports est une des activités considérées comme suspectes


par un système de détection d'intrusion. Un système de détection
d'intrusion peut être réglé à différents niveaux de sensibilité. Un niveau
de sensibilité élevé génèrera plus de fausses alertes, un niveau de
sensibilité bas risque de laisser passer les balayages effectués par des
systèmes sophistiqués comme Nmap qui disposent de diverses options
pour camoufler leurs balayages.

Pour tromper la vigilance des systèmes de détection et des pare-feu, les


balayages peuvent se faire dans un ordre aléatoire, avec une vitesse
excessivement lente (par exemple sur plusieurs jours), ou à partir de
plusieurs adresses IP.

Les balayages de ports se font habituellement sur le protocole TCP ;


néanmoins, certains logiciels permettent aussi d'effectuer des balayages
UDP. Cette dernière fonctionnalité est beaucoup moins fiable, UDP étant
orienté sans connexion, le service ne répondra que si la requête
correspond à un modèle précis variant selon le logiciel serveur utilisé.

III.3.2 Techniques de balayage des ports

1. TCP

Un balayage de ports vise typiquement le protocole TCP, car c'est celui


qui est utilisé par la majorité des applications. L'objectif du balayage est

133
de savoir si un logiciel est en écoute sur un numéro de port donné. Si un
logiciel écoute, on dit que le port est ouvert, sinon on dit qu'il est fermé.
Le balayage d'un port se passe en deux étapes :

1. l'envoi d'un paquet sur le port testé ;


2. l'analyse de la réponse.

Il existe de nombreuses variantes pour le paquet émis. Il y a le paquet


valide selon la norme TCP, le paquet « TCP SYN », et les paquets
invalides. L'utilisation des paquets invalides vise à tromper les systèmes
de détection d'intrusion. La liste des paquets invalides utilisés est :

 ACK ;
 FIN ;
 Maimon1 (FIN/ACK) ;
 NULL (aucun) ;
 Xmas2 (tous) ;
 Window (ACK).

Le serveur peut répondre de différentes manières :

 ouverture de connexion acceptée : envoi d'un paquet TCP


SYN/ACK ;
 fermeture de la connexion : envoi d'un paquet TCP RST ;
 absence de réponse : on dit que le paquet est droppé.

La réponse ouverture de connexion acceptée indique clairement que le


port est ouvert. La réponse fermeture de la connexion indique que le port
est fermé. L'absence de réponse est souvent due à un pare-feu qui vise à
contrer le balayage de ports. Le pare-feu peut détecter un trafic anormal
et décider d'ignorer pendant un certain temps tous les paquets provenant
de la machine générant le trafic anormal. En absence de réponse, on ne
peut donc pas savoir avec certitude si le port est ouvert ou fermé.

La technique Window envoie un paquet TCP ACK et observe la taille de la


fenêtre TCP du paquet de réponse (TCP RST). Si le port est fermé, la taille
de la fenêtre de la réponse est nulle.

La technique Mainon est utilisée sur les systèmes BSD. Uriel Maimon a
constaté que ces systèmes ignorent un paquet TCP FIN/ACK (invalide) si
le port est ouvert au lieu d'envoyer la réponse TCP RST.

2. Autres techniques pour TCP

134
Une autre technique consiste à passer par un serveur FTP. On utilise la
fonctionnalité de serveur mandataire des serveurs FTP pour balayer les
ports.

Enfin, la technique Idle scanning utilise l'identifiant de fragmentation du


protocole IP. Un système de détection d'intrusion pense que l'analyse
provient d'un ordinateur zombi. Consultez l'article (en) Idle Scanning and
Related IPID Games [archive] pour plus de renseignements.

3. UDP et IP

Pour le protocole UDP, on envoie un paquet UDP vide (de longueur nulle).
Si le port est fermé, un message ICMP de type 3 (destinataire
inaccessible) et code 3 est envoyé.

Il est également possible de lister les protocoles IP pris en charge par un


hôte. On appelle cette technique IP protocol

4. Version du scanner des ports

On peut détecter le système d'exploitation et sa version par la prise


d'empreinte de la pile TCP/IP. Un logiciel tel que Nmap permet également
de détecter le nom du logiciel écoutant sur un port, voire sa version.

III.3.2 LE NMAP (Scanneurs des ports)

III.3.2.1 PRESENTATION

Nmap

135
Développeur Fyodor

Première version 1er septembre 19971

Dernière version 7.70 (20 mars 2018)2

Écrit en C++, Python, C, Lua et Java

Environnements Multiplate-forme

Type Sécurité informatique

Licence GNU GPL

Site web nmap.org [archive]

modifier

Nmap est un scanneur de ports libre créé par Fyodor et distribué par
Insecure.org. Il est conçu pour détecter les ports ouverts, identifier les
services hébergés et obtenir des informations sur le système
d'exploitation d'un ordinateur distant. Ce logiciel est devenu une
référence pour les administrateurs réseaux car l'audit des résultats de
Nmap fournit des indications sur la sécurité d'un réseau. Il est disponible
sous Windows, Mac OS X, Linux, BSD et Solaris.

Le code source de Nmap est disponible sous la licence GNU GPL.

III.3.2.2 Les bases du scan de ports

Même si le nombre de fonctionnalités de Nmap a considérablement


augmenté au fil des ans, il reste un scanner de ports efficace, et cela
reste sa fonction principale. La commande de base nmap <target> scanne
plus de 1 660 ports TCP de l'hôte <target>. Alors que de nombreux autres
scanners de ports ont partitionné les états des ports en ouverts ou
fermés, Nmap a une granularité bien plus fine. Il divise les ports selon six
états: ouvert (open), fermé (closed), filtré (filtered), non-filtré (unfiltered),
ouvert|filtré (open|filtered), et fermé|filtré (closed|filtered).

136
Ces états ne font pas partie des propriétés intrinsèques des ports eux-
mêmes, mais décrivent comment Nmap les perçoit. Par exemple, un scan
Nmap depuis le même réseau que la cible pourrait voir le port 135/tcp
comme ouvert alors qu'un scan au même instant avec les mêmes options
au travers d'Internet pourrait voir ce même port comme filtré.

III.3.2.3 Les six états de port reconnus par Nmap

ouvert (open)

Une application accepte des connexions TCP ou des paquets UDP


sur ce port. Trouver de tels ports est souvent le but principal du
scan de ports. Les gens soucieux de la sécurité savent
pertinemment que chaque port ouvert est un boulevard pour une
attaque. Les attaquants et les pen-testers veulent exploiter ces
ports ouverts, tandis que les administrateurs essaient de les fermer
ou de les protéger avec des pare-feux sans gêner leurs utilisateurs
légitimes. Les ports ouverts sont également intéressants pour des
scans autres que ceux orientés vers la sécurité car ils indiquent les
services disponibles sur le réseau.

fermé (closed)

Un port fermé est accessible (il reçoit et répond aux paquets émis
par Nmap), mais il n'y a pas d'application en écoute. Ceci peut
s'avérer utile pour montrer qu'un hôte est actif (découverte d'hôtes
ou scan ping), ou pour la détection de l'OS. Comme un port fermé
est accessible, il peut être intéressant de le scanner de nouveau
plus tard au cas où il s'ouvrirait. Les administrateurs pourraient
désirer bloquer de tels ports avec un pare-feu, mais ils
apparaîtraient alors dans l'état filtré décrit dans la section suivante.

filtré (filtered)

Nmap ne peut pas toujours déterminer si un port est ouvert car les
dispositifs de filtrage des paquets empêchent les paquets de tests
(probes) d'atteindre leur port cible. Le dispositif de filtrage peut être
un pare-feu dédié, des règles de routeurs filtrants ou un pare-feu
logiciel. Ces ports ennuient les attaquants car ils ne fournissent que
très peu d'informations. Quelques fois ils répondent avec un
message d'erreur ICMP de type 3 code 13 (« destination
unreachable: communication administratively prohibited »), mais
les dispositifs de filtrage qui rejettent les paquets sans rien

137
répondre sont bien plus courants. Ceci oblige Nmap à essayer
plusieurs fois au cas où ces paquets de tests seraient rejetés à
cause d'une surcharge du réseau et pas du filtrage. Ceci ralenti
terriblement les choses.

non-filtré (unfiltered)

L'état non-filtré signifie qu'un port est accessible, mais que Nmap
est incapable de déterminer s'il est ouvert ou fermé. Seul le scan
ACK, qui est utilisé pour déterminer les règles des pare-feux,
catégorise les ports dans cet état. Scanner des ports non-filtrés
avec un autre type de scan, comme le scan Windows, SYN ou FIN
peut aider à savoir si un port est ouvert ou pas.

ouvert|filtré (open|filtered)

Nmap met dans cet état les ports dont il est incapable de
déterminer l'état entre ouvert et filtré. Ceci arrive pour les types de
scans où les ports ouverts ne renvoient pas de réponse. L'absence
de réponse peut aussi signifier qu'un dispositif de filtrage des
paquets a rejeté le test ou les réponses attendues. Ainsi, Nmap ne
peut s'assurer ni que le port est ouvert, ni qu'il est filtré. Les scans
UDP, protocole IP, FIN, Null et Xmas catégorisent les ports ainsi.

fermé|filtré (closed|filtered)

Cet état est utilisé quand Nmap est incapable de déterminer si un


port est fermé ou filtré. Cet état est seulement utilisé par le scan
Idle basé sur les identifiants de paquets IP.

III.3.2.3 Spécification des cibles

Tout ce qui n'est pas une option (ou l'argument d'une option) dans la
ligne de commande de Nmap est considéré comme une spécification
d'hôte cible. Le cas le plus simple est de spécifier une adresse IP cible ou
un nom d'hôte à scanner.

Si vous désirez scanner un réseau entier d'hôtes consécutifs, Nmap


supporte l'adressage du style CIDR. Vous pouvez ajouter / <numbits> à
une adresse IP ou à un nom d'hôte de référence et Nmap scannera toutes
les adresses IP dont les <numbits> bits de poids fort sont les mêmes que la
cible de référence. Par exemple, 192.168.10.0/24 scannerait les 256
hôtes entre 192.168.10.0 (en binaire: 11000000 10101000 00001010

138
00000000) et 192.168.10.255 (en binaire: 11000000 10101000 00001010
11111111) inclusivement. 192.168.10.40/24 ferait donc aussi la même
chose. Étant donné que l'hôte scanme.nmap.org est à l'adresse IP
205.217.153.62, scanme.nmap.org/16 scannerait les 65 536 adresses IP
entre 205.217.0.0 et 205.217.255.255. La plus petite valeur autorisée est
/1 qui scanne la moitié d'Internet. La plus grande valeur autorisée est 32,
ainsi Nmap ne scanne que la cible de référence car tous les bits de
l'adresse sont fixés.

La notation CIDR est concise mais pas toujours des plus pratiques. Par
exemple, vous voudriez scanner 192.168.0.0/16 mais éviter toutes les
adresses se terminant par .0 ou .255 car se sont souvent des adresses de
diffusion (broadcast). Nmap permet de le faire grâce à l'adressage par
intervalles. Plutôt que de spécifier une adresse IP normale, vous pouvez
spécifier pour chaque octet de l'IP une liste d'intervalles séparés par des
virgules. Par exemple, 192.168.0-255.1-254 évitera toutes les adresses
se terminant par .0 ou .255. Les intervalles ne sont pas limités aux octets
finals: 0-255.0-255.13.37 exécutera un scan de toutes les adresses IP se
terminant par 137.37. Ce genre de spécifications peut s'avérer utile pour
des statistiques sur Internet ou pour les chercheurs.

Les adresses IPv6 ne peuvent être spécifiées que par une adresse IPv6
pleinement qualifiée ou un nom d'hôte. L'adressage CIDR ou par
intervalles n'est pas géré avec IPv6 car les adresses ne sont que rarement
utiles.

Nmap accepte les spécifications de plusieurs hôtes à la ligne de


commande, sans qu'elles soient nécessairement de même type. La
commande nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-
255 fait donc ce à quoi vous vous attendez.

Même si les cibles sont souvent spécifiées dans les lignes de commandes,
les options suivantes sont également disponibles pour sélectionner des
cibles :

-iL <inputfilename>(Lit la liste des hôtes/réseaux cibles depuis le fichier)

Lit les spécifications des cibles depuis le fichier <inputfilename>. Il est


souvent maladroit de passer une longue liste d'hôtes à la ligne de
commande. Par exemple, votre serveur DHCP pourrait fournir une
liste de 10 000 baux que vous souhaiteriez scanner. Ou alors
voudriez scanner toutes les adresses IP sauf celles des baux DHCP

139
pour identifier les hôtes qui utilisent des adresses IP statiques non-
autorisées. Générez simplement la liste des hôtes à scanner et
passez ce fichier comme argument de l'option -iL. Les entrées
peuvent être spécifiées dans n'importe quel des formats acceptés
par la ligne de commande de Nmap (adresses IP, noms d'hôtes,
CIDR, IPv6 ou par intervalles). Les entrées doivent être séparées
par un ou plusieurs espaces, tabulations ou retours chariot. Vous
pouvez utiliser un tiret (-) comme nom de fichier si vous souhaitez
que Nmap lise les hôtes depuis l'entrée standard.

-iR <num hosts>(Choisit des cibles au hasard)

Pour des études à l'échelle d'Internet ou autres, vous pourriez


désirer de choisir vos cibles au hasard. L'argument <num hosts>
indique à Nmap combien d'IPs il doit générer. Les IPs à éviter,
comme les plages d'adresses privées, multicast ou non allouées
sont automatiquement évitées. On peut aussi utiliser l'argument 0
pour effectuer un scan sans fin. Rappelez-vous bien que certains
administrateurs de réseau s'irritent lorsqu'on scanne leur réseau
sans permission et peuvent porter plainte. Utilisez cette option à
vos risques et périls! Un jour de pluie où vous ne savez pas quoi
faire, essayez la commande nmap -sS -PS80 -iR 0 -p 80 pour
trouver des serveurs Web au hasard sur lesquels fureter.

--exclude <host1[,host2][,host3],...> (Exclut des hôtes/des réseaux des cibles)

Spécifie une liste de cibles séparées par des virgules à exclure du


scan, même si elles font partie de la plage réseau que vous avez
spécifiée. La liste que vous donnez en entrée utilise la syntaxe
Nmap habituelle, elle peut donc inclure des noms d'hôtes, des blocs
CIDR, des intervalles, etc. Ceci peut être utile quand le réseau que
vous voulez scanner comprend des serveurs à haute disponibilité,
des systèmes reconnus pour réagir défavorablement aux scans de
ports ou des sous-réseaux administrés par d'autres personnes.

--excludefile <exclude_file> (Exclut des hôtes/des réseaux des cibles depuis le


fichier)

Cette option offre les mêmes fonctionnalités que l'option --exclude, à


la différence qu'ici les cibles à exclure sont spécifiées dans le fichier
<exclude_file> au lieu de la ligne de commande. Les cibles sont
séparées entre elles dans le fichier par des retours chariot, des
espaces ou des tabulations.
140
III.3.2.4 UTILISATION DU NMAP A MODE CONSOLE

141
142
143
144
III.3.2.6 UTILISATION DU NMAP AVEC INTERFACE GRAPHIQUE

145
146
147
148
III.3.2.6 UTILISATION DU NMAP EN GENERAL

149
150
151
152
153
154
155
156
157
158
159
160
161
162
III.2 SCANNER DE VULNERABILITES
III.2.1 NOTIONS SUR LES SCANNERS DE VULNERABILITES

En sécurité informatique, un scanner (ou scanneur) de vulnérabilités


est un programme conçu pour identifier des vulnérabilités dans une
application, un système d'exploitation, ou un réseau.

1. Utilisation

Les scanneurs de vulnérabilités peuvent être utilisés dans des objectifs


licites ou illicites :

 objectifs licites : les experts en sécurité informatique ou les entreprises


utilisent les scanneurs de vulnérabilités pour trouver les failles de sécurité
des systèmes informatiques et des systèmes de communications de leurs
entreprises dans le but de les corriger avant que les pirates informatiques
ne les exploitent ;
 objectifs illicites : les pirates informatiques utilisent les mêmes
équipements pour trouver les failles dans les systèmes des entreprises
pour les exploiter à leur avantage.

Cet outil peut être une brique intégrée d'une solution de sécurité plus
large: un SIEM ou un SOC par exemple.

2. Principes de fonctionnement

2.1 Généralités

Les scanners de vulnérabilités se présentent sous plusieurs formes:


logiciel à installer sur son système, machine virtuelle pré-configurée
(virtual appliance) ou encore en SaaS dans le cloud.

Un scanner de vulnérabilités se "lance" sur une ou plusieurs cibles, dans


un réseau interne ou sur Internet. Ces cibles (URL, adresse IP, sous-
réseau) sont renseignées par l'utilisateur lorsqu'il désire mener son scan.
La plupart des outils suivent le schéma de scan suivant:

 détection des cibles actives (attente d'une réponse ICMP, ARP, TCP, etc.
pour déterminer si la cible répondra au scanner)
 détection des ports TCP et UDP accessibles sur la cible (scan de ports)
 détection des services actifs (SSH, HTTP, etc.) sur chacun de ces ports et
de leurs versions (phase de "fingerprint")

163
 éventuellement: utilisation d'un compte fourni pour se connecter sur la
machine et lister les programmes non visibles depuis le réseau
(navigateur, liseuse, suite bureautique, etc.)
 éventuellement: reconnaissance des applications Web accessibles et
construction de l'arbre de chaque site Web (phase dite de "crawling")
 sélection des modules de sécurité à lancer sur la cible selon les services
précédemment reconnus
 lancement des modules de sécurité
 génération du rapport de sécurité

Un scanner de vulnérabilités est donc un outil complexe qui peut faire


appel à de nombreux programmes spécifiques pour chacune des tâches
pré-citées.

2.2 Cibles

Un scanner de vulnérabilités est théoriquement capable de tester tout


élément joignable par une adresse IP :

 Ordinateur
 Serveur
 Routeur, commutateur, pare-feu
 Smartphone
 Objet connecté
 Site Web
 Automate, robot, machine
 Caméra IP
 IPBX, poste téléphonique sur IP
 etc.

Le fait de pouvoir joindre un élément n'implique cependant pas forcément


que son niveau de sécurité puisse être audité correctement. Pour cela, le
scanner doit embarquer les modules de sécurité idoines dans son
catalogue. Par exemple, si une cible ne possède que le port UDP 161
ouvert avec le service SNMP, un scanner pourra reconnaître que cette
cible est active mais ne pourra juger son niveau de sécurité qu'en
incorporant des modules d'attaque contre SNMP.

2.3 Méthodes de détection

Pour établir la présence d'une vulnérabilité, un scanner dispose de


plusieurs méthodes:

164
a) Fingerprint de version

Cette première méthode est la plus répandue. L'outil tente de déterminer


la nature et la version d'un service, par exemple: apache httpd 2.4.2.

Pour cela, il peut se fier aux bannières présentées par les différents
services, rechercher des motifs caractéristiques d'une version dans les
réponses du serveur (notamment dans les en-têtes), etc.

Une fois que la version est déterminée, l'outil utilise une base qui associe
à chaque version d'un outil, la liste des vulnérabilités publiquement
connues sur celui-ci.

De telles bases sont publiquement accessibles et enrichies par l'éditeur de


la solution concernée, par un État ou encore par une communauté. La
base la plus connue est celle des CVE: Common Vulnerabilities and
Exposures publiée par le MITRE, une organisation à but non lucratif
soutenue par le département de la Sécurité intérieure des États-Unis. Une
alternative indépendante est l'OSVDB (Open Source Vulnerability
Database). Ces bases tentent donc de recenser toutes les vulnérabilités
découvertes et de les associer aux produits vulnérables. Généralement
seuls les produits les plus connus font l'objet d'une entrée dans ces deux
bases. Les éditeurs les plus connus maintiennent aussi leur propres base:
Debian Security Advisory (DSA) pour Debian, CSA pour Cisco, RHSA pour
RedHat, idem pour Wordpress, Gentoo, Drupal, etc.

De manière symétrique, la dénomination des programmes et de leurs


versions a été normalisée avec les CPE [archive] (Common Platform
Enumeration également maintenu par le MITRE) afin de pouvoir faire des
associations en base de données plus simple.

Cette méthode est cependant notoirement sujette aux faux positifs et aux
faux négatifs. De nombreux programmes ne laissent pas transparaître
leur version (désactivation des bannières, etc.), le scanner ne pourra donc
pas en déduire leurs vulnérabilités (faux négatifs). Inversement, des
programmes peuvent donner leur version mais avoir subi un rétroportage
des correctifs et donc, ne pas souffrir des vulnérabilités officiellement
rattachées à cette version (faux positifs). Ce dernier cas se produit très
fréquemment sur les versions paquetagées par les distributions Linux
comme Debian ou Ubuntu.

165
b) Exploitation active

Lorsque des vulnérabilités sont publiquement dévoilées, elles sont parfois


accompagnées d'un "exploit" (prononcé "exploite" ou "exploïte") qui est
un programme permettant des les exploiter automatiquement.

Un scanner de vulnérabilités peut donc recourir à cet exploit pour vérifier


la présence d'une vulnérabilité. Dans ce cas-là, le scanner n'a pas besoin
de se fier à la version du programme qu'il audit, il se fie à la réussite ou à
l'échec de l'exploit.

Plusieurs bases d'exploits existent telles que exploit-db [archive](maintenu


par la communauté à l'origine de Kali Linux, distribution dédiée au tests
d'intrusion) ou encore celle de l'outil metasploit [archive] (publié par
Rapid7 qui édite notamment le scanner de vulnérabilités Nexpose).

Cette méthode est donc très efficace mais souffre de deux inconvénients.
Premièrement il existe peu de vulnérabilités pour lesquelles un exploit est
disponible: pour donner un ordre de grandeur, il existe 90 000 CVE
enregistrées et moins de 4000 exploits dans metasploit. Deuxièmement,
certains exploits peuvent avoir des effets de bord significatifs et perturber
le fonctionnement de la machine auditées (pouvant aller jusqu'à un
crash). Ils doivent donc être utilisés avec parcimonie et être
rigoureusement qualifiés.

c) Scan de configuration

Certaines vulnérabilités ne proviennent pas d'un défaut dans le code


source du programme mais simplement d'un mauvais réglage de celui-ci
dans un certain contexte. Les scanners de vulnérabilités peuvent donc
détecter certaines vulnérabilités en analysant la configuration distante du
service audité (ce qui est un service généralement prévus par celui-ci).

Ceci concerne par exemple les options de sécurité activées sur les
cookies, les cipher suite dans la configuration SSL/TLS, les transferts de
zone pour un server DNS, les mots de passe par défaut inchangés, les
services par défaut laissés activés, etc.

Cette méthode est généralement sans risque (excepté tester les mots de
passe par défaut qui peut bloquer des comptes après trop d'échecs) et la
base des bonnes pratiques est relativement simple à maintenir (par
rapport à celle des nouvelles vulnérabilités où l'on compte en moyenne 13
nouvelles CVE par jour). Cependant, il y a des risques de faux positifs

166
puisque le scanner de vulnérabilités n'est pas forcément à même de
connaître le contexte et donc de juger si la configuration en question est
adaptée ou non (exemple: un transfert de zone DNS est problématique
vers Internet mais relativement sans danger dans un réseau interne).

d) Scans authentifiés

Bien que la plupart des scanners soient "sans agents", ils fournissent
souvent la possibilité d'utiliser un compte renseigné par l'utilisateur pour
mener des tests authentifiés.

Lors d'un scan authentifié, le scanner utilise des modules appelés "local
security check" qui consistent à consulter la base des programmes
installés et leur version (en interrogeant le registre Windows ou Aptitude,
pacman, emerge, etc. pour Linux). En se basant sur les alertes de
sécurités des éditeurs (DSA, CSA, RHSA, etc.), le scanner pourra
constater la présence ou l'absence de programmes ayant des
vulnérabilités connues.

L'intérêt principal de cette méthode est de ne pas se limiter à la surface


visible de la machine depuis le réseau. En effet, une machine ayant un
navigateur obsolète pourrait facilement être compromise par un maliciel,
mais le navigateur étant un programme "client" et non pas "serveur", il
n'émet pas sur un port (puisqu'il consomme un service) comme le ferait
par exemple un serveur SSH (qui fournit un service). Donc, en l'absence
de scan authentifié, le risque peut demeurer totalement ignoré de
l'utilisateur du scanner de vulnérabilités.

Avec cette méthode, le scanner de vulnérabilités remplit donc également


une fonction proche du "patch management" (il permet la détection des
anomalies même s'il ne les corrige pas lui-même).

Cette méthode est fiable (pas ou peu de faux positifs/négatifs), ne risque


pas d'engendrer d'instabilités sur le système audité et est rapide. Elle
peut se substituer aux méthodes de fingerprint et d'exploitation active
mais pas à celle du scan de configuration qui demeure complémentaire.
En revanche, elle nécessite de fournir des comptes valides pour chaque
machine auditée.

e) Spécificité des applications Web

Les méthodes pré-citées ne sont pas suffisantes pour attester de la


sécurité d'un site Web. Elles permettent de savoir si le serveur Web sous-
167
jacent (exemples : Apache, Nginx, IIS) est exempt de vulnérabilités mais
ne peuvent pas connaître la sécurité de l'application Web (ou du service
Web) propulsée par ce serveur Web.

L'application Web peut souffrir de défauts de conception dans leur code


source qui entraînent l'apparition de failles applicatives. Comme chaque
site Web est unique, le scanner ne peut pas se fier à une quelconque base
de connaissances. Néanmoins, les failles applicatives sont un sujet
exhaustivement traité par l'OWASP (Open Web Application Security
Project) qui est une communauté libre et ouverte œuvrant pour la
sécurité des applications Web. L'OWASP recense toutes les familles de
vulnérabilités Web et les attaques qui y sont associées. Certains scanners
implémentent donc des modules de détection de ces familles de failles.
D'autres scanners se spécialisent même exclusivement dans cette tâches
(Burp suite, Zap, Wapiti...).

Il s'agit d'une approche comparable à l'exploitation active mais bien plus


complexe. Ici, le scanner ne peut pas utiliser un exploit créé
spécifiquement pour fonctionner sur un cas particulier bien connu. Le
module d'attaque doit pouvoir s'adapter à tous les sites Web quelle que
soit leur architecture. Pour cela, les tests Web incorporent une phase
appelée "crawling" qui consiste à cartographier le site Web et tous ses
points d'entrées de données (en suivant tous les liens ou même en
tentant de deviner la présence de certaines pages : /admin,
/phpmyadmin, etc.). Les points d'entrées sont ensuite soumis à des
motifs d'attaque adaptatifs spécifiques aux familles d'attaques: injections
SQL, XSS, LFI, RFI, traversée d'arborescence, etc.

Les scanners permettent généralement aussi de fournir un compte ou un


cookie de session pour accéder aux parties réservées aux utilisateur
authentifiés.

Les scanners Web sont cependant limités puisque des opérations


complexes, comme remplir un formulaire d'assurance en ligne, ne
peuvent être menées de bout en bout car elles peuvent nécessiter de
renseigner des informations contextuelles et cohérentes que le scanner ne
peut pas deviner.

f) Restitution des résultats

La visualisation et la restitution des résultats se fait traditionnellement via


deux paradigmes. Premièrement, une vue "par vulnérabilité" permettant

168
de lister toutes les vulnérabilités identifiées dans le scan et de donner
pour chacune d'elle la liste des machines affectées. Deuxièmement, une
vue "par machine" listant les cibles de l'audit associées à la liste de leur
vulnérabilités respectives.

Traditionnellement, en sécurité informatique, les vulnérabilités sont


restituées par ordre de criticité suivant une échelle à 4 niveaux:

 Critiques: les vulnérabilités permettant généralement une prise de


contrôle ou une exécution de commande à distance dont l'exploitation est
relativement simple
 Majeures: les vulnérabilités permettant une prise de contrôle ou une
exécution de commande à distance dont l'exploitation demeure complexe
 Moyennes: les vulnérabilités ayant des impacts limités ou dont
l'exploitation nécessite des conditions initiales non triviales
 Mineures: les vulnérabilités ayant des impacts faibles ou nuls à moins
d'être combinées à d'autres vulnérabilités plus importantes

L'état de l'art associe à chaque vulnérabilité un score entre 0 et 10 appelé


CVSS (Common Vulnerability Scoring System) qui dépend des
caractéristiques de cette vulnérabilité. La version 3 du CVSS prend en
compte, au minimum, les éléments suivants :

 Le vecteur d'attaque : est-ce que l'attaquant peut venir de n'importe où


ou bien doit-il avoir une position de départ privilégiée ?
 Complexité : exploiter la vulnérabilité est-il trivial (par exemple si un
exploit existe) ou bien hautement techniques ?
 Privilèges requis : l'attaquant doit-l disposer d'accès préalables (un
compte utilisateur par exemple) pour pouvoir mener son action ?
 Interaction avec un utilisateur: l'attaquant doit-il amener la victime à
effectuer une action pour que son attaque réussisse (comme l'inciter à
cliquer sur un lien) ?
 Périmètre : est-ce qu'une exploitation permet à l'attaquant d'avoir accès à
de nouvelles cibles ?
 Impacts : une exploitation réussie entraîne-t-elle des pertes de
confidentialité/disponibilité/intégrité ?

Le score CVSS est régulièrement utilisé par les scanners de vulnérabilités


pour pondérer les risques associés à une cible.

Les scanners doivent donner à l'utilisateur tous les éléments pertinents


pour sa compréhension de la vulnérabilité. Traditionnellement, une
description de vulnérabilité comporte les éléments suivants :

169
 Le nom de la vulnérabilité
 Sa criticité
 La cible touchée
 Une brève description de sa nature
 Une référence à une base de connaissance type CVE, OSVDB, DSA...
 Une mention de la simplicité de l'exploitation
 Une description de l'impact en cas d'exploitation réussie
 Une ou plusieurs préconisations pour la résoudre

Parfois, d'autres éléments y sont ajoutés:

 Le niveau de confiance à accorder à la vulnérabilité : quantification du


risque qu'il s'agisse ou non d'un faux positif
 S'il existe ou non un exploit automatique
 Un extrait des données ayant permis au module de sécurité de conclure à
la présence de cette faille
 La famille de vulnérabilité (authentification, mise à jour, etc.)
 Des liens pour en savoir plus (notamment pour des explications plus
détaillées du fonctionnement technique de la vulnérabilité)

Les rapports sont souvent exportables aux formats PDF, CSV, HTML, etc.

3. Outils proches des scanners de vulnérabilités

3.1 Cas des outils d'audit de code

Certains outils d'audit de code se présentent parfois comme des scanners


de vulnérabilités dans la mesure où ils permettent de détecter les failles
applicatives en amont (directement dans le code source plutôt que via des
tests externes). Il y a effectivement des similitudes dans la philosophie de
ces outils. Ils se limitent cependant aux failles liées aux fonctionnement
applicatifs mais ne couvrent pas les failles liées au déploiement (système
d'exploitation et serveur sous-jacent) et à la configuration (mot de passe
par défaut, données sensibles accessibles sans authentification).

3.2 Cas des scanners de ports

Les scanners de vulnérabilités embarquent un service de scan de ports,


qu'il soit sur mesure ou sur étagère.

Les scanners de ports existent aussi tout à fait indépendamment des


scanners de vulnérabilités. L'outil nmap est la référence incontournable
dans ce domaine. En plus du scan de port, ils effectuent parfois aussi du
fingerprint de service et peuvent tester la présence de certaines

170
vulnérabilités. Ces fonctionnalités sont cependant limités : pas de
corrélation des versions (seulement de l'exploitation active et du scan de
configuration), pas de scans authentifiés, pas de scans Web.

3.3 Cas des outil d'audit de configuration

Des outils comme lynis peuvent être déployés localement sur une
machine pour vérifier le respect des bonnes pratiques de sécurité:
permissions, mises à jour, configuration des services, etc. Leur approche
les exclu cependant de découvrir certaines vulnérabilités puisqu'ils
n'auditent la machine que d'après une liste figée de règles. Un mot de
passe trivial sur un service de base de données ou un service lancée sans
être installé sur le serveur (programme portable par exemple) échappent
à ces outils.

3.4 Cas des outils de patch management

Certains outils permettent de lister tous les programmes installés et de


vérifier leur état de mise à jour (et proposent d'appliquer les mises à jour
nécessaire si besoin). Ces outils sont très puissants mais ne couvrent pas
tout le périmètre des scanners de vulnérabilités: des programmes
portables non à jour, des défauts de configuration, des mots de passe par
défaut, sont autant d'éléments non pris en compte par ces outils.

3.5 Cas des scanners de vulnérabilités ciblés

Plusieurs outils permettent de détecter les vulnérabilités d'un seul type de


cible :

 wpscan: pour les failles Wordpress


 routersploit: pour les failles sur routeur, commutateur et pare-feu
 sqlmap: pour les injections SQL uniquement
 brutespray: pour les mots de passe par défaut uniquement
 etc.

De même, les scanners de vulnérabilités uniquement orientés Web


appartiennent, de fait, à cette catégorie: BurpSuite, Zap, W3af, Nikto,
etc.

4. Distinctions entre les scanners

Les distinctions technologiques entre les scanners portent essentiellement


sur les points suivants :

171
 Ergonomie
 Rapidité de la détection des cibles et ports ouverts
 Qualité de la fonction de fingerprint
 Support de la fonctionnalité de tests authentifiés
 Services testés: Web uniquement (comme BurpSuite, Wapiti, ...), tous
excepté le Web (comme OpenVas, Nexpose free...), tous
 Richesse du catalogue des modules de sécurité et des technologies
pouvant être auditées (systèmes d'exploitation, programmes, etc.)
 Rapidité du scan de vulnérabilités
 Clarté et exploitabilité des résultats restitués par le scanner
 Conformité à certaines normes sectorielles (PCI DSS, etc.)

172
II.2.2 LE NESSUS
1. Généralités
Nessus

Développeur Tenable Network Security


Dernière version 5.2.6 (24 mars 2014)1
Environnement Multiplate-forme
Type Scanner de vulnérabilité
Licence GNU GPL, puis propriétaire
Site web nessus.org [archive]

Nessus est un outil de sécurité informatique. Il signale les faiblesses


potentielles ou avérées sur les machines testées. Ceci inclut, entre
autres :

 les services vulnérables à des attaques permettant la prise de


contrôle de la machine, l'accès à des informations sensibles (lecture
de fichiers confidentiels par exemple), des dénis de service...

173
 les fautes de configuration (relais de messagerie ouvert par
exemple)
 les patchs de sécurité non appliqués, que les failles corrigées soient
exploitables ou non dans la configuration testée
 les mots de passe par défaut, quelques mots de passe communs, et
l'absence de mots de passe sur certains comptes systèmes. Nessus
peut aussi appeler le programme externe Hydra (de) pour attaquer
les mots de passe à l'aide d'un dictionnaire.
 les services jugés faibles (on suggère par exemple de remplacer
Telnet par SSH)
 les dénis de service contre la pile TCP/IP

2. Architecture et fonctionnement

Nessus détecte les machines vivantes sur un réseau, balaie les ports
ouverts, identifie les services actifs, leur version, puis tente diverses
attaques.

Nessus se divise en deux parties : nessusd qui est un daemon (service)


exécutant les requêtes ainsi que la communication avec la cible, et
nessus, une application cliente qui récupère les données et affiche le
résultat.

Ce découpage est classique, le daemon tournant avec des privilèges


élevés (root) alors que l'interface graphique, plus complexe et donc
vulnérable, tourne sous l'identité d'un utilisateur non privilégié. Les tests
sont joués par des plugins ; quelques-uns sont en C compilé, mais la
majorité sont écrits dans le langage de script NASL (Nessus Attack
Scripting Language).

La séquence des opérations est la suivante :

1. détection des machines vivantes sur le réseau par ping_host.nasl


2. « scan » des ports avec un des quatre analyseurs de ports internes,
ou un scanner externe amap ou nmap, ce qui est déconseillé pour
des raisons de performance.
3. récupération d'informations
1. type et version des divers services
2. Connexion (SSH, Telnet ou rsh) pour récupérer la liste des
packages installés
4. attaques simples, peu agressives. Par exemple, directory traversal,
test de relais de messagerie ouverts, etc.

174
5. attaques susceptibles d'être destructrices
6. dénis de service (contre les logiciels visés)
7. dénis de service contre la machine ou les équipements réseaux
intermédiaires.

Les dernières catégories de tests, plus agressives, peuvent avoir des


conséquences désastreuses sur la disponibilité du système (crash de la
machine visée, voire des équipements réseaux) et peuvent être
désactivées dans le mode safe checks.

Le logiciel client standard peut exporter les données sous divers formats
(XML, HTML, LaTeX). Outre les failles, Nessus présente également
diverses informations utiles à un auditeur comme la version des services
ou du système d'exploitation.

3. Types de tests

Nessus étant un scanner de sécurité réseau (par opposition aux outils


locaux comme le grand ancêtre COPS), la présentation des failles a été
longtemps biaisée en faveur des failles exploitables à distance. Toutefois,
Nessus sait détecter les failles exploitables localement :

 soit en identifiant un numéro de version dans une bannière, mais ce


procédé est limité à une classe de failles particulière : les failles de
services réseau exploitables seulement localement 2.
 soit en récupérant la liste des logiciels ou paquets installés sur la
machine testée et en la comparant aux patchs publiés par les
éditeurs. Ces tests locaux ont été introduits à partir de Nessus 2.2
3
.

4. Licence

Nessus est disponible sous licence GPL jusqu'à la version 2. Depuis la


version 3, il est distribué sous licence propriétaire, mais toujours gratuit
pour utilisation personnelle (Home Feed). La version 2 est maintenue. Il
existe aussi un fork de Nessus 2 toujours sous licence GPL qui s'appelle
OpenVAS.

175
4. Téléchargement

5. Installation et configuration

176
6. UTILISATION NESSUS

177
178
179
180
181
182
183
184
185
III.3 TESTS D’INTRUSION AVEC LE SNORT

186
187
188
189
III.4 LA SURVEILLANCE ET ANALYSE DES JOURNAUX LOGS (journaux
d’évènements)

II.4.1 LA SURVEILLANCE DES JOURNAUX LOGS

a) Généralité

La surveillance (gestion de logs ) comprend une approche de la gestion de


grands volumes des messages de log générés par l'ordinateur (aussi connu comme
journaux d'évènements, journalisation, etc.). La gestion des logs concerne en
général1:

 La collecte des logs


 L'agrégation centralisée des logs
 Le stockage à long terme et la durée de rétention des logs
 La rotation des fichiers de logs
 L'analyse des logs (en temps réel et en vrac après une période de stockage)
 Les rapports et l'étude des logs.
Les principaux enjeux de l'implémentation de la gestion des logs concernent la
sécurité2, les opérations systèmes et réseaux et la conformité du système. Les logs
sont générés par presque tous les appareils informatiques, et peut souvent être
dirigé vers différents endroits à la fois locales, dans le système de fichiers ou à dans
un système distant.
L'analyse effective de grands volumes de divers journaux peuvent poser de
nombreux défis, tels que:

 La volume: les journaux/logs peuvent atteindre des centaines de giga-octets de


données par jour pour une grande organisation. La collecte, la centralisation et le
stockage de données à ce volume peut être difficile.
 Normalisation: les journaux sont produites dans de multiples formats. Le
processus de normalisation est conçu pour fournir une sortie commune pour
l'analyse de diverses sources.
 Vitesse: La vitesse à laquelle les journaux sont produites à partir de dispositifs
peuvent rendre la collecte et l'agrégation difficile
 Véracité: Journal des événements peut ne pas être exacte. Cela est
particulièrement problématique à partir de systèmes qui effectuent la détection,
tels que les systèmes de détection d'intrusion.
Les utilisateurs et les utilisateurs potentiels de la gestion du journal peuvent acheter
des d'outils propriétaires complets ou construire leur propre outil de gestion de logs
et outils d'intelligence, ou bien utiliser un assemblage de composants open-sources,
ou bien encore ou d'acquérir des (sous-)systèmes de fournisseurs commerciaux. La
gestion des journalisations est un processus complexe et les organisations font
souvent des erreurs dans leurs approches3.

190
b) Surveillance de journaux Logs avec Syslog-ng

191
192
Utilisation

193
194
III.2 ANALYSEUR DES JOURNAUX D’EVENEMENTS (LOG) AWSTATS

195
196
197
CHAP.IV LES NORMES ET METHODES DE SECURITE
INFORMATIQUE

Introduction
La sécurité du système d'information d'une entreprise est un requis important pour la
poursuite de ses activités. Qu'il s'agisse de la dégradation de son image de marque, du vol de
ses secrets de fabrication ou de la perte de ses données clients ; une catastrophe informatique
a toujours des conséquences fâcheuses pouvant aller jusqu'au dépôt de bilan.
Organiser cette sécurité n'est pas chose facile, c'est pourquoi il existe des méthodes reconnues
pour aider les responsables informatiques à mettre en place une bonne politique de sécurité et
à procéder aux audits permettant d'en vérifier l'efficacité.
Le but de ce document n'est pas d'expliquer comment concevoir une politique de sécurité
mais de présenter les méthodes existantes.

A. Politique de sécurité
Une politique de sécurité peut être vue comme l'ensemble des modèles d'organisation, des
procédures et des bonnes pratiques techniques permettant d'assurer la sécurité du système
d'information.
Mais qu'est-ce que la sécurité d'un SI ? Elle tourne autour des 5 principaux concepts suivants
: l'intégrité des données, la confidentialité de l'information et des échanges, la disponibilité
des services, l'authentification des utilisateurs et la non répudiation des transactions.
Pour garantir la sécurité, une politique de sécurité est généralement organisée autour de 3
axes majeurs : la sécurité physique des installations, la sécurité logique du système
d'information et la sensibilisation des utilisateurs aux contraintes de sécurité.

B. Audit
Un audit de sécurité permet de mettre en évidence les faiblesses de la mise en œuvre d'une
politique de sécurité. Le problème peut venir de la politique elle-même : mal conçue ou
inadaptée aux besoins de l'entreprise, ou bien d'erreurs quand à sa mise en application.
Des audits sont nécessaires : suite à la mise en place initiale d'une politique de sécurité, puis
régulièrement pour s'assurer que les mesures de sécurité sont mises à niveau et que les usages
restent conformes aux procédures.

II. Comparatif des normes


Le tableau suivant liste les principales normes utilisées provenant des organismes de
normalisation internationaux ainsi que celles soutenues par le secteur privé ou associatif :

198
Popul Outils
Méthode Création Auteur Soutenue par Pays Etat
arité disponibles
EBIOS 1995 *** DCSSI gouvernement France logiciel gratuit
abandonné
Melisa ** DGA armement France
e
abandonné
Marion 1980 ** CLUSIF association France
e
Mehari 1995 *** CLUSIF association France logiciel Risicare
Université
de Etats-
Octave 1999 ** universitaire logiciel payant
Carnegie Unis
Mellon
Anglete
Cramm 1986 ** Siemens gouvernement logiciel payant
rre
Anglete
SPRINT 1995 * ISF association logiciel payant
rre
Anglete
BS 7799 *** gouvernement
rre
ISO
*** international
17799
ISO
international
13335
ISO
international
15408
Ageris
SCORE 2004 secteur privé France logiciel payant
Consulting
CALLIO
CALLI
2001 Technologi secteur privé Canada logiciel payant
O
es
C&A
Systems Anglete
COBRA 2001 secteur privé logiciel payant
Security rre
Limited
Belgiqu
ISAMM 2002 Evosec secteur privé
e
Allema
RA2 2000 aexis secteur privé logiciel payant
gne

En ce qui concerne les normes de sécurité des SI, la famille de normes ISO 27000 constitue
un véritable espoir pour les RSSI dans la mesure où elle apporte une aide indéniable dans la
définition, la construction et la déclinaison d'un SMSI efficace à travers une série de normes
dédiées à la sécurité de l'information :

199
§ ISO/CEI 27001 : système de Gestion de la Sécurité de l'Information (ISMS) -Exigences ;

§ ISO/CEI 27002 : code de bonnes pratiques pour la gestion de la sécurité de l'information


(anciennement ISO/CEI 17799) ;

§ ISO/CEI 27003 : système de Gestion de la Sécurité de l'Information (ISMS) - Guide


d'implémentation ;

§ ISO/CEI 27004 : mesure de la gestion de la sécurité de l'information ;

§ ISO/CEI 27005 : gestion du risque en sécurité de l'information ;

§ ISO/CEI 27006 : exigences pour les organismes réalisant l'audit et la certification de


Systèmes de Gestion de la Sécurité de l'Information (ISMS) ;

§ ISO/CEI 27007 : guide pour l'audit de Systèmes de Gestion de la Sécurité de l'Information


(ISMS).

III. Présentation des principales normes


Seront abordées ici les principales méthodes employées en Europe et en Amérique du Nord.

A. EBIOS
EBIOS (Expression des Besoins et Identification des Objectifs de Sécurité) permet
d'identifier les risques d'un SI et de proposer une politique de sécurité adaptée aux besoin de
l'entreprise (ou d'une administration). Elle a été créée par la DCSSI (Direction Centrale de la
Sécurité des Systèmes d'Information), du Ministrère de la Défence (France). Elle est destinée
avant tout aux administrations françaises et aux entreprises.
La méthode EBIOS se compose de 5 guides (Introduction, Démarche, Techniques,
Outillages) et d'un logiciel permettant de simplifier l'application de la méthodologie
explicitée dans ces guides. Le logiciel libre et gratuit (les sources sont disponibles) permet de
simplifier l'application de la méthode et d'automatiser la création des documents de synthèse.
La DCSSI possède un centre de formation où sont organisés des stages à destination des
organismes publics français. Un club d'utilisateurs EBIOS a été créé en 2003 et constitue une
communauté experts permettant le partage des expériences. Une base de connaissances à
laquelle se connecte le logiciel EBIOS permet d'avoir à accès à la description d'un ensemble
de vulnérabilités spécifiques, de contraintes de sécurité, de méthodes d'attaques. Elle peut être
enrichie via le logiciel.
La méthode EBIOS est découpée en 5 étapes :
Les 5 étapes de la méthode EBIOS

1. étude du contexte

200
2. expression des besoins de sécurité
3. étude des menaces
4. identification des objectifs de sécurité
5. détermination des exigences de sécurité

Démarche EBIOS globale


L'étude du contexte permet d'identifier quel système d'information est la cible de l'étude.
Cette étape délimite le périmètre de l'étude : présentation de l'entreprise, architecture du
système d'information, contraintes techniques et réglementaires, enjeux commerciaux. Mais
est aussi étudié le détail des équipements, des logiciels et de l'organisation humaine de
l'entreprise.

L'expression des besoins de sécurité permet d'estimer les risques et de définir les critères de
risque. Les utilisateurs du SI expriment durant cette étape leurs besoins de sécurité en
fonction des impacts qu'ils jugent inacceptables.

L'étude des menaces permet d'identifier les risques en fonction non plus des besoins des
utilisateurs mais en fonction de l'architecture technique du système d'information. Ainsi la
liste des vulnérabilités et des types d'attaques est dressée en fonction des matériels, de
l'architecture réseau et des logiciels employés. Et ce, quelles que soient leur origine
(humaine, matérielle, environnementale) et leur cause (accidentelle, délibérée).

L'identification des objectifs de sécurité confronte les besoins de sécurité exprimés et les
menaces identifiées afin de mettre en évidence les risques contre lesquels le SI doit être
protégé. Ces objectifs vont former un cahier des charges de sécurité qui traduira le choix fait
sur le niveau de résistance aux menaces en fonction des exigences de sécurité.

La détermination des exigences de sécurité permet de déterminer jusqu'où on devra aller


dans les exigences de sécurité. Il est évident qu'une entreprise ne peut faire face à tout type de
risques, certains doivent être acceptés afin que le coût de la protection ne soit pas exhorbitant.

201
C'est notamment la stratégie de gestion du risque tel que cela est défini dans un plan de risque
qui sera déterminé ici : accepter, réduire ou refuser un risque. Cette stratégie est décidée en
fonction du coût des conséquences du risque et de sa probabilité de survenue. La justification
argumentée de ces exigences donne l'assurance d'une juste évaluation.

EBIOS fournit donc la méthode permettant de contruire une politique de sécurité en fonction
d'une analyse des risques qui repose sur le contexte de l'entreprise et des vulnérabilités liées à
son SI.

B. Melisa
Melisa (Méthode d'évaluation de la vulnérabilité résiduelle des systèmes d'information) fut
inventée par Albert Harari au sein de la Direction Générale de l'Armement (DGA/DCN)
en France. Elle a été rachetée par la société CF6 qui en a fait la promotion pendant de
nombreuses années. Depuis le rachat de CF6 par Telindus, Melisa a été abandonnée par
ses propriétaires bien qu'elle fut largement utilisée en France.
Melisa est une méthode assez lourde basée sur un thésaurus de questions. Elle a vocation à
être utilisée par de grandes entreprises.
En raison de son abandon, cette méthode ne sera pas traitée ici.

C. Marion
Marion (Méthodologie d'Analyse de Risques Informatiques Orientée par Niveaux) a été
dévelopée par le CLUSIF dans les années 1980 mais a été abandonnée en 1998 au profit de la
méthode Mehari. C'est une méthode d'audit de la sécurité d'une entreprise, elle ne permet pas
de mettre en oeuvre une politique de sécuritée en tant que tel. A base d'un questionnaire, elle
donne une évaluation chiffrée du risque informatique.
Marion repose sur l'évaluation des aspects organisationnels et techniques de la sécurité de
l'entreprise à auditer.
Elle utilise 27 indicateurs classés en 6 thématiques. Chaque indicateur se voit attribuer une
note entre 0 (insécurité) et 4 (excellent), la valeur 3 indiquant une sécurité correcte.
Thématiques des indicateurs de la méthode Marion

 Sécurité organisationnelle
 Sécurité physique
 Continuité
 Organisation informatique
 Sécurité logique et exploitation
 Sécurité des applications

La méthode se déroule en 4 phases :

Phases de la méthode Marion

202
1. Préparation
2. Audit des vulnérabilités
3. Analyse des risques
4. Plan d'action

La phase de préparation permet de définir les objectifs de sécuriter à atteindre ainsi que le
champs d'action de l'audit et le découpage fonctionnel du SI à adopter pour simplifier la
réalisation de l'étude.

L'audit des vulnérabilités consiste à répondre aux questionnaires. Ces réponses données
vont permettre de recenser les risques du SI et les contraintes de l'entreprise. A l'issu de cet
audit, sont construits une rosace et un diagramme différentiel représentant respectivement la
note attribuée à chacun des indicateurs et les facteurs de risques particulièrement importants.

Exemple de rosace Marion


La rosace présente dans un cercle la valeur de chacun des 27 indicateurs. Elle est un moyen
de visualiser rapidement les points vulnérables du SI qui doivent être mieux protégés.

Exemple d'histogramme différentiel Marion


L'histogramme différentiel est construit avec des barre représentant l'éloignement de chaque
valeur d'indicateur à la valeur de référence 3. Cet éloignement est pondéré avec l'importance
donné au facteur mesuré. Les indicateurs de valeur égale ou supérieur à 3 ne sont pas
représentés. On visualise ainsi les vulnéralités du SI en fonction de leur criticités relatives.

L'analyse des risques permet de classer les risques selon leur criticité (en classes : Risques
Majeurs et Risques Simples). Elle procède au découpage fonctionnel du SI pour une analyse

203
détaillée des menaces, de leur impact respectif et de leur probabilité. La méthode Marion
définit 17 types de menaces :

Types de menaces Marion

 Accidents physiques
 Malveillance physique
 Carence de personnel
 Carence de prestataire
 Panne du SI
 Interruption de fonctionnement du réseau
 Erreur de saisie
 Erreur de transmission
 Erreur d'exploitation
 Erreur de conception / développement
 Détournement de fonds
 Détournement de biens
 Vice caché d'un progiciel
 Copie illicite de logiciels
 Indiscrétion / détournement d'information
 Sabotage immatériel
 Attaque logique du réseau

Le plan d'action propose les solutions à mettre en oeuvre pour élever la valeur des 27
indicateurs à la valeur 3 (niveau de sécurité satisfaisant) de l'audit des vulnérabilités et
atteindre les objectifs fixés en préparation. Le coût de la mise à niveau est évalué et les
tâches à réaliser pour y parvenir sont ordonnancées.
Cette méthode par questionnaire est assez simple à mettre oeuvre et est bien rodée du fait de
son âge. Son pouvoir de comparaison des entreprises auditées est un plus indéniable.
La méthode Mehari qui lui succède va plus loin en proposant la création complète de la
politique de sécurité.

D. Mehari
Mehari (MEthode Harmonisée d'Analyse de RIsques) est dévelopée par le CLUSIF depuis
1995, elle est dérivée des méthodes Melisa et Marion. Existant en langue française et en
anglais, elle est utilisée par de nombreuses entreprises publiques ainsi que par le secteur
privé.
Le logiciel RISICARE développé par la société BUC SA est un outil de gestion des
risques basé sur la méthode Mehari.
La démarche générale de Mehari consiste en l'analyse des enjeux de sécurité : quels sont les
scénarios redoutés ?, et en la classification préalable des entités du SI en fonction de trois
critères de sécurité de base (confidentialité, intégrité, disponibilité). Ces enjeux expriment les

204
dysfonctionnements ayant un impact direct sur l'activité de l'entreprise. Puis, des audits
identifient les vulnérabilités du SI. Et enfin, l'analyse des risques proprement dite est réalisée.

Schéma général de la méthode Mehari


Mehari s'articule autour de 3 types de livrables :

Plans de la méthode Mehari

1. le Plan Stratégique de Sécurité (PSS)


2. les Plans Opérationnels de Sécurité (POS)
3. le Plan Opérationnel d'Entreprise (POE)

Le Plan Stratégique de Sécurité fixe les objectifs de sécurité ainsi que les métriques
permettant de les mesurer. C'est à ce stade que le niveau de gravité des risques encourus par
l'entreprise est évalué. Il définit la politique de sécurité ainsi que la charte d'utilisation du SI
pour ses utilisateurs.

Les Plans Opérationnels de Sécurité définissent pour chaque site les mesures de sécurité
qui doivent être mises en oeuvre. Pour cela, ils élaborent des scénarios de compromission et
audite les services du SI. Sur la base de cet audit, une évaluation de chaque risque
(probabilité, impact) est réalisée permettant par la suite d'exprimer les besoins de sécurité, et
par la même les mesures de protections nécessaires. Enfin, une planification de la mise à
niveau de la sécurité du SI est faite.

Le Plan Opérationnel d'Entreprise assure le suivi de la sécurité par l'élaboration


d'indicateurs sur les risques identifiés et le choix des scénarios de catastrophe contre lesquels
il faut se prémunir.

205
Des bases de connaissances permettent d'automatiser certains calculs de gravité des scénarios
de risques, proposent des liens entre menaces et parades...
Mehari apporte une démarche centrée sur les besoins de continuité d'activité de l'entreprise et
fournit des livrables types aidés d'un guide méthodologie. Les audits qu'elle propose
permettent la création de plan d'actions concrets. Cette méthode permet donc de construire
une politique de sécurité destinée à pallier les vulnérabilités constatées lors des audits du
Plans Opérationnels de Sécurité et d'atteindre le niveau de sécurité correspondant aux
objectifs fixés dans le Plan Stratégique de Sécurité.

E. Octave
Octave (Operationally Critical Threat, Asset, and Vulnerability Evaluation) a été créé par
l'université de Carnegie Mellon (Etats-Unis) en 1999. L'université de Carnegie Mellon est
le centre de coordination des CERT. Octave est destinée aux grandes entreprises, mais depuis
peu une version adaptée aux petites structures existe : Octave-S. Elle a pour but de permettre
à une entreprise de réaliser par elle-même l'analyse des risques de leur SI, sans aide extérieure
(consultants). Pour cela, un catalogue de bonnes pratiques de sécurité est fourni avec la
méthode.
Octave est contitué de 3 phases :
Phases de la méthode Octave

1. vue organisationelle
2. vue technique
3. stratégie de sécurité

Phases de la méthode Octave


La vue organisationnelle permet d'identifier les actifs de l'entreprise, les menaces qui pè sent
sur son fonctionnement, les vulnérabilités de son organisation, les objectifs de sécurité
imposés par la direction et les mesures actuelles de sécurité. Ce sont trois processus de
collecte de l'information qui sont réalisés durant cette phase, chacun par une population
particulière : les cadres supérieurs, les cadres opérationnels et les équipes de production. La
consolidation des informations nées de ces processus amène à créer des profils de menaces.

206
La vue technique identifie les éléments essentiels de chaque actif identifié plus haut et les
audite afin d'en connaître les vulnérabilités.
Le développement de la stratégie de sécurité consiste à évaluer les risques identifiés
(impact, probabilité) plus haut et à proposer les mesures permettant de les réduire. Un plan de
réduction des risques est alors planifié.
La simplicité de la méthode Octave en fait dans le principe une méthode efficace, elle est
assez répandue eux Etats-Unis et au Québec. Elle est centrée sur la protection des actifs de
l'entreprise et le management du personnel. Elle couvre l'ensemble des processus métiers de
l'entreprise à tous les niveaux (organisationnel et technique).
Cette méthode suppose la constitution d'une équipe pluridisciplinaire comprenant des
membres de tous les services de l'entreprise. Elle leur permettra d'améliorer leur connaissance
de leur entreprise et de mutualiser les bonnes pratiques de sécurité.

F. Cramm
Cramm (CCTA Risk Analysis and Management Method) a été inventée par Siemens en
Anglettre et est soutenue par l'état. Cramm est une méthode exhaustive assez lourde, réservée
aux grandes entreprises puisqu'elle recourt à près de 3 000 points de contrôle. Elle possède
deux variantes : Cramm Express et Cramm Expert et est compatible avec la norme BS7799.
Des logiciels sont fournis avec la méthode à des fins de simulation, de reporting et de suivi
des mesures de sécurité.

Démarche générale de la méthode Cramm


La méthode Cramm est composée de 3 phases :

Phases de la méthode Cramm

1. identification de l'existant
2. évaluation des menaces et des vulnérabilités
3. choix des remèdes

L'identification de l'existant permet de dresser l'inventaire des équipements, des


applications, et des données qui constituent l'infrastructure informatique sur laquelle repose le
SI de l'entreprise. Chacun des élements de cet inventaire est évalué en terme de coût et
d'impact en cas de compromission (indisponibilité, altération, destruction...).

207
L'évaluation des menaces et des vulnérabilités met en évidence les problèmes possibles.
Pour cela, la base de connaissances de Cramm fournit une liste importante des risques
possibles dont il faut évaluer le niveau de criticité.
Le choix des remèdes consiste à sélectionner parmis une base de 3 000 contre-mesures
possibles classées en 70 thèmes les remèdes aux risques identifiés plus haut. Le logiciel
fourni avec Cramm détermine les remèdes à adopter en fonction des risques, de leur criticité
identifiés précédement et du niveau de sécurité désiré.

IV. Critères de choix


Comment choisir une méthode parmis le panel existant ? Sur quels critères faire ce choix ? La
liste suivante donne quelques pistes pour faciliter ce choix :
Critères de choix d'une méthode d'analyse des risques

 l'origine géographique de la méthode, la culture du pays jouant beaucoup sur le


fonctionnement interne des entreprises et leur rapport au risque
 la langue de la méthode, il est essentiel de maîtriser le vocabulaire employé
 l'existance d'outils logiciels en facilitant l'utilisation
 l'existance d'un club d'utilisateurs afin d'avoir un retour d'expériences
 la qualité de la documentation
 la facilité d'utilisation et le pragmatisme de la méthode
 la compatibilité avec une norme nationale ou internationale
 le coût de la mise en oeuvre
 la quantité de moyens humains qu'elle implique et la durée de mobilisation
 la taille de l'entreprise à laquelle elle est adaptée
 le support de la méthode par son auteur, une méthode abandonnée n'offre plus la
possibilité de conseil et de support de la part son éditeur
 sa popularité, une méthode très connue offre un réservoir de personnels qualifés pour
la mettre en oeuvre

V. Conclusion
Il existe de nombreuses méthodes d'analyse des risques, certaines simples d'utilisation, avec
parfois des outils logiciels en simplifiant l'utilisation. D'autres méthodes sont réservées à des
grands comptes du fait de leur complexité et des ressources humaines impliquées. Il vous
reste à choisir la méthode qui s'applique le mieux à votre entreprise ou organisme public.

208
VI. SUPERVISION RESEAU ET SECURITE

209
1.1 PRINCIPES DE SUPERVISION RESEAU

1.1.1. Généralités

La supervision réseau a pour but d’observer et d’analyser les comportements et


l’évolution des éléments réseau. Il peut s’agir de machines physiques, d’éléments
d’extrémité, câblage lui-même, ou encore des composants logiques et logiciels, tels que les
logiciels de base de données, ou n’importe quel autre logiciel d’importance crucial dont le
fonctionnement doit être vérifier en permanence.
La surveillance du réseau dépend de trois principes qui doivent être respectés pour la mise en
place d’une architecture cohérente de la supervision réseau :
1. L’accès aux informations de la supervision réseau : comment définir avec précision les
informations nécessaires et ne pas s’encombrer des dizaines d’informations inutiles qui
rendent celles pertinentes inexploitables ; et comment récupérer les informations utiles
pour les centraliser et les rendre explicites ;
2. Définir les mécanismes de la supervision réseau : une fois les sources d’informations
définies, il faut s’interroger sur les besoins en informations ; sur la fréquence à laquelle
les informations doivent être collectées ; et sur les technologies en mettre en place pour
assurer une surveillance du réseau ;
3. L’application des informations recueillies : en effet, la partie surement la plus importante
de la supervision réseau est de correctement réagir aux informations collectées ; le but

210
d’une bonne stratégie de surveillance réseau est de prévenir les défaillances. Ainsi, si un
administrateur ne prend pas en compte les alertes successives sur un appareil particulier,
la panne aura lieu comme si la supervision réseau n’existait pas.

La supervision est d’un point de vue théorique assez simple à expliquer.il s’agit en fait
de répéter de manière régulière un processus de test ou de surveillance d’un équipement ou
d’une application. Le but étant d’obtenir très rapidement et simplement une vision précise des
événements ou anomalies sur la période analysée. 1

1.1.2. Rôles de la supervision

L’objectif de la supervision informatique est de surveiller le système et de garantir sa


disponibilité même en cas d’anomalie pour cela, deux étapes sont essentiellement
nécessaires pour les administrateurs :

- Tenter de prévenir en cas de problème (défaillances matérielles ou interruption des


services) et garantir une remontée d’information rapide ;
- Automatiser les taches de récupération des applications et des services en assurant des
mécanismes de redondance en une durée d’innervation minimale (par exemple le
redémarrage des services interrompus, l’arrêt de la machine en cas de surcharge du
CPU, la sauvegarde des données en cas du risque de perte d’un disque dur, etc…

Dans la gestion du parc informatique, la supervision est un élément incontournable et a pour


rôles :

- Réduire la dégradation de la disponibilité : Il s’agit de détecter les anomalies le plus tôt


possible, idéalement avant qu’elles n’aient des incidents sur les utilisateurs, réduire leur
temps de traitement, simplifier et automatiser les taches d’administration et mesurer
l’intégrité et l’état de processus sur un équipement par exemple.
- Maximiser l’utilisation des infrastructures : il s’agit ici d’analyser et de recueillir les
données de capacité des performances de systèmes et services, d’optimiser
l’architecture et l’infrastructure du système d’information et donner la priorité des
ressources aux processus métiers et applications critique.

1.1.3. Fonctionnalités et niveaux d’information


1
fr.wikipedia.org/wiki/supervion

211
Généralement la supervision regroupe les fonctionnalités illustrées dans la figure
suivante :

Figure1 : Fonctionnalités de la supervision

Supervision réseau : elle porte sur la surveillance de manière continue de la


disponibilité des services en ligne, du fonctionnement du réseau, des débits et bande passante,
de la sécurité, etc.

Supervision système : c'est la vérification de la santé d'un serveur coté ressources


matérielles (la mémoire, le CPU, le disque dur, etc.).

Exécution de commandes : qui sont des actions ou programmes lancés


automatiquement.

Envoi d'alertes : c'est une émission de message d'alerte sous forme sonore, visuelle
ou encore par e-mail.

Cartographie : présente la vue d'ensemble de l'architecture informatique surveillé.

212
Rapports d'activité (reporting) : comme les tableaux de bord et les histogrammes.

Il est à noter qu'à partir de ces fonctionnalités qui sont réalisées par des modules
spécifiques constituant le système de monitoring. 2

1.2. Le monitoring et la supervision


1.2.1 Présentation

La supervision réseau est une fonction qui consiste à indiquer et à commander


l’état d’un appel, d’un système ou d’un réseau. La supervision d’un réseau consiste à des
activités qui permettent de surveiller, visualiser, analyser, piloter et agir. La supervision d’un
réseau permet de superviser l’ensemble du système d’information de l’entreprise ; le réseau et
ses équipements, les serveurs, et les applications.
Le monitoring d’un réseau est une opération qui consiste à la supervision d’un
réseau en temps réel. Il existe plusieurs types d’activités de monitoring : le monitoring de
disponibilité, le monitoring des temps de réponses, le monitoring des activités technique.
Le monitoring de disponibilité appelé aussi le monitoring de type est la plus
ancienne forme de monitoring. Il consiste à assurer la disponibilité réelle des composants
hardware et software. Ce type de monitoring est appelé aussi monitoring de type 1 et il est
largement basé sur l’utilisation du protocole SNMP.
Le monitoring des temps de réponses appelé aussi le monitoring de type 2 consiste
à mesurer le temps de réponses de points en points aux requêtes des utilisateurs sur les
applications. Cette mesure peut s’effectuer, soit en sortie de lieu MAN, sont depuis
l’extérieur par l’intermédiaire de prestataires spécialisés. Ce type de monitoring est très
utilisé pour le contrôle de niveau de service.
Le monitoring des activités techniques appelé aussi monitoring de type 3, est basé
sur l’installation de sondes (capteurs) spécifiques dans tous les composant d’une application ;
serveur HTTP, serveur d’application, middleware orientées messages, base de données. Il
offre une vision détaillée des performances (et donc des variations de performances) de
chacun des éléments de l’application.
Il existe plusieurs types de logiciels de supervision de réseaux. Certains réalisent un
seul type de monitoring et d’autre on réaliser plusieurs comme le PRTG version 7. 3

2
fr.wikipedia.org/wiki/Fonctionnalités et niveaux d’information
3
www.cnrtl.fr/definition/monitoring

213
1.2.2 Le monitoring de la performance du réseau

1.2.2.1 Les indicateurs de performance


On peut distinguer deux types d’indicateur de performance :
Les indicateurs basés sur la mesure des services du réseau, servant par exemple à assurer que
les réseaux maintiennent un niveau de performance suffisant pour assurer le bon travail des
utilisateurs : par exemple la disponibilité des services ou leur temps de réponse.
Les indicateurs basés sur la tolérance du réseau avant une baisse trop importante du niveau de
service.
1) Disponibilité des services
La disponibilité d’un service ou d’un composant du réseau est représentée par le
pourcentage de temps durant lequel cette ressource est disponible pour les utilisateurs. La
disponibilité est basée sur le bon fonctionnement global de l’application ou du service.
La fiabilité représente la disponibilité effective d’un composant ou d’un service pour les
utilisateurs du réseau.
La défaillance d’un composant est définie par le MTBF (Mean Time Before Failure) est
la durée de bon fonctionnement entre deux défaillances et le MTTR (Mean Time To Repair)
est la durée de réparation moyenne d’une défaillance.
La disponibilité D est définie par la relation suivante :
D = MTBF/ (MTBF+MTTR). La disponibilité devient de plus en plus complexe à déterminer
si on ajoute à son calcul, en plus de la simple fonctionnalité du composant, la configuration
du réseau et sa charge acceptable.
2) Le temps de réponse
Le temps de réponse est la durée nécessaire à un système pour répondre à une
demande, par exemple le temps entre la frappe d’une touche sur le clavier et l’affichage de
cette touche à l’écran.
Maintenir un temps de réponse très court impose un cout des équipements croissant avec la
taille du réseau et le nombre d’utilisateurs. En effet, il faut des technologies de connectivité
efficace, par exemple des commutateurs à la place des concentrateurs. De plus, les capacités
des serveurs d’application doivent être suffisantes pour soutenir les nombreuses connexions
simultanées que peuvent imposer un flux réseau important.
3) Exactitude

214
L’exactitude du réseau représente le temps durant lequel aucune erreur ne survient,
pendant la livraison des données d’un élément du réseau à un autre. Bien sûr, idéalement ce
temps doit tendre vers l’infini.
En raison de la façon dont sont conçus actuellement les protocoles de communication, cette
partie de la performance réseau n’est pas souvent visible par l’utilisateur. En effet, les
protocoles modernes sont construits autour de fonctions de correction d’erreur et de
récupération de celles-ci.
Cependant il y a parfois des sources de ¨bruit¨ qui nuisent à la bonne circulation des
informations sur le backbone ou le câblage qui peuvent être localisées et corrigées par
l’administrateur.
4) La charge
On peut définir la charge comme le nombre d’évènements réseau qui ont lieu sur une
période de temps donné. On compte par exemple dans la charge les éléments suivants :
- Le nombre de transaction d’un type précis sur une période donnée ;
- Le nombre de broadcast réseau généré par certains éléments du réseau ;ou - D’autres types
de transactions réseau.
Il est important de garder une vue précise et permanente sur la charge afin de voir quels sont
les éléments de défaillance en cas d’augmentation du trafic et de pouvoir mettre à niveau
rapidement le réseau à moindre cout.

5) La capacité
La capacité est le pourcentage d’utilisation d’une ressource par rapport à son potentiel
théorique, par exemple une carte full duplex 100mbs doit délivrer un taux de transfert
théorique de 100 mégabits par seconde.
C’est une mesure beaucoup plus fine que la charge bien qu’elle soit basée sur un débit
théorique car il est plus facile de comparer une mesure réelle à un maximum théorique , que
d’essayer de calculer une réelle valeur de la charge maximale du réseau. En fonction de
certaines informations, il est possible de diviser la charge réseau pour la rendre équivalente
sur chaque lien du réseau. Ce qui permet également d’augmenter la performance d’un réseau
sans en changer l’infrastructure ou la technologie mais en opérant juste un bon équilibrage
des charge.

1.2.2.2 La surveillance des indicateurs de performance (monitoring de surveillance)

215
Afin d’avoir une bonne vision de la performance du réseau et après avoir pris
connaissance des indicateurs à surveiller et de ce qu’ils représentent, il faut mettre en place
les méthodes de surveillance de ceux-ci. La mesure de la performance s’effectue en générant
des statistiques sur le trafic réseau, de façon instantanée ou sur une période donnée. Dans un
LAN, la plupart des informations importantes peuvent être collectées par un agent distant qui
observe simplement le trafic du réseau. Cette simple méthode permet d’identifier les nœuds
d’importance du réseau et de les surveiller pour éviter toute défaillance.
L’analyse de la performance réseau est donc l’étape essentielle qui suit la récupération des
informations. Pour cela les divers logiciels de monitoring proposent une mise en forme de
l’information pour la rendre plus claire, ce qui permet aux administrateurs de répondre aux
questions les plus importantes telles que, quelles sont les erreurs possibles ou les défaillances
actuelles du réseau, les impacts de l’augmentation du trafic, le nombre de paquets perdus, etc.
il est donc ainsi possible de générer une vue du réseau qui permet une réelle surveillance de
celui-ci.
On peut opposer cependant les deux façons de recueillir les informations sur le réseau, de
façon exhaustive ou de façon statistique.il n’est évidemment pas simple de recueillir les
informations de façon exhaustive surtout durant des périodes de grande activité réseau ou le
trafic engendré par les tests peuvent augmenter la charge inutilement voire même être la
source de défaillance. L’alternative est de prendre des mesures à des moments aléatoires et
d’établir une statistique qui donnera un état du réseau, les décisions réseau sont ensuite prises
par rapport à la donnée statistique, ce qui permet de minimiser l’impact de certains tests qui
peuvent échouer en raison d’un trafic réseau ponctuellement trop important.
Néanmoins, la méthode statistique comporte elle aussi des désavantages. Tout d’abord, les
données une fois traitées par cette voie, sont moins pertinentes et peuvent plus facilement être
trompeuses : un chiffre moyen sur la charge ne permet pas de savoir si la charge est bonne le
plus clair du temps et si seul quelques pics ont eu lieu, ou si le trafic est toujours moyen.
Enfin, certains points d’un réseau ne peuvent pas se permettre de subir des défaillances,
mêmes minimes.

1.2.2.3 Surveillance des défaillances (monitoring des défaillances)

a) Définition et objectifs
L’objectif du monitoring des défaillances est d’identifier les possibles défaillances du
réseau le plus rapidement possible après leur occurrence et de pouvoir définir la source de ces
défaillances facilement. Et ainsi, de rendre la reprise sur incident la plus efficace possible.

216
Cependant, ce type de surveillance n’est pas toujours facile à mettre en place car certaines
défaillances ne sont pas faciles à mettre en évidence. Par exemple, un disque dur dont un
secteur devient corrompu ou défectueux n’est pas toujours repérable, ou seulement
localement à la machine par un test qui doit être conduit manuellement et donc hors de porter
du monitoring réseau. Pire encore, certaines ressources ne peuvent tout simplement pas être
testées car les constructeurs n’ont pas mis en place de moyens de diagnostique disponibles
pour l’utilisateur. De plus, de nombreuses défaillances peuvent être observées mais l’origine
de la défaillance ne peut pas toujours être mise en lumière aisément. Par exemple, un routeur
qui ne délivre plus de paquet correctement peut représenter un véritable casse-tête pour ce qui
est de localiser la panne, elle peut être matérielle comme logicielle ou ce peut être les
infrastructures d’interconnexion qui sont défaillantes.
Enfin, certaines alertes peuvent tout simplement être factices. En effet, un logiciel du
monitoring indiquer que toute une partie du réseau ne répond plus, cela pouvant provenir
d’un concentrateur défectueux, mais il peut s’agir simplement d’un trafic trop important qui a
empêché les tests d’aboutir.
b) Méthode de gestion des défaillances
Afin d’agir de la meilleure façon contre les défaillances du réseau il est nécessaire
de maintenir des fichiers de rapport qui contiennent tous les éléments et les erreurs qui se sont
produites sur le réseau.
Il peut être nécessaire de mettre en place une surveillance des agents ou du logiciel de
monitoring lui-même, afin de ne pas avoir de faux rapport en cas de défaillance de ceux-ci.
Toute la finesse de ce type surveillance est de mettre en place un système de tests et
de rapports qui permettent d’anticiper la défaillance d’un composant du réseau. Il faut donc
mettre en place des quotas ou des limites sur tous les éléments quantifiables tels que la
charge, la bande passante, ou encore le temps de réponse.
Il est aussi nécessaire de croiser les types de tests sur une même ressource pour
pouvoir plus facilement découvrir la raison d’une défaillance, ou pour pouvoir noter
dégradation progressive d’un service. L’analyse précise des rapports est bien sur un élément
essentiel : les fichiers de rapport générés par les résultats doivent être très attentivement
étudiés afin de détecter les défaillances possibles à venir.

1.2.2.4 Monitoring de surveillance des utilisateurs

1.2.2.4.1 Définition et objectifs

217
La surveillance des utilisateurs vise à garder une trace de l’utilisation des ressources
réseau par les utilisateurs. Il ne s’agit pas d’espionner le travail ou la vie privée des
utilisateurs d’un réseau d’entreprise, mais de veiller à la façon dont les utilisateurs se servent
de l’outil qui est mis à leur disposition. De plus, cela permet bien souvent découvre les
problèmes de charge du réseau en localisant les ressources fréquemment utilisées pour
permettre de diviser les charge soit en séparant certaine ressources qui, regroupées, crée un
goulot d’étranglement sur le réseau, ou pour augmenter la bande passante de certains
éléments qui ne donnent pas satisfaction aux utilisateurs, comme des serveurs mail, par
exemple.
1.2.2.4.2 Méthode de surveillance des utilisateurs
Dans la pluparts des réseaux d’entreprise, la premier stratégie de surveillance des
utilisateurs est mis en place par le contrôle de ressources réseau, par la gestion des droits
d’accès à ces dites ressources. Les politiques de sécurité réseau n’étant pas liées directement
au monitoring réseau, nous ne bâteront pas de ce sujet. Cependant, une stratégie de
monitoring réseau doit être établie en fonction des politiques des droits réseau et système
existants. D’une façon générale, la surveillance des utilisateurs revint surtout à vérifier le
comportement des utilisateurs sur le réseau. En effet, il est important de mettre en place des
systèmes de surveillance des volumes des stockages utilisés par les utilisateurs pour parer à
une crise de l’espace qui peut s’avérer très dommageable pour une entreprise.
De même, les utilisateurs sont souvent la proie de nombreuses attaques visant à
ouvrir des moyens d’accès aux ressources réseau à l’entreprise. En cela le monitoring des
utilisateurs se rapproche beaucoup de la sécurité réseau: en surveillant le nombre de sessions
qu’un utilisateur peut avoir ouvert en simultané, on peut découvrir des tentatives d’intrusion.
Enfin les utilisateurs sont souvent à l’origine de défaillances réseau dues à un manque de
connaissance des outils, donc être utile de vérifier la façon dont un utilisateur se comporte sur
le réseau, taille des mails, travail en réseau, alors que le local serait moins consommateur de
ressources etc. sur cet aspect, la surveillance des utilisateurs se rapproche de la surveillance
des défaillances.

1.3. Les différentes approches de la supervision


Jusqu’ici, nous avons ce qu’était la supervision. Définissons maintenant ce que nous pouvons
en faire avec les approches ou types d’informations pouvant être fournies par la supervision.
Il s’agit :

218
 la fiabilité : il s’agit de loin de l’utilisation la plus courante de la supervision
informatique. Le but ici est de surveiller en permanence la disponibilité de
l’équipement afin de détecter la moindre anomalie et si nécessaire de remonter
une alerte ;
 La performance : la supervision de performance a pour but de retourner des
informations sur la disponibilité d’un équipement comme par exemple le temps de
résolution DNS, le temps de connexion, le temps de récupération du premier octet
et dans le cas d’une page Web le temps de récupération de page et de l’ensemble
des éléments de celle-ci(image scripts…). Grace à cette analyse, nous allons pouvoir
diagnostiquer une montée en charge difficile ou même un surdimensionnement de
votre bande passante ;
 Le contenu : dans ce cas, les informations retournées par les éléments surveillés
sont analysés, pour par exemple, détecter la suppression d’un fichier sur un
serveur ftp, la modification d’une page Web ou la disparition d’un mot clef. Toutes
ces approches sont complémentaires et peuvent bien entendu se retrouver
regroupées dans une seule analyse. L’analyse fiabilité étant implicitement présente
dans le cas d’une analyse performance et contenu.

1.4. LA NORME ISO 7498/4


L’ISO (International standards Organization) ou l’Organisme international de
Normalisation, s’intéresse de près à la supervision. Et, dès 1989, l’organisme publie la norme
ISO7498-4 définissant les principales fonctions qui doivent implémenter les systèmes de
supervision et d’administration. Il s’agit de :

a. La gestion de performance
b. La gestion des configurations
c. La gestion de la comptabilité
d. La gestion des anomalies
e. La gestion de la sécurité.
a) Gestion Des Performances

Elle doit pouvoir évaluer les performances des ressources du système et leur efficacité. Elle
comprend les procédures de collecte de données et statistique. Elle doit aboutir à
l’établissement de tableaux de bord. Les informations recueillies doivent aussi permettre de
planifier les évolutions du réseau. Les performances du réseau sont évaluées à partir de quatre
paramètres :

219
1. Le temps de réponse
2. Le débit
3. Le taux d’erreur
4. La disponibilité
b) Gestion Des Configurations

La gestion de configuration permet d’identifier, de paramétrer et de contrôler les


différents objets du réseau. Les procédures requises pour gérer une configuration sont :

1. La collecte d’information
2. Le contrôle d’état
3. La sauvegarde historique de la configuration de l’état du système.
c) Gestion De La Comptabilité

Son rôle est de connaître les charges des objets gérés ainsi que leurs coûts de
communication. Des quotas d’utilisation peuvent être fixés temporairement ou non sur
chacune des ressources réseaux. De plus, la gestion de la comptabilité autorise la mise
en place de systèmes de facturation en fonction de l’utilisation pour chaque utilisateur.

d) Gestion Des Anomalies

La gestion des anomalies de détecte les problèmes réseaux (logiciels ou matériels).


Elle essai d’isoler le plus précisément le problème en effectuent divers testes. Quand cela est
possible, elle règle elle-même de manière automatique l’anomalie. Sinon, elle alerte les
personnes concernées par le type du problème afin de solliciter leur intervention. La gestion
des anomalies garde dans une base de données l’ensemble des problèmes survenus ainsi que
leur solution, de manière à être encore plus efficace face à un incident reçurent. Cette
fonction de la norme ISO 7498-4 demeure de loin la fonction la plus implémentée à ce jour.
La gestion des fautes permet la détection, la localisation et la correction d’anomalies
passagères ou persistantes. Elle doit également permettre le rétablissement du service à
une situation normale

e) Gestion De La Sécurité

La gestion de la sécurité contrôle l’accès aux ressources en fonction des politiques de


droits d’utilisation établies. Elle veille à ce que les utilisateurs non autorisés ne puissent

220
accéder à certaines ressources protégées. Elle a également pour rôle de mettre en application
les politiques de sécurité.4

1.5 LE PROTOCOLE DE SUPERVISION DE RESEAU SNMP

1.5.1 Définition

La grande majorité des solutions de supervision de base sur l'utilisation du protocole SNMP
pour fonctionner. SNMP signifie « Simple Network Management Protocol », en français
« Protocole simple de gestion de réseau ».
C'est un protocole de communication qui permet aux administrateurs réseau de gérer les
équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels
à distance. Pour cela, deux principes sont utilisés afin de récolter des informations :

 Requête du serveur vers l'équipement


 Alertes envoyés spontanément de l'équipement vers le serveur (traps)

1.5.2 Architecture

Les différents éléments que l’on peut identifier avec le protocole SNMP sont
synthétises par le schéma ci-dessous.

 Les agents SNMP : ce sont les équipements (réseau ou serveur) qu’il faut superviser.
 Le superviseur SNMP : c’est une machine centrale à partir de laquelle un opérateur
humain peut superviser en temps réel toute son infrastructure et diagnostiquer les
problèmes
 Le MIB : ce sont les informations dynamiques instanciées par les différents agents SNMP
et remontées en temps réel au superviseur.

4
https://astuces-top.blogspot.com/2016/08/livre-nagios-supervision.html

221
1.5.3 Le manager

Rappelons que le Manager se trouvera sur une machine d’administration (un poste de
travail en général). Il reste un client avant tout, étant donné que c'est lui qui envoie les
différentes requêtes aux agents. Il devra disposer d'une fonction serveur, car il doit également
rester à l'écoute des alertes que les différents équipements sont susceptibles d'émettre à tout
moment Si l'on se base sur le schéma précédent, l'administrateur peut observer
correctement le comportement de ses différents équipements en réseau. Le Manager dispose
d'un serveur qui reste à l'écoute sur le port UDP 162 ainsi que d’éventuels signaux d'alarme
appelés des "traps". Le Manager peut tout autant être installé sur une machine.

1.5.4 L’agent SNMP :

L'agent est un programme qui fait partie de l'élément actif du réseau. L'activation de
cet agent permet de recueillir la base de données d'informations et la rend disponible aux
interrogations. Les principales fonctions d'un agent SNMP :

 Collecter des informations de gestion sur son environnement local.


 Récupérer des informations de gestion telle que déni dans la MIB propriétaire.
 Signaler un évènement au gestionnaire.

Par ailleurs même si la principale fonction de l'agent est de rester à l'écoute des éventuelles
requêtes du Manager et y répondre s’il y est autorisé, il doit également être capable d'agir de
sa propre initiative, s'il a été configuré. Par exemple, il pourra émettre une alerte si le débit
d'une interface réseau, atteint une valeur considérée par l'administrateur comme étant critique.
Plusieurs niveaux d'alertes peuvent ainsi être définis, selon la complexité de l'agent
(température du processeur, occupation disque dur, utilisation CPU...)5

1.5.5 MIB :

Chaque agent SNMP maintient une base de données décrivant les paramètres de
l'appareil géré. Le Manager SNMP utilise cette base de données pour demander à l'agent des
renseignements spécifiques. Cette base de données commune partagée entre l'agent et le
Manager est appelée Management Information Base (MIB). Généralement ces MIB
contiennent l'ensemble des valeurs statistiques et de contrôle définis pour les éléments actif

5
https://astuces-top.blogspot.com/2016/08/livre-nagios-supervision.html

222
du réseau. SNMP permet également l'extension de ces valeurs standards avec des valeurs
spécifiques à chaque agent, grâce à l'utilisation de MIB privées.Un fichier MIB est écrit en
utilisant une syntaxe particulière, cette syntaxe s'appelle SMI 3, basée sur ASN.1 tout comme
SNMP lui-même.

En résumé, les fichiers MIB sont l'ensemble des requêtes que le Manager peut
effectuer vers l'agent. L'agent collecte ces données localement et les stocke, tel que défini
dans la MIB. Ainsi le Manager doit être conscient de la structure (que celle -ci soit de type
standard ou privée) de la MIB afin d'interroger l'agent au bon endroit. La structure d’une
MIB est une arborescence hiérarchique dont chaque nœud est défini par un nombre ou un
Object Identifier (OID). Chaque identifiant est unique et représente les caractéristiques
spécifiques du périphérique géré. Lorsqu'un OID est interrogé, la valeur de retour n'est pas
un type unique (texte, entier, compteur, tableau...) Un OID est donc une séquence de
chiffres séparés par des points. Une MIB est un arbre très dense, il peut y avoir des milliers
d'OID dans la MIB6

1.5.6 Les requêtes SNMP

Une requête SNMP est un datagramme UDP habituellement à destination des ports 161
et 162 lorsqu'il s'agit de traps. Les systèmes de gestion de réseau sont basés sur trois éléments
principaux : un superviseur, des équipements et des agents. Le superviseur est la console qui
permet à l'administrateur réseau d'exécuter des requêtes de management. Il a le rôle du
serveur de management et est la cible pour la gestion des traps. Les agents sont des entités qui
se trouvent au niveau de chaque interface, connectant au réseau l'équipement et permettant de
récupérer des informations sur différents objets issus de la MIB.

1.6. BANDE PASSANTE

Pour les réseaux informatiques, le terme de bande passante est synonyme de taux de transfert
de données, c'est-à-dire le volume de données pouvant être transporté d'un point à un autre
dans un laps de temps donné (généralement une seconde).

Dans cette acceptation, la bande passante d'un réseau est généralement exprimée en bits par
seconde (bit/s). Sur les réseaux modernes, le débit est mesuré en millions de bits par seconde

6
https://fr.wikipedia.org/wiki/MIB

223
(mégabits par seconde, ou Mbit/s) ou en milliards de bits par seconde (gigabits par seconde,
ou Gbit/s).

La bande passante n'est pas le seul facteur qui affecte les performances du réseau : la perte de
paquets, la latence et la gigue sont d'autres facteurs qui dégradent le débit d'un réseau et
ramènent le fonctionnement d'une liaison au niveau de celle d'une bande passante inférieure.

Un chemin de réseau comprend généralement une succession de liaisons, chacune ayant sa


propre bande passante. La bande passante de bout en bout est donc limitée à celle de la
liaison la plus lente (le goulet d'étranglement).

Les applications n'utilisent pas toutes la même bande passante. Ainsi, une conversation par
messagerie instantanée peut utiliser moins de 1 000 bits par seconde (bit/s) ; une conversation
en voix sur IP (VoIP) nécessite 56 kilobits par seconde (Kbit/s) pour être de bonne qualité. La
vidéo à définition standard (480p) fonctionne à 1 mégabit par seconde (Mbit/s), la vidéo HD
(720p) exige environ 4 Mbit/s et la vidéo HDX (1080p), plus de 7 Mbit/s.

La bande passante effective, soit le plus haut débit fiable d'un chemin de réseau, est mesurée
au moyen d'un test. Ce débit peut être déterminé par la mesure répétée du temps nécessaire au
téléchargement d'un fichier de son point d'origine à sa destination. 7

INSTALLATION ET CONFIGURATION DE L’OUTIL WHATSUP GOLD

4.1. Installation de whatsup gold

L’installation de whatsup gold ainsi que sa configuration est relativement simple


comparée à des autres outils de supervision. Il faut avoir des connaissances concernant
l’utilisation du terminal (installation manuelle des paquets, modification des droits,
créations des utilisateurs…).

Il nous faudra installer "Net-SNMP" afin de pouvoir lancer des requêtes snmp pour
superviser des routeurs ou switchs par exemple.

7
Lemagit.fr/définition/bande-passante

224
Après nous avons téléchargé les paquets d’installation des versions stables
disponibles à partir du site de officiel de whatsup gold qui sont : le paquet de l‘outil
whatsup gold (Version 3.1.0) et le paquet contenant les plugins (Version 2.0.2).

Pour téléchargé whatsup gold il nous est demande de remplir un formulaire tel que
si dessous ;

Nous avons une configuration de base sur les routeurs: adresses IP, communauté SNMP,
combinaison nom d'utilisateur / mot de passe, etc. La configuration sur R1

Puisqu'il doit y avoir une connectivité entre l'outil de surveillance du réseau et les
périphériques à surveiller, assurons-nous que nous pouvons envoyer un ping aux deux routeurs à
partir de Windows Server:

225
Avec la configuration de nos appareils, nous allons maintenant procéder à l'installation et à la
configuration de WhatsUp Gold. La version WhatsUp Gold 2017.

L'installation de WhatsUp Gold est assez simple, du moins si vous choisissez l'installation
standard par rapport à l'installation avancée.

Le fichier d'installation va d'abord effectuer quelques vérifications du système pour


s'assurer que votre système répond aux exigences. Dans mon cas, Microsoft IIS n'a pas été
activé et la configuration a informé qu'il sera activé pour moi.

226
Ensuite, on reçoit les détails de notre licence. Dans notre cas, puisque j'utilise une licence
d'évaluation, il me dit que j'ai 30 jours de plus. Je n'ai pas eu à spécifier cela parce que la clé de
licence d'évaluation était liée au fichier d'installation.

On devra ensuite spécifier une adresse IP que le scrutateur local utilisera pour communiquer
avec les scrutateurs distants (le cas échéant). Vous pouvez utiliser des interrogateurs distants pour
distribuer la charge sur le serveur principal WhatsUp Gold à d'autres systèmes.

227
On sera alors présenté avec un résumé de ce qui sera installé et après environ 10 minutes,
l'installation devrait être terminée et il nous sera demandé si l’on veut redémarrer notre système.

Après le redémarrage, on recherche WhatsUp Gold comme on le fera pour n'importe quelle
autre application. On Clique sur "WhatsUp Gold" qui ouvre la console Web WhatsUp Gold dans
notre navigateur Web par défaut.

Une fois que nous dépassons l'écran de démarrage de la licence, une boîte de dialogue de
visite s'affiche. On peut passer par la visite pour obtenir un cours de base sur l'utilisation de WhatsUp
Gold. Cependant, puisque nous allons passer en revue la configuration dans cet article, je vais passer
la visite.

4.1.2. Découverte du réseau

Le premier écran / onglet majeur de l'interface de WhatsUp Gold est l'onglet


"DISCOVER" qui est logique depuis que nous nous connectons pour la première fois.

Une chose que nous remarquons lorsque vous ouvrez WhatsUp Gold pour la première fois est
qu'il n'y a pas de périphériques surveillés. Pour ce faire, des outils installent généralement un agent de
surveillance sur leur serveur local. Cependant, il semble que WhatsUp Gold soit sans agent même sur
le serveur local sur lequel il est installé.

Il existe différentes options pour découvrir un réseau: analyser un sous-réseau, analyser une
plage d'adresses IP, en utilisant un périphérique de départ.

228
En spécifiant un périphérique de démarrage, l'outil peut analyser ce périphérique, puis passer
de ce périphérique à d'autres réseaux connectés. On peut spécifier jusqu'où on veut que l'outil saute.
Pour ce laboratoire, je vais juste spécifier R1 (172.16.123.1) comme le périphérique de départ et je
m'attends à trouver R2.

Sur l'écran suivant, on doit spécifier les informations d'identification avec lesquelles scanner /
découvrir les périphériques. Les outils de surveillance de réseau s’appuient sur le protocole SNMP
pour la découverte de périphériques.

Un autre avantage avec WhatsUp Gold, c'est comment ils ont toutes les informations
d'identification dans un endroit plutôt que d'avoir une page pour SNMP, une autre page pour
WMI et ainsi de suite.

229
Une fois que nous décidons les appareils à surveiller, on clique simplement sur le bouton
Démarrer. Avec cela, les appareils devraient maintenant être surveillés

Il y a plusieurs onglets sur la page État du périphérique, notamment l'onglet Général, l'onglet
Disque / CPU / Mémoire, Routeur / Commutateur / Interface et Surveillance.

230
4.1.3. Gestion de la configuration

Une autre fonctionnalité intéressante disponible uniquement dans l'édition Total Plus de
WhatsUp Gold est la gestion de la configuration. Avec la gestion de la configuration, on peut archiver
les fichiers de configuration, alerter sur les modifications apportées à la configuration, et également
respecter certaines normes réglementaires (qui nécessitent une configuration à auditer fréquemment).

Pour simplifier, on va créer une tâche simple pour sauvegarder la configuration de démarrage
sur l'un de nos routeurs pour un essai. Accédez à Paramètres → Gestion de la configuration →
Bibliothèque de tâches on ajouter une nouvelle tâche. Nous allons planifier cette tâche pour
fonctionner tous les jours à 23h00.

Après avoir créé la tâche, je l'exécuterai immédiatement afin que nous ayons un fichier de
configuration sauvegardé.

Si je vais dans les propriétés du périphérique de R1 et que je regarde l'onglet Tâche, j'y verrai
ma tâche planifiée et aussi le résultat de l'exécution de la tâche une fois.

231
4.1.4. Configurer les alertes

Il est en fait assez facile de configurer des actions d'alerte pour un périphérique;
Cependant, il était difficile au début de déterminer où trouver des alertes pour tous les appareils
surveillés. Par exemple, il n'y a pas un seul tableau de bord "d’alerte" qui me montre tous les
problèmes sur le réseau en une fois, comme les périphériques qui sont en panne ou les périphériques
avec un processeur élevé. Il existe plutôt plusieurs tableaux de bord sous l'onglet ANALYSE qui
affichent des informations spécifiques.

Une chose que l’on devrait pouvoir faire avec n'importe quel outil de surveillance est d'être
avertie quand quelque chose ne va pas. L'outil devrait fournir plusieurs moyens d'alerte comme l'envoi
d'un e-mail, SMS, ou même simplement apparaître sur le tableau de bord (par défaut).

C’est ici que nous allons mettre en place des alertes de sorte que lorsque R2 tombe pendant
plus de deux minutes, un email sera envoyé et une alarme web sera affichée sur le tableau de bord.
Pour commencer, cliquez sur les propriétés du périphérique pour R2.

Allez dans l'onglet Actions cliquez sur le bouton Actions et stratégies. La boîte de dialogue
Actions et stratégies comporte deux parties: la bibliothèque d'actions et les stratégies d'action. Nous
pouvons spécifier les actions à entreprendre (par exemple envoyer un e-mail, une alarme sonore)

232
lorsqu'une politique particulière est déclenchée (par exemple, l'appareil a été arrêté pendant 2
minutes).

Alors commençons par créer une action pour envoyer un email. Cliquez sur le signe plus dans
la section Bibliothèque d'actions et sélectionnez "Action par e-mail".

WhatsUp Gold ne possède pas son propre serveur SMTP interne, on doit donc configurer nos
propres paramètres de serveur de messagerie. On peut également consulter le modèle d'e-mail par
défaut qui sera utilisé pour envoyer l'e-mail. Cliquez sur OK une fois terminée.

C’est là que l’on pourra définir notre politique d'action. Cliquez sur le signe plus pour ajouter
une nouvelle politique d'action. Nous appellerons cette politique "Device Down 2 minutes" et y
ajouterons deux actions: sonner une alarme web lorsque l'appareil est arrêté depuis 2 minutes et
envoyer un e-mail.

Pour simuler une panne, nous allons fermer l'interface Fa0 / 0 de R2 en utilisant la commande
no shutdown. Une fois cela fait, nous verrons que R2 est dans l'onglet MY NETWORKS.

233
Après deux minutes, une alarme web sera affichée:

Il n'y a pas de tableau de bord spécifique pour les rapports dans WhatsUp Gold. Cependant,
ce qui est bon, c'est qu’on peut exporter les informations affichées à partir des différents tableaux de
bord sous l'onglet ANALYSE.

3.1. Zabbix

3.1.1. Présentation de l'outil :


zabbix est un outil de supervision, ambitionnant de
concurrencer Nagios et MRTG. Il permet de supervise le réseau, système (processeur, disque,
mémoire, processus…). Zabbix offre des vues graphiques et des alertes sur seuil. Les «
serveurs Zabbix » peuvent être décomposés en 3 parties séparées : le serveur de données,
l'interface de gestion et le serveur de traitement. Chacune d’elles peut être disposée sur une
machine différente pour repartir la charge et optimiser les performances.

Avantage :

 une solution très complète : cartographie de réseaux, gestion poussée


d’alarme via SMS, Email, gestion de pannes, statistiques et reporting.

 une interface vaste mais Claire.

 une gestion des templates poussée, modification via interface.

234
De performance au rendez-vous : l'application a été testée avec succès ayant 1000
équipement a supervisé.

Inconvénients :

 l'interface est vaste, la mise en place des templates n'est pas évidente
au début : petits temps de formation nécessaire.

 l'agent zabbix communique pas défaut en clair les informations d'où la


nécessité de sécuriser ces données

 commence à être connus, mais pas encore auprès des entreprises: peut
d'interfaçage avec d'autre solution commerciale.

3.2 Op Manager :

Présentation de l’outil :

Logiciel de Surveillance Réseau, Serveur et Virtualisation

Intérêts d’Op Manager

Utilisation optimale des ressources.

Prendre les bonnes décisions en identifiant les points de contention et les ressources
non utilisées, grâce à de nombreux rapports disponibles en ligne ou en différé.

Statistiques d’utilisation des ressources (CPU, mémoire, disque, applications, etc…).

Il résous les problèmes tel que :

 Qui utilise ma bande passante ?

 Comment ma liaison WAN ralentit-elle l’exécution des applications ?

 Dois-je investir dans plus de bande passante ?

 Pourquoi les utilisateurs ont-ils un mauvais temps de réponse ?


Comment puis-je identifier les menaces de sécurité ?

Op Manager - Logiciel de Surveillance Réseau, Serveur et Virtualisation

235
L'Intérêts de Op Manager et de;

Prendre les bonnes décisions en identifiant les points de contention et les ressources
non utilisées, grâce à de nombreux rapports disponibles en ligne ou en différé.

3.3 Nagios :

3.3.1. Présentation de l'outil :

Nagios (anciennement appelé Netsaint) est une application permettant la


surveillance système et réseau. Elle surveille les hôtes et services spécifiés, alertant lorsque
les systèmes ont des dysfonctionnements et quand ils repassent en fonctionnement normal.
C'est un logiciel libre sous licence GPL.

C'est un programme modulaire qui se décompose en trois parties :

 Le moteur de l'application qui vient ordonnancer les tâches de


supervision.

 L'interface web, qui permet d'avoir une vue d'ensemble du système


d'information et des possibles anomalies.

 Les sondes (appelées greffons ou plugins), une centaine de mini


programmes que l'on peut compléter en fonction des besoins de chacun pour
superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs

Avantages

 Performances : L'application semble pouvoir tenir la charge avec


énormément de machines surveillées grâce au moteur multithreade.

236
 Alarmes : Il est possible de configurer des évènements qui avertissent
l'administrateur d'un fonctionnement anormal.

 interface : L'interface permet de gérer un grand nombre de machines,


classées dans des groupes.

 Gestion des utilisateurs

Inconvénient

 Interface : L'interface n'est pas très accueillante et est déroutante au


début.

 Configuration : Il n'est pas très aisé d'ajouter de nouveaux équipements


à surveiller si l'on sort du cadre du Template prédéfinie.

 Un développement lent, peu de versions et très espacées dans le temps


(environ une année).

 Aucune gestion de carte de réseau, et aspect rudimentaire des alarmes.


Aucune gestion de panne.

3.1.1 L’OUTIL PRTG

PRTG Network Monitor est un logiciel de surveillance réseau facile à utiliser qui existe
en 2 versions : l'une gratuite et l'autre payante. La version gratuite est limitée à 10 sondes. Ses
fonctionnalités contiennent : la surveillance de la disponibilité, du trafic et de la consommation,
le packet sniffing, l’analyse détaillée, des rapports précis, et plus. PRTG Network Monitor est
optimisé pour une installation, une configuration et une utilisation faciles. Il vous permet de
configurer la surveillance de votre réseau en quelques minutes :

 identification réseau automatique


 modèles préconfigurés avec des sets de sondes recommandés pour différents
périphériques utilisation conviviale optimisée pour une surface hautement interactive et personnalisée
 configuration via une structure arborescente avec une transmission optionnelle des
réglages.

237
L'interface conviviale permet aux utilisateurs de configurer rapidement les périphériques
réseau et les sondes. Toutes les méthodes courantes pour l'acquisition de données de la
consommation du réseau sont soutenues : SNMP, WMI, Packet Sniffing et NetFlow. PRTG
Network Monitor fonctionne avec plus de 10.000 capteurs. La surveillance LAN, WAN, WLAN
et VPN des réseaux éloignés géographiquement à l’aide de remote probes (agents) est possible.
PRTG contient 30 sortes de sondes pour tous les services communs du réseau (par exemple
PING, HTTP, SMTP, POP3, FTP, etc.) permettant aux utilisateurs de surveiller la vitesse et les
pannes d’un réseau. Dès qu’une panne survient, le logiciel vous informe immédiatement en vous
envoyant un e-mail, un SMS, un message pager ou par d’autres canaux d’information.

3.1.2 L’OUTIL NTOPNG

NTOPNG n’est autre que la dernière évolution en date de l’outil NTOP. C’est un logiciel
libre multiplate-forme de surveillance et de mesure du trafic IP. Il est complet et stable, et
permet de connaître très précisément la caractérisation de la bande passante en temps réel sur un
réseau telle que : quelle est la charge, quelles sont les stations qui consomme le plus la bande
passante, les protocoles utilisés, qui échange avec qui, et tout ceci par le biais d’une interface
web.

Pour capturer les paquets sur une ou plusieurs interfaces, il utilise la bibliothèque portable
« libpcap ». NTOPNG utilise les couches 2 et 3 pour présenter par machines, une synthèse de
tous les protocoles utilisés. Dans sa nouvelle version, il vient résoudre certains problèmes de
stabilité et de persistance des données dont soufrai NTOP.

En effet, à un intervalle régulier, ou lorsque le serveur redémarrai, les données étaient


effacés. Ainsi NTOPNG utilise présentement une base de données SQLite pour stocker ses
données. Une de ses nouvelles fonctionnalités est la possibilité d’exporter ses données au
format JSON pour l’analyse par des outils externes. Comme inconvénient, seule la version
Windows souffre d’une limitation de capture de 2000 paquets maximum à moins que l’on
s’enregistre ou que l’on fasse un don.

3.1.3 L’OUTIL NETFLOW ANALYZER DE MANAGEENGINE

NetFlow Analyzer est également un outil complet de collecte et d’analyse du trafic,


offrant également une visibilité en temps réel de la performance de la bande passante du réseau.

238
Ainsi cet outil fournit un ensemble d’information sur l’utilisation de la bande à savoir qui
l’utilise et pour quoi. Parmi ces fonctionnalités, il permet de faire un monitoring de la bande
passante du réseau, de l'allocation de la bande passante nécessaire aux applications importantes.
En plus, il permet de faire des notifications en temps réel du réseau en fonction des alarmes
établies et permet de détecter les machines et applications gourmandes en bande passante. De
plus, il permet de faire une gestion de priorité des paquets du réseau en fonction des applications
utilisées, et dispose d’outils de monitoring capable d’interagir avec des équipements Cisco. Les
principaux avantages que possèdent cet outil sont qu’il est multiplateforme, ne nécessite pas de
matériel physique dédié, possèdent des outils avancés d’analyse et de gestion, et qu’il supporte
les technologies de plusieurs grands équipementiers. Le principale inconvénient est qu’il est
payant, avec une version de démonstration complète utilisable uniquement 30 jours.

3.1.4 L’OUTIL WIRESHARK

Le logiciel Wireshark (anciennement Ethereal) permet la capture et l’analyse de trames sur


Ethernet. Son utilité est indéniable pour contrôler le bon fonctionnement de réseau ou vérifier
les trames transitant sur une interface d’un commutateur ou analyser les trafics inutiles ou ceux
impactant les performances du réseau. Voici un petit récapitulatif des capacités de Wireshark : -
Décoder les trames (niveau 2 et 3) - Calculer le débit moyen sur la durée de la capture (Mbps) -
Tracer un graphe du trafic pour tout ou partie des flux capturés - Afficher les temps de réponses
des trames TCP (basé sur les acquittements) - Indiquer les erreurs ou les alertes détectées
(paquets perdus, retransmis, dupliqués…) - Suivre un dialogue TCP (notamment HTTP) -
Donner les statistiques sur les tailles des trames réseaux Etc. Pour cela , il suffit de l’installer sur
un PC munit d ’une interface réseau 100 Mbps sou plus et fonctionnant sous Windows ou Linux
Limitation de la taille des paquets L’analyse des trames se faisant généralement sur les premiers
octets (les entêtes), il est utile de limiter la taille des paquets capturés à une taille maximum :
pour cela, il suffit de cocher la case« Limit each packet to » et de choisir un nombre entre 68
octets (entête TCP) et 132 (informations complémentaires pour des flux HTTP ou TNS par
exemple).Cela n’a aucune influence sur les statistiques concernant les tailles de trames puisque
cette information est inscrite dans l’entête des trames Ethernet. Arrêt automatique sur seuil Il est
possible de limiter la capture sur 3 critères : nombre de paquets, taille de la capture et délai dans
le temps. Ces trois critères peuvent être combinés. Cet arrêt automatique permet de limiter le
travail d’analyse plus tard et de ne pas écraser un événement important. Captures circulaires
C’est le mode le plus intéressant, surtout si la sonde dispose d’un espace disque suffisant. En

239
effet, les problèmes réseaux sont souvent fugitifs et lorsqu’un incident survient, le temps
d’activer une capture ne permet pas de trouver l’origine du problème. D’un autre côté, une
capture linéaire permet de remonter dans l’historique des trames capturées mais la manipulation
d’un fichier unique et souvent de taille imposante et difficile. La capture circulaire résout ces
problèmes

3.2 COMPARATIF D’OUTILS

Nous pouvons résumer sous forme de tableau les différents points forts et faiblesse de ces
outils

Figure 5 : comparatif d’outils

3.3 CRITERE D’UN BON OUTIL

Pour assurer une bonne gestion de la bande passante, l’outil de supervision devra entre
autres, lors de ses analyses du flux, reconnaitre la majorité des protocoles qui y sont utilisés,
avoir une bonne représentation des données de façon claire, utiliser le minimum de ressource

240
possible , et avoir une mise en œuvre et une utilisation des plus aisées, sans compter l’absence
de client à installer sur les terminaux que l’on veut superviser. L’outil dans ses fonctions, devrait
également comprendre les considérations suivantes :

 Compatibilité universelle : il devrait supporter la majorité des méthodes d’acquisition de


données afin que l’information puisse être recueillie de tous les éléments dans un environnement
de réseau hétérogène pour l’analyse.

 Affichage hiérarchique : en présentant les données via des rapports de plusieurs niveaux
et en facilitant le repérage en allant au flux de trafic individuel selon les besoins.

 Gestion des données précises : permettra de décider combien de temps il faudra


maintenir les données recueillies et la fréquence de collection à travers les différents
périphériques de réseau. Les délais de rétention prolongés pourront soutenir l’identification et la
résolution des problèmes intermittents. Les intervalles de collection d’une minute pour des
données en temps réel aideront à repérer des anomalies ponctuelles.

 Profondeur illimitée : ceci dans le but de voir au-delà des hôtes « Top N », des
conversations, des protocoles, ou d’autres mesures. Bien que l’examen du sommet d’une liste
classée puisse aider à l’identification des problèmes évidents, il se peut que cela ne révèle les
parties émergées de l’iceberg. Une telle approche ne reflète pas toujours ce qui se produit
vraiment sur le réseau, où d’autres anomalies plus subtiles provoquées par des virus, des vers, et
des intrus peuvent traîner sous la surface. 8

3.3.1 Choix De L’outil

Les types de statistiques présentées par les quatre outils sont à peu près les mêmes. Mais il
en ressort deux du lot qui se démarque par leur plus large gamme de fonctionnalités, PTRG du
côté propriétaire, et NTOPNG du côté libre. La structure ayant des perspective d’extension de
leur réseau, ainsi que la mise en place d’un outil de gestion de celui-ci, PTRG pourrai être un
bon choix. Mais vu que la structure aimerait une solution avec un outil gratuit, le choix s’est
porté sur NTOPNG. NTOPNG à d’autres avantages par rapport à PTRG. Il possède une
interface web intuitif et beaucoup plus épuré allant directement à l’information essentielle, ainsi

8
Jean-François CASQUET .dans la Quels sont les outils d’aujourd’hui de supervision réseau LAN/WAN. AZERTY
MicroSystem.fr 2015

241
qu’une plus grande base de données de reconnaissance des protocoles. Un de ses atouts c’est
qu’il est intégrable à des outils de supervision du réseau tel que nagios, cacti ou pfsen, sous
forme de plugins, à fin de former un ensemble complet d’outil supervision réseau.

3.4 FONCTIONNEMENT DE NTOPNG

NTOPNG dans sa version actuelle la 3.5, est utilisé comme analyseur de flux nous
permettant ainsi de visualiser à travers son interface web le trafic du réseau en temps réel. Dans
ses précédentes versions, il pouvait être utilisé directement pour collecter les données à travers
divers sondes. Mais par soucis de clarté et de simplicité de configuration, ses développeurs ont
attribué la tache de collecte à une autre entité. Ainsi NTOPNG ne peut surveiller qu'un seul
réseau, celui auquel il est rattaché, si il utilise la méthode du « Packet Sniffing », ou analyser le
flux à travers une autre entité qui est chargé de collecter les données « netflow » reçu par les
sondes des différents réseaux. Pour son bon fonctionnement, NTOPNG utilise deux entités:

 NPROBE

C’est l’entité chargé de collecter et de mettre à disposition de ntopng, les données de


mesure envoyées par les routeurs et ou Switch. Pour ce faire, on le raccordera au cœur de
l’architecture réseau via un port miroir (port de monitoring) grâce auquel il recevra une
réplication de l’ensemble du trafic transitant via l’élément actif sur lequel le port monitoring est
configuré.

 NDPI

C’est une base de données de protocoles open-source mise à disposition par les
développeurs de ntop. C’est à travers cette base de données que ntopng est en mesure de détecter
les applications effectuant du trafic, quel que soit le port utilisé. Cela signifie qu’il sera possible
de détecter des protocoles connus sur des ports non standards (par exemple détecter http qui ne
sera pas sur le port 80), et aussi le contraire (par exemple détecter le trafic Skype qui sera sur le
port 80).

242
Figure 6 : NDIP

3.5 DEPLOIEMENT NTOPNG

Implémentation de NTOPNG N’ayant pas un accès physique au réseau concret pour des
raisons de sécurité et par la suite pour des raisons de maintenance, nous nous somme basé sur de
la simulation. Ainsi pour nos test, nous avons pratiqué sur un réseau restreint, composé
uniquement de :

1. Un modem routeur wifi ;


2. Deux pc sous Windows ;
3. Un pc sous linux ;
4. Le serveur linux sur lequel sera installé l’outil ;

243
Figure 7 : déploiement ntopng

3.7 Installation et configuration

Cette partie nous montre comment installer et configurer ntopng. [Voir annexe A.1] étapes
d’installation et de configuration de ntopng]

3.8. Présentation de l’interface web de NTOPNG

Ici le but ne serait pas de présenter l'interface web dans son intégralité, mais les interfaces
dont on a besoin pour surveiller en temps réel l'utilisation du réseau, et avoir les informations à
coup d'œil des différents point cruciaux à savoir les terminaux présent sur le réseau, et
l'utilisation qui en est faite. On peut utiliser ntopng sous deux aspects, soit pour de la
maintenance, soit pour de la surveillance. Le but de la maintenance, c'est de déceler les
problèmes qui surviennent sur le réseau, et la surveillance a pour but d'avoir un visuel sur
l'utilisation du réseau.

 Aspect maintenance Avec ntopng on peut obtenir les informations suivantes :

Lister les hôtes présents sur le réseau,

244
Avoir les informations relatives à un hôte,

Identifier les applications ou les hôtes qui consomme le plus la bande passante

 Aspect surveillance Lorsque l’on aborde ntopng sur un aspect surveillance, on peut
obtenir les informations suivantes :

Lister les applications présentes sur le réseau

Lister les hôtes distants qui communiquent avec le réseau

Connaître l'historique d'utilisation global ou par hôte au sein du réseau

Nous avons ainsi les pages ainsi les pages suivantes qui résumeront les fonctions de
maintenance et de surveillance.

3.8.1 LES INTERFACES HOMME MACHINE

Cette page nous permet d'effectuer deux


(2) tâches basic :

- Démarrer ntopng sans avoir à


saisir la
- Réinitialiser
- Figure 12 : Page d'administration pour le démarrage la liste des alertes
de l'outil

La page
d’authentification

Figure 13 : page de connexion pour administration

245
1) La page d’accueil de ntopng

Les menus

Les services ou
onglet

Figure 14 : Ecran d’accueil de notpng

2) Les utilisateurs du réseau

Pour y accéder, on clique sur le menu « Hosts » puis « Hosts List ». Dans cet onglet sont
on y trouve la de listé tous les hôtes communiquant à travers le réseau, répartit selon l'adresse IP,
le VLAN aux quel il appartient, sa location (indique si c'est un hôte local ou distant), le nom de
la machine hôte, sa dernière connexion, ASN (Autonomous System Number), une vue des
pannes ou échec sur l’émission ou la réception, le débit, la taille du trafic échangé. En cliquant
sur une colonne on effectue un tri croissant ou décroissant selon la nature de la colonne.

246
Une vue de pannes ou l’échec sur
Le Nom d’hôte l’émission

L’adresse IP
Le débit

Trafic
échangé
Figure 15 : Tous les hôtes du réseau

3) Les informations concernant un hôte

Il est possible en cliquant sur l'adresse IP d'un hôte d'obtenir toute les informations
relative à son utilisation du réseau. Ainsi nous avons comme service onglet :

Home : Cet onglet nous présente un résumé des informations concernant l’hôte soit son
adresse MAC, son adresse IP, le système d’exploitation qu’il utilise si c’est un ordinateur, le
nom de la machine avec indication si c’est une machine local ou distante, sa première et sa
dernière apparition sur le réseau, rapport entre le trafic total envoyé et reçu, la vitesse et le total
du trafic envoyé et reçu, et pour finir son activé sur le réseau sous forme de map. Il est
également possible d’exporter ces données pour un traitement particulier

247
Service
Home

Figure 16 : Informations sur un hôte

4) Traffic

Cet onglet nous présente le trafic total écoulé, sous forme de diagramme circulaire et
tableau, par l'hôte en envoi comme en réception

Figure 17 : Trafic total écoulé d’un hôte

5) Packets

Représentation sous forme de diagramme circulaire le pourcentage des paquets émis et reçu.

248
Figure 18 : Pourcentage des paquets émis et reçu

6) Protocols

Représente sous forme de diagramme circulaire et tableau les protocoles utilisés par l’hôte avec
le total envoyé, reçu et global.

Figure 19 : Les protocoles d’application utilisée par un hôte

7) Historical

Cet onglet nous présente un historique de l’utilisation du réseau faite par l’hôte

249
Figure 20 : Historique d’utilisation du réseau pour un hôte

8) Flows

Les informations concernant les flux échangé à travers le réseau Grace à l’onglet « Flows
», on a une liste de tous les flux échangé à travers le réseau réparti selon :

- Info : l’information
- Application : le protocole d’application de niveau 7
- L4 Proto : le protocole de niveau 4 utilisé
- Vlan : Le vlan auquel appartient le client
- Client : Le nom de l’hôte avec le numéro de port de l’application qui fait la requête
- Server : Le nom ou adresse du serveur avec numéro de port de la réponse
- Duration : La durée de l’échange
- Breakdown : les erreurs survenu lors de l’échange
- Throughput : le débit de l’échange
- Total Bytes : Le volume de données échangé.

On peut effectuer un filtrage de l’affichage selon l’application souhaité

250
Figure 21 : Liste des flux actif du réseau

9) L’interface de capture

Lorsque l’on veut un aperçu global de l’utilisation du réseau, ntopng possède un bouton
interface qui permet de les avoir selon l’interface de capture choisi. Ces informations sont réparti
sous forme d’onglet:

 Overview : Cet onglet nous renseigne sur le nom de l’interface, le type de capture
effectué, le volume de données transité à travers cette interface.

Figure 22 : Information sur l’interface de capture

10) Packets

251
Représentation sous forme de diagramme circulaire des statistiques sur les paquets échangés à
travers le réseau

Figure 23 : Statistique d’échange des paquets du réseau

11) Protocols

Affiche des statistiques sous forme de diagramme circulaire et tableau, les protocoles
dialoguant à travers l’interface réseau.

Figure 24 : Statistique d’utilisation des protocoles du réseau

12) Historical Activity

252
Présente des statistiques périodique sous forme graphique de l’activité globale du réseau

Figure 25 : Statistiques des activités du réseau

13) Les utilisateurs

NTOPNG permet également de gérer ses utilisateurs en créent ou supprimant des comptes

Figure 26 : Gestion des utilisateurs de ntopng

Comparatif des différentes solutions


253
Solution
FAN (base Dell OpenManage
Critères Nagios PRTG
nagios) Network Manager
alertes « cartographiables» oui oui oui oui
Compatible avec les éléments Prévu de base pour
oui avec MIB oui avec MIB oui avec MIB
communiquant de l'IMC équipement DELL
Compatible avec les périphériques Prévu de base pour
oui avec MIB oui avec MIB oui avec MIB
d’impressions de l'IMC équipement DELL
oui avec agent oui avec agent Prévu de base pour
Compatible avec Windows serveur oui avec WMI
SNMP SNMP équipement DELL
Remontées de statistiques et
oui non non oui
graphiques
Mise en place Complexe très complexe complexe simple
Linux / Windows Linux Linux Windows Windows
env. 400€ pour la
Budget licence Gratuit Gratuit Budget élevé
structure de l'IMC
Solution proposé par
Moteur de paessler, une
beaucoup d'outils automatisation de la
distribution Solution proposé par
commentaire de supervisions, il configuration est
"full-featured" DELL
est très limité dans possible, Travail en
les possibilités WMI avec les
serveurs

254
Test de mise en production
Après une recherche des solutions correspondant au cahier des charges, une phase de tests à été
effectué. Le but étant de juger des points secondaires de types : - lisibilité, -simplicité, -stabilité…
voici le retour obtenue

Solution
FAN (base Dell OpenManage
Critères Nagios PRTG
nagios) Network Manager
stabilité stable stable stable stable
compréhension
lisibilité complexe très peu lisible très peu lisible
aisée
Prise en main prise en main prise en main très prise en main
simplicité
complexe très complexe complexe relativement simple
interopérabilité avec l'existant complète complète partiel complète
interopérabilité
graph, graph, cartographie,
fonctions supplémentaires aucune complète avec
cartographie statistique, WMI
équipement DELL

Après les tests de mises en production, un budget étant alloué à cette solution, le choix a été porté
sur PRTG cette solution ayant le gros avantage de la simplicité d’utilisation et de configuration, tout
en répondants aux demandes du cahier des charges. En effet même si les solutions gratuites
proposent quasiment le même service, leurs lectures post configuration est assez complexe, sans
oublier leurs configurations qui est elle très complexe et laborieuse, un inconvénient suffisant pour
justifier l’acquisition d’une License PRTG

255
PRTG : solution de monitoring

PRTG est une solution de supervision de réseau en temps réel basé sur le protocole SNMP. Il
permet au service informatique d’avoir une remonté d’information quasi instantané lors d’un
problème. Malgré un système basé sur le SNMP, PRTG utilise d’autres protocoles ou ressources
systèmes pour obtenir un maximum d’information sur les différents éléments du réseau.

Utilisation

La gestion de PRTG se fait via une interface WEB (http://192.168.8.6/) pour se connecter un
clique sur «login par défaut », cela nous amène à la page d’accueil qui recense tous les périphériques
déjà ajouté

L’interface

1. C’est l’ensemble principal incluant le serveur de supervision


2. C’est un sous-groupe ici représentant la supervision de tout le
réseau « eleves »
3. C’est un sous-sous-groupe pour les imprimantes du réseau
« eleves »
4. a C’est un capteur ayant pour fonction un simple Ping pour vérifier
les connectivités de l’équipement surveillé. C’est un capteur
obligatoire et duquel dépends tous les autres capteurs de
l’équipement

4. b C’est un capteur X surveillant l’imprimante IMP-FORM (ici il


surveille via SNMP si l’imprimante a un quelconque disfonctionnement

256
(bac ouvert, imprimante en surchauffe…) sans préciser les
disfonctionnement

5. C’est un équipement X surveillé (ici IMP-404)


6. C’est un récapitulatif de l’état de tous les capteurs

Accès aux « maps » :

Les « maps » sont des pages qui permettent de représenter en cartographie le réseau ou toutes
autres informations importantes : graphiques, erreurs, valeurs (nb de clients wifi)…

Pour y accéder il faut cliquer sur l’icône présente sur l’interface WEB :

Ici, deux « maps » on était créé une pour une représentation graphique du réseau à surveiller et
l’autre pour afficher tous les graphiques de débits. Quand on clique sur le nom de l’une des «maps»
on accède à une page avec ces onglets :

Le premier affiche la « maps » le second permet de la créer, l’éditer, le troisième modifie les
paramètres tels que les couleurs, l’image de fond, la taille de la « maps » enfin le dernier donne
l’accès aux liens direct de la « map » qui affiche directement la « map » dans un navigateur sans
cadre ni autre option.

257
Configuration
Ajout d’un équipement :

Pour surveiller un périphérique sur certains points il faut d’abord le renseigner dans PRTG :

Sur la page d’accueil on survole puis on clique sur , on choisit dans


quel groupe l’ajouter puis on clique sur poursuivre puis on renseigne les informations sur
l’équipement :
Nom de la machine

IP de la machine

Logo associé à la
machine dans l’aperçu
général

Ici on choisit le mode


d’ajout de capteurs à la
machine

On valide et suivant le mode de gestion des capteurs une exploration automatique se lance, ou pas.

258
Ajout d’un capteur :

Le SNMP : (Wikipédia) « Simple Network Management Protocol (abrégé SNMP), en


français « protocole simple de gestion de réseau », est un protocole de communication qui permet
aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer
des problèmes réseaux et matériels à distance. »

Le principe du SNMP

Le SNMP est un protocole qui fonctionne dans un ensemble appelé « communauté » qui n’inclue
une sécurité qu’à partir de la version 3. Dans cette « communauté » il y a les « agents » (Switchs,
imprimantes : les éléments à surveiller) et l’élément charger de récupérer les informations envoyé
par les « agents » : le « manager » (l’outil de supervision : PRTG, Nagios…).

Le fonctionnement du SNMP

La Communication entre les différents éléments de la « communauté » SNMP se fait avec un langage
particulier, comme pour toute choses les constructeurs, malgré la standardisation du protocole, se
veulent unique c’est pour cette raison que les fichiers MIBs existent : en somme les fichiers MIB sont
des fichiers d’interprétation, il permet au « manager » de comprendre les informations envoyé par
les « agents »

Le schéma

259
260
Configuration de l’agent

L’agent SNMP qui sera supervisé doit être configuré en fonction du protocole SNMP c’est-à-dire qu’il
doit être ajouté à la même communauté que le superviseur et doit connaitre sont IP.

Création du capteur

Les capteurs peuvent être créés de deux façons différentes :

Soit via l’exploration automatique, qui avec des fichiers MIB déjà implémenté dans la solution PRTG
va aller vérifier quelles informations il peut récupérer de l’agent. PRTG revoie une liste de capteurs
dans laquelle il faut sélectionner les capteurs voulus.

Soit via une liste de requêtes proposé par PRTG (WMI, Ping, tests de charges…), où à contrario de
l’exploration automatique, va vous donner la possibilité ou non d’effectuer ce contrôle sur l’agent.

261

Vous aimerez peut-être aussi