• Aucun résultat trouvé

DATA MINING ET DÉTECTION D’INTRUSION

3.6 Quelques Techniques de Datamining appliquées à la détection d’intrusiondétection d’intrusion

3.6.2 Arbre de décision

L’arbre de décision[59] est une structure de donnée hiérarchique implémentant la stratégie "diviser pour régner" qui consiste à identifier des sous problèmes, à leur trouver une solution,

puis à combiner ces solutions pour résoudre le problème général. C’est une méthode non-paramétrique très efficace qui est utilisée, en datamining, pour représenter aussi bien les modèles de classification que ceux de la régression. Elle est dite non-paramétrique dans le sens où aucune hypothèse n’est faite sur les densités des classes et la structure de l’arbre n’est pas fixée à priori mais nœuds et branches sont ajoutés durant le processus d’apprentissage selon la complexité du problème inhérent aux données[124]. Un arbre de décision est un arbre dirigé(un graphe connexe acyclique), qui peut être binaires ou n-aires, dans lequel :

— Chaque nœud intérieur, dit nœud de décision, correspond à un attribut décrivant les données,

— Chaque branche entre un nœud père et un nœud fils représente un test sur l’attribut de son nœud père. Usuellement, chaque test, associé à un nœud de décision, compare la valeur d’un unique attribut à une constante(Fig. 3.9), cependant, il existe des arbres dont les tests implémentent des fonction à un ou plusieurs attributs. Les réponses possibles aux tests correspondent aux étiquettes des branches issus de ce nœud[415].

— Chaque feuille représente la décision d’appartenance d’une instance de données à une classe vérifiant tous les tests du chemin menant de la racine à une feuille. Chaque chemin aboutissant à une feuille représente une règle conjonctive de classification.

Figure 3.9 – Arbre de Décision Simple

Étant donné une base d’apprentissage, dans laquelle chaque instance de donnée est décrite avec un ensemble d’attributs, le processus de construction de l’arbre de décision consiste à[415]

— Créer le nœud racine de l’arbre

— Choisir un attribut à placer dans le nœud racine

— Faire étendre une branche pour chaque valeur possible de l’attribut choisi. Ce la revient à diviser l’ensemble des données en un nombre de sous ensemble, un pour chaque valeur, — Répéter récursivement ce processus pour chaque branche ainsi crée en ne considérant que les instances de données ayant effectivement atteint cette branche. Si à un moment donné, tout les instances de donnée d’un nœud sont de la même classe on arrêt le développement de cette partie de l’arbre.

L’attribut sélectionné à chaque nœud, et la manière dont sa valeur doit être catégorisée sont choisis de façon à ce que les partitions résultantes soient "pures" dans la mesure du possible. L’impureté d’un nœud est généralement mesurée à l’aide de deux mesures : L’entropie et le coefficient de Gini.

1. L’entropie mesure la quantité du désordre ou de l’incertitude. Une partition ayant une faible entropie est relativement "pure" par contre une forte entropie exprime le fait que la

partition est un mélange de classes. En théorie d’information l’entropie d’une partition ou région D est définie comme suit :

H(D) = −XK

i=1

P(ci|D)log2P(ci|D)

où P (ci|D) est la probabilité de la classe ci dans D et K est le nombre de classes. Si la région est pure alors l’entropie est nulle et atteindra sa valeur maximale log2K si D est un mélange de classes ayant la même probabilité P (ci|D) = 1

K. Si à un nœud la région D est scindée en deux sous-partition D1 et D2 alors l’entropie globale à ce nœud est donnée :

H(D1, D2) = n1

n H(D1) + n2

n H(D2) où n, n1 et n2 représentent respectivement |D|, |D1| et |D2|.

Le Gain d’information apporté par chaque point de division(attribut) est défini, en terme de théorie de l’information, par :

Gain(|D|, |D1|, |D2|) = H(D) − H(D1, D2)

Ainsi, l’attribut pour lequel le gain d’information est le plus élevé sera choisi.

2. Le coefficient de Gini, basé sur l’entropie de Shannon, mesure la probabilité que deux instances de données, choisies aléatoirement(avec remise) dans un nœud, appartiennent à deux classes différentes. Pour un nœud t, le coefficient de Geni est défini comme suit :

G(D) = 1 −XK

i=1

P(ci|D)2

Si la partition D est pure, la probabilité de la classe majoritaire est égale à 1 et celle des autres classes vaut 0 et le coefficient de Gini vaut 0. Dans le cas où toutes les classes constituant D ont la même probabilité P (ci|D) = 1

K, alors le coefficient de Gini vaut

K−1

K . Une partition ayant un faible coefficient de Gini est relativement "pure" par contre une forte valeur du coefficient de Gini exprime le fait que la partition est un mélange de classes(la quantité de désordre est importante). Le coefficient de Gini "weighted" peut être calculé par :

G(D1, D2) = n1

n G(D1) + n2

n G(D2).

où n, n1 et n2représentent respectivement le nombres d’instances de données dans D, D1

et D2. Le Gain d’information apporté par chaque point de division(attribut) est défini par :

Gain(|D|, |D1|, |D2|) = G(D) − G(D1, D2)

L’attribut pour lequel le gain d’information est le plus élevé sera choisi.

Il est à noté qu’en plus de l’entropie et du coefficient de Gini, il existe d’autre mesures qui sont aussi utilisées pour choisir le point de division d’une région nous citons en particulier le critère du χ2 est celui de Lerman[242].

Selon Frank[148], les arbres de décision sont un exemple typique des méthodes de classifica-tion bien adaptées à la détecclassifica-tion d’intrusion. Il s’avèrent très utiles pour trouver les structures dans des espaces à hautes dimensions et sont aussi utiles pour les mixtures continues et pour les données catégoriques, cependant ils ne sont pas appropriés aux problèmes non linéaires multivariés[349]. Dans le domaine de la détection d’intrusion, les arbres de décision on été

exclusivement utilisés pour la détection des abus d’utilisation car, selon [401], ils ne sont pas appropriés pour la détection des anomalies de plus, ils ne sont pas en mesure de détecter de nouvelles classes d’attaque, en général une nouvelle attaque est affectée à une classe par défaut comme est le cas l’algorithme C4.5 qui affect une nouvelle attaque à la classe "Normale". Ce-pendant Bouzida et Cuppens[56] ont proposé une version modifiée du C4.5 dans laquelle une attaque nouvelle/inconnue est affectée à une nouvelle classe étiquetée "Inconnue". De leur côté Oha et al [331] ont tenté de réduire le taux des faux positif en revoyant la maniéré dont l’arbre est construit, la sélection des attributs produisant le moins de faux positifs et en prenant en considération les problèmes de sur échantillonnage des données d’apprentissage ainsi que les dif-férents types d’erreurs pouvant être produits. Testée sur les données "KDD’99", cette nouvelle version s’est avérée plus performante que la version original mais a enregistré un taux de faux négatif plus élevé. Les test effectués par ben Amor et Al[47] sur les données KDD’99 ont montré que les arbres de décision fournissent des résultats légèrement meilleurs que ceux données par les classificateurs bayésiens naïfs, cependant le processus de construction de l’arbre de décision est plus lent. Utilisant le même jeux de données, G. Stein et Al[379] ont combiné les arbres de décision avec une technique de sélection d’attributs basée sur un algorithme génétique. Les attributs les plus appropriés ainsi obtenus sont utilisés pour construire l’arbre de décision qui a apporté un gain en détection pour certaines classes d’attaques(23 % pour l’attaque PROBE). Dans le même contexte, Sheen et Al[365] ont comparé les performances des arbres de décision combinés avec trois techniques de sélection d’attributs à savoir : χ2, Gain d’information et Re-lefF. Les résultat obtenus ont montré que la technique du chi2 et celle du Gain d’information avaient des résultats équivalents et que la technique ReliefF[226] avait de faible performances.