Académique Documents
Professionnel Documents
Culture Documents
(Network Security)
Dr. Hind IDRISSI
IDS / IPS
Email: h.idrissi@usms.ma
IRIC (S2)
2022 / 2023
Plus les systèmes informatiques sont ouverts sur internet, plus sont sujettes à plusieurs types d'attaques.
Mettre en place des politiques de sécurité et des solutions (tel que les pare-feux, les antivirus, les
proxys) est devenu incontournable dans les entreprises, mais peu suffisant.
Afin de détecter les attaques que peut subir un système ou un réseau, il est nécessaire de disposer d’un
logiciel spécialisé dont le rôle sera de surveiller les données qui transitent sur ce système ou réseau et
qui serait capable de réagir si des données et leurs sources semblent suspectes.
Une intrusion signifie non seulement une pénétration des systèmes informatique mais aussi les tentatives
des employés ou administrateurs d'utiliser de plus hauts privilèges que ce qui leur a été attribués.
IDS : Définition
▪ Systèmes de Détection d’Intrusion ( ou, Intrusion Detection System)
▪ Ce système est mis en place afin de surveiller l'activité sur un réseau ou une machine donnée. Le
but est de repérer toute activité anormale ou tentative d'intrusion est de réagir selon les besoins
de l'entreprise.
▪ Système de monitoring et de supervision du trafic d’un réseau.
▪ Il écoute le trafic, crée sa propre copie et ensuite l’analyse.
▪ Il compare le trafic enregistré par rapport à des signatures d’attaques.
▪ C’est un dispositif passif (pas réactif) : Il détecte mais n’arrête pas les attaques
A savoir
IPS
o Système de Prévention d’Intrusion ( ou Intrusion Prevention System )
o C’est un type d’IDS.
o Même rôle qu’un IDS. non seulement détecter une intrusion (une attaque) mais aussi la bloquer.
o Cependant, il faut faire très attention à ne pas bloquer du trafic ou activité légitime.
o Dispositif Actif : ------> tout le trafic doit le traverser
▪ Les premiers systèmes de détection d’instrusions ont été initiés par l’armée américaine puis par des
entreprises.
▪ Plus tard, des projets open-source ont été lancés comme Snort ou Prelude.
▪ Des produits commerciaux ont aussi vu le jour par le biais d’entreprises spécialisées en sécurité
informatique : Internet Security Systems, *symantec, Cisco Systems, ...
Un IDS est essentiellement un sniffer couplé avec un moteur qui analyse le trafic selon des règles. Selon le
type de trafic, l’IDS accomplit certaines actions.
❑ Module de réponse
❑ Module de réponse
• Un CPU puissant
✓ Analyse et comparaison de modèle de trafic
• Mémoire RAM
✓ Importante pour le volume de données et le traitement
Sonde
Composant de l’architecture IDS qui collecte les informations brutes.
Faux-Positif
une alerte provenant d’un IDS, mais qui ne correspond pas à une attaque réelle.
==> Fausse alerte levée par l’IDS
Faux-Négatif
consiste à manquer un déclenchement alors que le réseau ou le système subit une vraie tentative
d'intrusion en présence d'attaque.
==> Attaque réelle qui n’a pas été repéré par l’IDS
À cause de la diversité des attaques que mettent en œuvre les pirates, la détection d’intrusion doit se
faire à plusieurs niveaux.
▪ Le NIDS écoute passivement tout le trafic transitant le réseau en temps réel, l'analyse et
déclenche des alertes si des paquets semblent suspects ou dangereux.
▪ Le NIDS permet non seulement d'analyser le trafic mais aussi de garder une trace de ce dernier
pendant un certain temps (pcap: PacketCAPture ) .
▪ Les NIDS sont les IDS les plus intéressants et les plus utiles du fait de l’omniprésence des réseaux
dans notre vie quotidienne.
Avantages
- Un petit nombre de détecteurs peut contrôler un grand réseau.
- Leur installation n’influe pas sur l’architecture du réseau.
- Les détecteurs sont très sécurisés et invisibles.
Inconvénients
- Difficulté d’analyser les paquets pendant les périodes de pointe
du trafic.
- Ne permettent pas de contrôler les liaisons cryptées (Ex: VPNs).
- Les détecteurs sont vulnérables à certaines attaques réseau.
❖ NIDS en ligne: il analyse un réseau en temps réel. Ce NIDS analyse les paquets transitant le
réseau et applique des règles prédéfinies afin de déterminer s'il s'agit d’une attaque ou non.
❖ NIDS hors ligne (mode tap): Il traite les paquets collectés. Ce qui signifie qu'il les passe à travers
un certain nombre de processus afin de décider du résultat (attaque ou non).
▪ Un HIDS se base sur une unique machine : il n’analyse plus le trafic réseau mais l’activité se
passant sur cette machine.
▪ Un HIDS analyse en temps réel les flux relatifs à une machine ainsi que les logs de cette dernière
(appel système, modification de fichiers, authentification aux applications, etc.). Ensuite, le HIDS
déclenche une alerte en cas de détection d'activité suspecte.
▪ Un HIDS doit être installé sur une machine saine. Si la machine a été compromis avant
l'installation du HIDS, alors celui-ci ne sera plus efficace.
▪ Les HIDS sont très utilisés sur les machines critiques et peuvent détecter les menaces qu'une
solution NIDS pourrait manquer.
PR. H.IDRISSI, ENSAK 2023 M21 : SÉCURITÉ DES RÉSEAUX 20
2 . Différents Types des IDS
▪ Leur appellation « hybride » provient du fait qu’ils sont capables de réunir des informations
provenant d’un système HIDS et aussi un NIDS.
▪ Un IPS définit un ensemble de composants matériels ou logiciels utilisés afin d'empêcher une
activité suspecte sur l'environnement cible (réseau, ordinateur, serveur, etc.).
▪ Un IPS est un IDS qui ajoute des fonctionnalités de blocage pour une anomalie trouvée.
▪ Les IPS sont des outils aux fonctions « actives » qui, en plus de détecter une intrusion, tentent de
la bloquer.
▪ Cependant, il faut faire très attention à ne pas bloquer du trafic ou activité légitime.
Avantage :
Inconvénients :
- Si un pirate attaque un système doté d'un IPS, tout en usurpant l‘@ IP d'une machine légitime
(routeur, serveur web, etc) dans ce système. L’IPS va alors bloquer la machine légitime. Plus la
machine légitime est une machine importante dans le réseau, plus les conséquences sont graves.
• Pour pallier ce problème, de nombreux IPS disposent des « white lists », c-à-d des listes d’adresses
réseaux qu’il ne faut en aucun cas bloquer.
- Les IPS ne sont pas discret, ce qui signifie qu'une fois un IPS bloque le trafic il montre sa
présence. Un attaquant pourra par ailleurs chercher une faille sur ce dernier et refaire son
intrusion sans être repéré.
• voilà pourquoi les IDS passifs sont souvent préférés aux IPS.
▪ Dans le cadre du HIDS, l’utilisation d’un détecteur d’intrusions au niveau noyau peut s’avérer
parfois nécessaire pour sécuriser une station.
▪ Exemple d’un serveur web : il serait dangereux qu’un accès en lecture/écriture dans d’autres
répertoires que celui consultable via http, soit autorisé. Cela pourrait nuire à l’intégrité du
système.
▪ Grâce à un KIPS, tout accès suspect peut être bloqué directement par le noyau, empêchant ainsi
toute modification dangereuse pour le système. Le KIPS peut reconnaître des motifs
caractéristiques du débordement de mémoire, et peut ainsi interdire l’exécution du code.
▪ Un KIPS peut également interdire l’OS d’exécuter un appel système qui ouvrirait un shell de
commandes.
▪ C’est pourquoi ce sont des solutions rarement utilisées sur des serveurs souvent sollicités.
▪ Exemple de KIPS : SecureIIS, qui est une surcouche du serveur IIS de Microsoft.
❑ Détecter des attaques en comparant les paquets du réseau à une bibliothèque contenant des
signatures de menaces connues.
❑ Journaliser et enregistrer toute activité suspecte avec la réponse. Ceci aide à mieux comprendre votre
mécanisme de protection et former (entrainer) vos systèmes de sécurité en conséquence.
❑ Alerter le système ou le personnel de sécurité quand une menace est détectée. Cela les aide à se
préparer à toutes les circonstances et à prendre des mesures rapides.
❑ Réponse:
✓ Les IDS sont passifs : surveillent, détectent et alertent d’une activité suspecte; mais ne prennent
aucune mesure par eux-mêmes pour empêcher l'attaque. L'administrateur du réseau ou le
personnel de sécurité affecté doit prendre des mesures immédiatement pour atténuer l'attaque.
✓ Les IPS sont actifs : surveillent et détectent les activités malveillantes sur votre réseau, puis
alertent et empêchent automatiquement l'attaque de se produire.
❑ Placement:
✓ l'IDS est placé à la périphérie d'un réseau afin d’avoir une visibilité maximale pour les paquets de
données.
✓ L'IPS est placé derrière le pare-feu du réseau et communique en ligne avec le trafic entrant pour
mieux prévenir les intrusions.
❑ Mécanisme de détection:
✓ l'IDS utilise la détection basée sur les signatures, la détection basée sur les anomalies et la
détection basée sur la réputation pour les activités malveillantes.
✓ L'IPS utilise une détection basée sur les signatures avec des signatures orientées exploit et
vulnérabilité. En outre, l'IPS utilise une détection statistique basée sur les anomalies et une
détection d'analyse protocolaire avec état.
❑ Protection: l'IDS pourrait être moins efficace dans un système menacé. l'IPS peut effectuer une
prévention automatique par lui-même.
Où placer un IDS ?
Il est à noter que toute erreur d'installation pourrait rendre votre système de détection/prévention inefficace.
L'installation consiste à non seulement correctement déployer votre IDS/IPS mais aussi savoir le configurer.
Où placer un IDS ?
Où placer un IDS ?
Avantages
- Détection de toutes les attaques
- Bonne pour un HoneyPot (pot de miel)
Problèmes
- Analyse trop complexe = Trop lent;
- Facilité d’attaquer le détecteur;
- Les attaques de l’intérieur du réseau ne sont pas détectées;
- Beaucoup de faux-negatifs, parce qu’on analyse un trafic inutile.
PR. H.IDRISSI, ENSAK 2023 M21 : SÉCURITÉ DES RÉSEAUX 36
3. Différentes Architectures NIDS
Où placer un IDS ?
Avantages
- Identification des attaques qui ciblent les systèmes
critiques et les serveurs publics (Web, Ftp, …).
Problèmes
- Configuration et Analyse complexe
Où placer un IDS ?
Avantages
- Moins de vulnérabilité pour le détecteur
- Réduction du volume de trafic à traiter
- Détection des attaques internes
Où placer un IDS ?
A noter que:
❑ Un NIDS/NIPS seul avec une seule architecture n'est pas suffisant pour assurer un bon niveau de
sécurité.
❑ Les différentes architectures peuvent être combinées au sein d'un même réseau.
❑ Une configuration correcte est nécessaire pour assurer le bon fonctionnement de votre système
NIDS/NIPS.
➢ Par exemple: des règles destinées à un réseau Windows peuvent ne pas fonctionner pour un réseau Unix.
❑ D'autres technologies sont à ajouter dans votre réseau d'entreprise afin d'accroitre la sécurité.
➢ Par exemple: les pare-feux, Antivirus, HIDS, etc.
1. détecter des signatures d’attaques connues dans les paquets circulant sur le réseau.
2. détecter une activité suspecte dans le comportement de l’utilisateur.
=⇒ Ces deux techniques, aussi différentes soient-elles, peuvent être combinées au sein d’un même
système afin d’accroître la sécurité.
▪ La Signature
o chaque attaque, virus, vers, etc … possède des caractéristiques uniques et différentes des autres.
o un IDS/IPS cherche ces caractéristiques dans le trafic supervisé. Il utilise la signature pour
détecter l’existence d’un trafic « mal- saint ».
▪ Cette approche consiste à rechercher dans l'activité de l'élément surveillé les empreintes (ou
signatures) d'attaques connues.
▪ Ce type d'IDS est purement réactif -> il signale une attaque lorsqu’il détecte la présence d’une
ressemblance entre la base de signatures et le trafic réel.
▪ Il ne peut détecter que les attaques dont il possède la signature. De ce fait, il nécessite des mises
à jour fréquentes.
Avantages
Inconvénients
- Difficulté de la construction d'une base de signatures complète qui couvre tous les scénarios
possibles.
- Impuissance face aux nouvelles attaques ==> absence d’un mécanisme d’apprentissage.
- Sensibles aux erreurs de traduction (du langage naturel au langage machine).
Exemples
a) - Approche Probabiliste :
▪ Des probabilités sont établies permettant de représenter une utilisation courante d’une application
ou d’un protocole.
▪ Toute activité ne respectant pas le modèle probabiliste provoquera la génération d’une alerte.
▪ Exemple : Avec le protocole HTTP, il y a une probabilité de 0.9 qu’une commande GET soit faite
après une connexion sur le port 80. Il y a ensuite une probabilité de 0.8 que la réponse à cette
commande GET soit « HTTP/1.1 200 OK ».
b) - Approche Statistique :
▪ Le but est de quantifier les paramètres liés à l’utilisateur : taux d’occupation de la mémoire,
utilisation des processeurs, valeur de la charge réseau, nombre d’accès à l’Intranet par jour, vitesse
de frappe au clavier, sites les plus visités, ...
▪ Elle n’est actuellement présente que dans le domaine de la recherche, où les chercheurs utilisent
des réseaux neuronaux et la fouille de données pour tenter d’avoir des résultats convaincants.
Avantages
- Possibilité d’apprentissage ==> détecter des nouveaux types d'attaques;
- Economie de mémoire;
- Opérations faciles à traduire du langage naturel vers un langage machine;
Inconvénients
- Difficulté de modéliser :
• Surtout un comportement humain
• Ce qui est normal pour quelqu’un pourrait être anormal pour un autre!!
- Peu fiable : tout changement dans les habitudes de l’utilisateur provoque une alerte.
- Nécessité de fréquents ajustements afin de faire évoluer le modèle de référence.
- Problème de définition des seuils et des valeurs limites
• Comment qualifier un comportement de « normal » sur la base de seuil numérique ?
❑ Le déploiement d’un IDS doit tenir compte du système d’exploitation et les règles doivent être
correctement configurées par rapport à celui-ci.
❑ L’emplacement des sondes est très important : i.e. l’endroit où l’on capture le trafic réseau.
❑ Il faut configurer correctement l’IDS pour qu’il n’inonde pas les rapports d’alertes avec des faux positifs.
▪ ils peuvent rendre les rapports d’alertes long à analyser.
▪ les administrateurs passeront beaucoup de temps à distinguer les faux positifs des véritables
intrusions.
❑ Les débits actuels des réseaux augmentent de plus en plus et donc les IDS ont de plus en plus de paquets
à traiter et à analyser.
❑ L’utilisation de plusieurs sondes nécessite la corrélation des informations. Les actions possibles :
▪ agrégation : rassembler les informations des différentes sondes.
▪ fusion : fusionner en supprimant les doublons (même attaque détectée par plusieurs sondes).
▪ corrélation : définir un motif commun, c’est-à-dire interpréter une suite d’événements et les résumer.
=⇒ Une corrélation intéressante serait de ne garder que les alertes qui concernent une faille probable du
système.
PR. H.IDRISSI, ENSAK 2023 M21 : SÉCURITÉ DES RÉSEAUX 55
5. Déploiement d’un NIDS
Etapes de Fonctionnement d’un IDS
o Snort (NIDS)
o Suricata (NIDS)
o Zeek ou Bro (NIDS)
o TripWire (HIDS)
o OSSEC (HIDS)
o Prelude (hybride : NIDS + HIDS)
❑ Il est très populaire et très utilisé au sein des entreprises vu sa capacité d'effectuer l'analyse du trafic
réseau en temps réel.
❑ Il sert à détecter les tentatives d'intrusion, pour ce faire, il compare le trafic réseau à une base de
données des attaques connues. Le cas échéant, il exécute une action prédéfinie, qui va de vous
prévenir à verrouiller le réseau.
❖ Un noyau de base : au démarrage, ce noyau charge un ensemble de règles, les compile, les optimise et les
classe. Durant l’exécution, le rôle principal du noyau est la capture de paquets.
❖ Une série de pré-processeurs: se charge d’analyser et de recomposer le trafic capturé. Les préprocesseurs
reçoivent les paquets directement capturés, éventuellement les retravaillent puis les fournissent au
moteur de recherche de signatures.
❖ Analyse: Une série d’analyses est ensuite appliquée aux paquets. Ces analyses se composent
principalement de comparaisons de différents champs des headers des protocoles (IP, ICMP, TCP et UDP)
par rapport à des valeurs précises.
❖ Après la détection, une série de « output plugins » permet de traiter cette intrusion de plusieurs
manières : envoie vers un fichier log, envoie d’un message d’alerte, stocker cette intrusion dans une base
de données.
▪ Le mode sniffer (reniflage de paquets) : dans ce mode, SNORT lit les paquets transitant le réseau et les
affiche d’une façon continue sur l’écran.
▪ Le mode « packet logger » : dans ce mode SNORT journalise (log) le trafic réseau dans des répertoires sur
le disque.
▪ Le mode détection/prévention d’intrusion réseau (NIDS/NIPS) : dans ce mode, SNORT analyse le trafic du
réseau, et le traite. Ce qui signifie qu'il le compare à des règles prédéfinies par l’administrateur réseau ou
l'équipe de sécurité et établit des actions à exécuter (exemple: accepter le trafic, alerter, bloquer le trafic,
journaliser, etc.)
L’installation de SNORT (pour linux) est simple et se résume par les commandes suivantes, une fois l'archive
téléchargée dans le répertoire ‘’/usr/local/snort’’
Ainsi, on effectue le lien entre SNORT et MySql afin d'utiliser une base de données pour la détection
d'intrusion.
Afin d'indiquer à snort la base où il doit envoyer ses alertes, il convient de modifier la ligne suivante, dans le
fichier de configuration "snort.conf":
Par exemple, l'utilisateur "user" a pour mot de passe "snort_pwd", et le nom de la base MySQL utilisée par
snort est "snort" (le serveur concerné est la machine où tourne snort).
Sous MySQL, il faut ensuite créer la base SNORT ainsi que l'utilisateur user en lui indiquant les bons
paramètres par la commande suivante :
Il est alors possible de lancer l'outil SNORT par la commande suivante, si nous voulons utiliser la base de
données (au lieu de simple fichier texte de log, cf commande bis) :
❑ Mode écoute : observer les paquets que l'IDS perçoit ("snort -v")
❑ Mode "log de paquets" : permet l'archivage des paquets circulant sur le réseau de l'IDS, comme une
plage d'adresse IP (ex : "snort -l ../log/snort -h 192.168.0.0/24" )
=> Les règles de SNORT sont composées de deux parties distinctes : le header et les options.
Le Header
permet de spécifier le type d’alerte à générer (alert, log et pass) et d’indiquer les champs de base nécessaires
au filtrage : le protocole ainsi que les adresses IP et ports sources et destinations.
Les règles headers:
o Action – action de la règle. exemple action = alert signifie que Snort va générer une alerte
quand l'ensemble des conditions est rempli.
o Protocole – protocole de la couche transport (TCP/UDP) utilisé ou de la couche réseau (ICMP).
o IP-source – La source du trafic.
o port-source – le port source du trafic.
o -> – La Direction du trafic ( de la source vers la destination).
o IP-destination – La destination du trafic.
o port-destination – le port destination du trafic.
Les Options
spécifiées entre parenthèses, permettent d’affiner l’analyse, en décomposant la signature en différentes valeurs à
observer parmi certains champs du header ou parmi les données. Plusieurs options possibles:
o flags – flag du header TCP est activé.
o content – le trafic contient la chaine de caractère "trafic contient".
o msg – Snort va affichier le message "votre-message" quand il envoie l'alerte.
o sid:1000001 – Snort rule ID (identifiant de la règle snort). Pour information, les identifiants inférieurs ou
égal à 1,000,000 sont réservés. Raison à laquelle nous commençons par 1000001 (vous pouvez utiliser
n'importe quel numéro tant que c'est supérieur à 1000000).
o rev:1 – Revision number (numéro de révision). cette option permet une maintenance simplifiée de règle.
o classtype – Permet de catégoriser la règle comme par exemple “icmp-event” (l'une des catégories snort
prédéfinie). Permet aussi l'organisation des règles.
PR. H.IDRISSI, ENSAK 2023 M21 : SÉCURITÉ DES RÉSEAUX 70
6. SNORT
Les Règles SNORT (sous Linux)
Exemple de règles :
alert tcp any any -> 192.168.0.0/16 80 (flags :A ; content : “passwd”; msg:
“detection de `passwd’ “ ;)
Cette règle permet de générer un message d’alerte “detection de passwd” lorsque le trafic à destination
d’une machine du réseau local 192.168.0.0/16 vers le port 80, contient la chaîne « passwd » (spécifié
par l’utilisation du mot-clé « content »), et que le flag ACK du header TCP est activé (flags : A).
Exemple de règles :
alert tcp any any -> any any (content: “www.youtube.com” ; msg: ’’visite
youtube actuellement’’; sid:1000002; )
Cette règle permet de générer un message d’alerte ’’visite youtube actuellement’’ à chaque fois qu'un
utilisateur visite youtube.
Exemple de règles :
❑ SNORT ne permet pas d'envoyer de mail directement, étant donné son rôle premier de sniffer qui est
gourmand en ressource.
▪ L'envoi de mail d'alerte ralentirait SNORT .
▪ Pour cela, SNORT a été conçu pour interagir facilement avec le deamon syslogd afin que ce dernier génère
les futurs logs qui peuvent être instantanément parsés par d'autres applications telles que "logsurfer" ou
encore "swatch" respectivement.
❑ SNORT est aussi capable d'adopter des comportements visant à interdire l'accès à certaines adresses IP, dans
le cas où ces dernières auraient tenté de pénétrer le réseau.
▪ SNORT peut alors interagir avec le firewall afin qu'il mette à jour ses règles d'accès pour empêcher tout
contact avec l'éventuel pirate.
https://www.youtube.com/watch?v=bG8Xb02Lrs4