• Aucun résultat trouvé

Exemple de projection des données non linéaires dans une forme linéaire dans un nouvel

niveau 2 et (d) une pondération de niveau 3

5.7 Exemple de projection des données non linéaires dans une forme linéaire dans un nouvel

elle-même : L(w, b, α) = l X i=1 αi12 l X i=1 l X j=1 yiyjαiαjK(xi.xj) (5.7) Les fonctions noyaux les plus utilisées sont :

– fonctions polynomiales :K(xi.xj) = [xi.xj+1]d

– fonctions à base radiale (RBF) :K(xi.xj) = exp(|xi−xj|2 σ2 )

– fonctions sigmoïdes :K(xi.xj) = tanh(γ(xi− xj) + c)

5.4 Application

Dans cette section, nous présentons l’application de deux méthodes de classification supervisée : les réseaux bayésiens et les SVM sur notre problématique. Nous commencons par la description des variables utilisées. Nous passons ensuite à la description détaillée des algorithmes mis en oeuvre. Fina-lement, nous présentons et discutons les résultats obtenus.

5.4.1 Approches

Nous commencons à partir des comportements types déterminés dans le chapitre précédent (§4.2.2.2) pour déterminer une synthèse de ces comportements types pour chaque machine interne (IPinterne) durant une fenêtre temporelle. Cette synthèse est représentative de différents attaques potentielles visant chaque machine interne dans cette fenêtre. Nous proposons deux manières pour réaliser cette synthèse :

(a) Expert1 : la distance entre chaque vecteur caractéristique de type (∆ti,IPexterne,IPinterne) qui résume le comportement de chaque couple de machines en connexion dans une fenêtre temporelle et les centres des comportements types présente le degré de similarité entre ce vecteur et les don-nées qui y sont projetées. Alors, chaque vecteur a un degré de représentation ou similarité avec chacun de ces comportements types. Par conséquent, nous pouvons calculer pour chaque machine interne le degré d’appartenance à chacun des comportements types. On obtient un vecteur de la forme suivante : X(windk,IPinterne) = ( Nk,IP X j=1 dist2clust1, . . . , Nk,IP X j=1 dist2clustn) où :

5.4. Application – clusti: le comportement type i,

– dist2clusti: distance entre le vecteur S (windk,IPexterne,IPinterne) et le centre du clusti,

– Nk,IP: nombre de vecteurs S (windk,∗, IPinterne) visant la machine IPinterne dans la fenêtre tem-porelle windk.

Pour pouvoir comparer le profil de deux machines internes différentes, les vecteurs obtenus sont normalisés en divisant chaque attribut par Nk,IP.

(b) Expert2 : dans la deuxième approche, chaque vecteur caractéristique est représenté par le bmu du comportement où il est projeté. Alors, nous pouvons calculer pour chaque machine interne le nombre de comportements types associés dans une fenêtre temporelle. On obtient un vecteur de la forme suivante :

Y(windk,IPinterne) = [NBo f clust1, . . . ,N Bo f clustn] où NBo f clusti est le nombre de comporte-ments types (i) détectés associé à cette (IPinterne) dans une fenêtre temporelle windk.

La synthèse des comportement-types calculés pour chaque IPinterneest censée être représentative des divers types d’attaques potentielles visant chaque machine interne du réseau dans une fenêtre tempo-relle. Nous proposons d’employer ces informations pour déterminer si le réseau a été vraiment attaqué (ATT=true ou false ?). Pour implémenter cette tâche de classification, nous avons utilisé deux outils de classification : les réseaux bayésiens et les SVM.

5.4.2 Application des Réseaux Bayésiens

Rappelons que les réseaux bayésiens sont des modèles graphiques probabilistes utilisés pour la re-présentation des connaissances et le raisonnement dans l’incertain [147, 91, 93]. Ils utilisent des graphes acycliques dirigés pour représenter l’indépendance conditionnelle entre les variables et les probabilités conditionnelles (de chaque noeud sachant ses parents) pour exprimer l’incertain. L’avantage de ce type de réseaux se situe tout d’abord dans l’algorithme d’inférence. L’inférence peut se faire dans n’importe quel sens (et pas uniquement dans le sens entrée-sortie). L’autre grand avantage des RB est de pouvoir prendre en compte l’incertitude que l’on peut avoir sur les variables comme, par exemple, le fait que certaines variables ne soient pas connues, ou soient ambiguës.

Pour construire un réseau de ce type, il faut commencer par définir clairement les variables qui nous intéressent. La seconde étape consiste à établir le graphe d’indépendance conditionnelle entre les variables. Pour finir, il faut déterminer les distributions de probabilités conditionnelles de chaque noeud du graphe.

Définition des variables Nous possédons quatre familles de variables : tout d’abord les variables re-présentant l’état réel global du réseau (RESEAU), les variables rere-présentants l’état réel des machines internes locales (LOCi), les mesures fournies par les deux experts (Xi et Yi), le système d’exploitation des machines locales (OSi) et le type de serveur des machines locales (typei). La liste de ces valeurs, leurs types et les valeurs qu’elles peuvent prendre figurent dans la table (5.2). La densité de probabilité conditionnelle des variables continues est supposée gaussienne.

Graphe d’indépendance La structure (graphe) du réseau bayésien est ou bien fixée à l’avance comme le cas du réseau bayésien naïf, déterminée par un expert, ou apprise à partir des données. Dans cette étude, nous avons testé plusieurs structures de réseaux bayésiens correspondants à la nature de la tâche implémentée. Une étude détaillée sur ces structures est présentée dans la section 5.4.2.1.

Variable Descriptif Nature Valeurs pos-sibles

RESEAU état réel global du réseau discret Att, Norm

LOCi état réel de la machine

in-terne (i)

discret Att, Norm Xi= {x1. . .x25} mesures obtenues pour les

comportements types (Ex-pert1) de IPinterne(i)

continu R

Yi = {y1. . .y25} mesures obtenues pour les comportements types (Ex-pert2) de IPinterne(i)

continu R

OSi Système d’exploitation de la

machine interne IPinterne(i)

discret Unix, Window

typei Le type de serveur installé

sur cette machine IPinterne(i)

discret HTTP, FTP,

SMTP, ... T. 5.2 – Variables utilisés dans nos réseaux bayésiens.

Les probabilités conditionnelles De même, les probabilités conditionnelles peuvent être obtenues à partir d’un expert ou être apprises à partir des données. Dans cette étude, toutes les probabilités sont apprises à partir des données en utilisant la méthode du maximum de vraisemblance MV.

Les données Les synthèses des comportements types caclulés pour chaque machine interne par les deux experts constituent les deux bases de données d’expérimentations pour la phase de classification. Chacune de ces deux bases est divisée en deux parties : base d’apprentissage et base de test. La base d’apprentissage contient 11763 vecteurs et la base de test est constituée de 3759 vecteurs.

Notons ici, que la majorité des données dans les bases d’apprentissage et tests sont des données nor-males. Le pourcentage des vecteurs attaques est inférieur à 1%. Ce pourcentage va beaucoup influencer sur les performances obtenues.

5.4.2.1 Modélisation

Avant de déterminer la(es) structure(s) du(es) réseau(x) bayésien(s) utilisé(s), nous allons définir le cadre d’application des RB sur notre problématique. Nous proposons deux approches. La première "ap-proche brute", consiste à détecter l’état global du réseau (i.e. attaque ou normal) sans savoir sur quelle machine (IPinterne) l’attaque a été provoquée. La seconde, appelée "approche modulaire", consiste à détecter une attaque localement (LOC) pour chaque machine du réseau en fonction du vecteur carac-téristique mesuré par l’un des deux experts et les caraccarac-téristiques spécifiques de la machine locale. Les détections locales éventuelles sont ensuite utilisées pour estimer s’il y a une attaque globale sur le réseau.

5.4.2.2 Approche Brute

Dans cette approche, nous nous sommes intéressés à détecter l’état global du réseau (i.e. attaque ou normal) sans savoir sur quelle machine (IPinterne) l’attaque a été provoquée. Nous avons testé un réseau bayésien naïf pour chaque expert. Chaque réseau est constitué d’un noeud parent (RESEAU) et de (A = NIPinterne∗ X) noeuds enfants pour l’expert1 ou (A = NIPinterne∗Y) noeuds enfants pour l’expert2, avec

NIPinterneest le nombre de machines internes (figure 5.8). Ici, il existe une hypothèse d’indépendance forte

5.4. Application

F. 5.8 – Modélisation brute : utilisation d’un réseau bayésien naïf pour déterminer s’il y a une attaque