• Aucun résultat trouvé

3.8 Notre application de filtrage des alertes

3.8.2 Les données utilisées

Les expériences implémentées dans ces travaux utilisent des journaux d’alertes issus d’un NIDS basé sur l’approche de détection par abus et déployé dans un environnement opérationnel (c.-à-d. en temps réel).

L’utilisation des alertes des environnements réels plutôt que des environnements simulés ou de labo-ratoire est considéré comme point fort de notre validation car l’utilisation de données simulées a beau-coup de limites significatives [129].

Ces données sont des journaux extraits du NIDS SNORT qui surveille le réseau du rectorat de Rouen. Le journal principal est le résultat de 20 jours d’alertes générées entre 20/11/2005 et 10/12/2005. Cette base contient approximativement 32000 alertes de 406 types différents. Nous voulons dire par type

F. 3.11 – Fonctionnement général du système. X1 Xn a1X1 anXn y1 ym

Vecteur Forme composé de n variables

Vecteur Forme pondéré composé de n variables Vecteur Forme de m variables types Classe Données Brutes Fichiers de Log Construction des Caractéristiques Pondération des Caractéristiques Projection dans un espace de dimension inférieures Construction de la fonction de décision Classification Prétraitement Pondération Projection

F. 3.12 – Chaîne de traitement, des données brutes à la décision. On voit ici les tâches utiles à la prise de décision, à savoir le pré-traitement temporel, spatial et enfin la classification.

d’alertes la description que donne SNORT à chaque alerte générée lors d’une tentative d’attaque. Un extrait d’un journal issu de SNORT est donné par la figure 3.13 dans lequel le type d’alerte est encadré.

Nous avons utilisé le logiciel tcpdump pour collecter les en-têtes des paquets qui traversent le réseau. Quelques champs d’intérêt contenus dans les en-têtes sont listés dans la table 3.1.

Ces alertes sont générées lors des tentatives de connexions de 4638 machines externes vers 288 machines internes. Parmi toutes ces alertes, il y a effectivement 16 scénariis d’attaques réelles et les autres sont des fausses alertes générées par SNORT.

Le tableau 3.2 contient les informations détaillées de ces scénariis d’attaques. Ces scénariis sont étiquetés par un expert de sécurité. Notons que durant un intervalle de temps où une machine interne est visée par une attaque il y a aussi des connexions qui sont normales et seules les connexions visant la machine attaquée sont étiquetées comme attaques et pas toutes les connexions durant l’intervalle du temps où se deroule l’attaque.

3.9. Conclusion

F. 3.13 – Extrait du fichier de log généré par SNORT. T. 3.1 – Les champs des en-têtes des paquets

Champs Définition

Timestamp le temps de réception du paquet par tcpdump Source La machine qui a envoyé le paquet

Destination La machine qui a recu le paquet

Protocol Le protocole utilisé pour envoyer le paquet Source Ports le service duquel le paquet est envoyé Destination Ports le service auquel le paquet est destiné

3.9 Conclusion

Nous avons présenté tout au long de ce chapitre les qualités requises des systèmes de détection d’in-trusions. Afin de remplir ces objectifs, diverses méthodes de détection d’intrusions ont été proposées. Elles se basent principalement sur deux principes de détection : la détection par anomalie et la détection par abus. Nous avons expliqué ces deux principes de détection et avons souligné les limites des systèmes de détection d’intrusions basés réseau. Afin de résoudre ces limites, nous proposons une architecture de filtrage des alertes pour réduire l’énorme pourcentage des faux positifs et donner à l’administrateur de sé-curité les vrais scénariis d’attaques. Le prochain chapitre s’intéresse à la première phase de l’architecture c.à.d le prétraitement des journaux d’alertes.

T. 3.2 – Description des scénariis d’attaques qui se trouvent dans nos données d’expérience .

# Date Temps IP source IP destination Type d’attaque

1 20/11 22h22m–24m 26.129.74.64 189.195.45.196 Force Brute

2 21/11 10h01m–07m 166.142.155.109 189.195.45.153 Force brute sur

POP3

3 21/11 10h12m–12h08m 52.193.19.174 189.195.45.153 Force brute sur

POP3

4 21/11 18h09m–27m 52.216.28.178 189.195.45.153 Trop d’erreurs

403

5 24/11 03h05m–28m 164.208.69.215 189.195.45.196 Force Brute sur

FTP 6 27/11 28/11 01h55m–05h07m 13h–22h 13.211.154.17 189.195.45.196 Crawler Web

7 30/11 15h04m–15m 166.153.58.194 189.195.45.153 Force brute sur

POP3

8 01/12 13h18m–51m 13.239.107.150 189.195.45.111 Scanner de

Vul-nérabilité

9 01/12 14h51m–17h45m 67.9.150.34 189.195.45.196 Force Brute

10 03/12 18h52m–19h58m 26.134.107.153 189.195.0.235 attaque SNMP

11 06/12 00h58m–01h27m 52.38.169.27 189.195.45.196 Force Brute sur

FTP 12 07/12 01h40m–42m 164.224.118.173 189.195.45.196 Scanner de Vul-nérabilité 13 08/12 01h23m–39m 204.226.180.106 189.195.45.33 Attaque Web contre IIS 14 09/12 08h15m–31m 67.97.250.21 189.195.45.153 Force Brute contre POP3 15 09/12 16h29m–33m 81.255.23.129 189.195.45.196 Attaque Web IIS contre un Apache 16 09/12 18h55m–19h21m 189.195.45.196 Fichiers MP3 echangés via FTP

Chapitre

4

Prétraitement et Découverte des

Comportements types

Comme cela a été évoqué dans le chapitre précédent, notre architecture est une combinaison de deux méthodes de classification : la première non supervisée, dont le rôle est de découvrir des comportements types de l’activité des machines du réseau interne et la seconde supervisée, utilisant ces comportements pour détecter si le réseau a été réellement attaqué. Ce chapitre présente les différentes études que nous avons faites sur la classification non supervisée des alertes générées par les NIDS. Nous présentons d’abord une brève introduction sur le sujet du Clustering et les méthodes principales utilisées. Nous dé-crivons en détail l’algorithme des K-moyennes, celui de la carte de Kohonen et leurs variantes. Ensuite, nous présentons l’application du Clustering sur notre problème, application dans laquelle nous traitons deux phases de prétraitement de données : temporel et spatial. Dans la première phase, nous abordons le choix des fenêtres temporelles et la normalisation de données. Dans la seconde nous appliquons trois méthodes de Clustering : K-means, SOM et GHSOM et enfin nous analysons les résultats obtenus.

Sommaire

4.1 Une introduction au Clustering . . . . 44

4.2 Application . . . . 53

4.3 Découverte de comportements-types par SOM et K-Moyennes . . . . 57

4.4 Découverte de comportements-types par GHSOM . . . . 69

4.1 Une introduction au Clustering

Le Clustering cherche à regrouper des objets dans des catégories (appelées clusters) de sorte que les objets dans une catégorie donnée soient semblables, alors qu’ils sont différents des objets des autres catégories [7, 9, 74, 88]. Le degré de similarité entre une paire d’objets est mesuré par un indice de proximité. Nous récapitulons les indices de proximité les plus largement répandus dans la section 4.1.1. La section 4.1.2 donne une revue sur quelques méthodes populaires de Clustering. La section 4.1.3 discute la qualité de Clustering. Les sections 4.1.5, 4.1.4 présentent deux méthodes de Clustering : K-meanset SOM et leurs variantes.

Les notations sont comme suit : Soit D la base de données à regrouper et n sa taille (i.e. n = |D|). Les éléments dans D sont désignés sous le nom d’objets. Les objets xi ∈ D sont représentés en vecteurs de dimension p, i.e. xi =(xi1, . . . ,xip), i = 1, . . . , n où xi1, . . . ,xipsont appelés les attributs.