Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre 3 Ids

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Enseignant : Ichrak ELBehi

Chapitre 3 : Détection d'attaques : les IDS

A-1. Les systèmes de détection d'intrusions (IDS)

Définition : ensemble de composants logiciels et matériels dont la fonction


principale est de détecter et analyser toute tentative d'effraction (volontaire ou
non).

Fonctions : détection des techniques de sondage (balayages de ports,


fingerprinting), des tentatives de compromission de systèmes, d'activités
suspectes internes, des activités virales ou encore audit des fichiers de journaux
(logs).

Remarque : utopiquement, il s'agit d'un système capable de détecter tout type


d'attaque.

Certains termes sont souvent employés quand on parle d'IDS :

 Faux positif : une alerte provenant d'un IDS, mais qui ne correspond
pas à une attaque réelle.
 Faux négatif : une intrusion réelle qui n'a pas été détectée par l'IDS
A-2. Les systèmes de détection d'intrusions « réseau » (NIDS)

Objectif : analyser de manière passive les flux en transit sur le réseau et détecter
les intrusions en temps réel.

Un NIDS écoute donc tout le trafic réseau, puis l'analyse et génère des alertes si
des paquets semblent dangereux.

Les NIDS étant les IDS plus intéressants et les plus utiles du fait de
l'omniprésence des réseaux dans notre vie quotidienne, ce document se
concentrera essentiellement sur ce type d'IDS.

A-3. Les systèmes de détection d'intrusions de type hôte (HIDS)

Un HIDS se base sur une unique machine, n'analysant cette fois plus le trafic
réseau, mais l'activité se passant sur cette machine. Il analyse en temps réel les
flux relatifs à une machine ainsi que les journaux.

1
Un HIDS a besoin d'un système sain pour vérifier l'intégrité des données. Si le
système a été compromis par un pirate, le HIDS ne sera plus efficace. Pour parer
à ces attaques, il existe des KIDS (Kernel Intrusion Detection System) et KIPS
(Kernel Intrusion PreventionSystem) qui sont fortement liés au noyau. Ces types
d'IDS sont décrits un peu plus loin.

A-4. Les systèmes de détection d'intrusions « hybrides »

Généralement utilisés dans un environnement décentralisé, ils permettent de


réunir les informations de diverses sondes placées sur le réseau. Leur appellation
« hybride » provient du fait qu'ils sont capables de réunir aussi bien des
informations provenant d'un système HIDS qu'un NIDS.

L'exemple le plus connu dans le monde Open-Source est Prelude. Ce framework


permet de stocker dans une base de données des alertes provenant de différents
systèmes relativement variés. Utilisant Snort comme NIDS, et d'autres logiciels
tels que Samhain en tant que HIDS, il permet de combiner des outils puissants
tous ensemble pour permettre une visualisation centralisée des attaques.

Remarque : nous parlerons de tous ces produits plus tard dans ce document, en

A-5. Les systèmes de prévention d'intrusions (IPS)

Définition : ensemble de composants logiciels et matériels dont la fonction


principale est d'empêcher toute activité suspecte détectée au sein d'un système.

Contrairement aux IDS simples, les IPS sont des outils aux fonctions « actives »,
qui en plus de détecter une intrusion, tentent de la bloquer. Cependant, les IPS
ne sont pas la solution parfaite comme on pourrait le penser.

Plusieurs stratégies de prévention d'intrusions existent :

 host-based memory and process protection :surveille l'exécution des


processus et les tue s'ils ont l'air dangereux (buffer overflow). Cette
technologie est utilisée dans les KIPS (Kernel Intrusion Prevention
System) que nous décrivons un peu plus loin ;
 session interception / session sniping : termine une session TCP avec
la commande TCP Reset : « RST ». Ceci est utilisé dans les NIPS
(Network Intrusion Prevention System) ;
 gateway intrusion detection : si un système NIPS est placé en tant
que routeur, il bloque le trafic ; sinon il envoie des messages à d'autres
routeurs pour modifier leur liste d'accès.

2
Un IPS possède de nombreux inconvénients. Le premier est qu'il bloque toute
activité qui lui semble suspecte. Or, il est impossible d'assurer une fiabilité à
100 % dans l'identification des attaques. Un IPS peut donc malencontreusement
bloquer du trafic inoffensif ! Par exemple, un IPS peut détecter une tentative de
déni de service alors qu'il s'agit simplement d'une période chargée en trafic. Les
faux positifs sont donc très dangereux pour les IPS.

Le deuxième inconvénient est qu'un pirate peut utiliser sa fonctionnalité de


blocage pour mettre hors service un système. Prenons l'exemple d'un individu
mal intentionné qui attaque un système protégé par un IPS, tout en spoofant son
adresse IP. Si l'adresse IP spoofée est celle d'un nœud important du réseau
(routeur, service Web…), les conséquences seront catastrophiques. Pour pallier
ce problème, de nombreux IPS disposent des « white lists », c'est-à-dire des
listes d'adresses réseau qu'il ne faut en aucun cas bloquer.

Et enfin, le troisième inconvénient et non le moindre : un IPS est peu discret. En


effet, à chaque blocage d'attaque, il montre sa présence. Cela peut paraître
anodin, mais si un pirate remarque la présence d'un IPS, il tentera de trouver une
faille dans celui-ci afin de réitérer son attaque… mais cette fois en passant
inaperçu.

Voilà pourquoi les IDS passifs sont souvent préférés aux IPS. Cependant, il est
intéressant de noter que plusieurs IDS (ex. : Snort, RealSecure, Dragon…) ont
été dotés d'une fonctionnalité de réaction automatique à certains types
d'attaques.

A-6. Les systèmes de prévention d'intrusions « kernel » (KIDS/KIPS)

Nous l'évoquions précédemment 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.

Prenons l'exemple d'un serveur web, sur lequel il serait dangereux qu'un accès
en lecture/écriture dans d'autres répertoires que celui consultable via HTTP, soit
autorisé. En effet, 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. Le KIPS peut également
interdire l'OS d'exécuter un appel système qui ouvrirait un shell de commandes.

3
Puisqu'un KIPS analyse les appels systèmes, il ralentit l'exécution. 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.

A-7. Les firewalls

Les firewalls ne sont pas des IDS à proprement parler, mais ils permettent
également de

stopper des attaques. Nous ne pouvions donc pas les ignorer.

Les firewalls sont basés sur des règles statiques afin de contrôler l'accès des flux.
Ils travaillent en général au niveau des couches basses du modèle OSI (jusqu'au
niveau 4), ce qui est insuffisant pour stopper une intrusion. Par exemple, lors de
l'exploitation d'une faille d'un serveur Web, le flux HTTP sera autorisé par le
firewall puisqu'il n'est pas capable de vérifier ce que contiennent les paquets.

Il existe trois types de firewalls :

 les systèmes à filtrage de paquets sans état : analysent les paquets les
uns après les autres, de manière totalement indépendante ;
 les systèmes à maintien d'état (stateful) : vérifient que les paquets
appartiennent à une session régulière. Ce type de firewall possède une
table d'états où est stocké un suivi de chaque connexion établie, ce qui
permet au firewall de prendre des décisions adaptées à la situation.

Ces firewalls peuvent cependant être outrepassés en faisant croire que les
paquets appartiennent à une session déjà établie ;

 les firewalls de type proxy : le firewall s'intercale dans la session et


analyse l'information afin de vérifier que les échanges protocolaires
sont conformes aux normes.
A-8. Les technologies complémentaires

Les scanners de vulnérabilités : systèmes dont la fonction est d'énumérer les


vulnérabilités présentes sur un système. Ces programmes utilisent une base de
vulnérabilités connues (exemple : Nessus).

Les systèmes de leurre : le but est de ralentir la progression d'un attaquant, en


générant des fausses réponses telles que renvoyer une fausse bannière du serveur
Web utilisé.
4
Les systèmes de leurre et d'étude (Honeypots) : le pirate est également leurré,
mais en plus, toutes ses actions sont enregistrées. Elles seront ensuite étudiées
afin de connaître les mécanismes d'intrusion utilisés par le hacker. Il sera ainsi
plus facile d'offrir des protections par la suite.

Les systèmes de corrélation et de gestion des intrusions (SIM - Security


Information Manager) : centralisent et corrèlent les informations de sécurité
provenant de plusieurs sources (IDS, firewalls, routeurs, applications…). Les
alertes sont ainsi plus faciles à analyser.

Les systèmes distribués à tolérance d'intrusion : l'information sensible est


répartie à plusieurs endroits géographiques, mais des copies de fragments sont
archivées sur différents sites pour assurer la disponibilité de l'information.
Cependant, si un pirate arrive à s'introduire sur le système, il n'aura qu'une petite
partie de l'information et celle-ci lui sera inutile.

Vous aimerez peut-être aussi