Contributions futures du CRIL dans le cadre de l’ACI Daddi Présenté par : S. Benferhat benferhat@cril.univ-artois.fr
Contributions futures du CRIL dans le cadre de l’ACI Daddi Complémentarité « Comportementale/signature » Réseaux bayésiens (RB) / arbres de décision (AD) Extensions AD et RB Vers la décision et le diagnostic
Plan Brefs rappels Quelques mots sur : Deux mots sur : RB et AD Base KDD (Dico) Quelques mots sur : Complémentarités Une extension RB Deux mots sur : Extensions AD Autres extenstions des RB Vers la décision et le diagnostic
Réseaux Bayésiens (RB) C Flag Duration Protocol_ type … Causalité + probabilités Dans le contexte de détection d’intrusion : Réseaux Bayésiens naïfs (Valdes, projet DICO) Deux niveaux: un nœud racine (variable non-observable) et plusieurs nœuds fils (variables observables) Construction des RBN est très simple (structure unique) Inférence (classification) est linéaire Pb. hypothèse d ’indépendance très forte!
Arbre de décision (AD) Arbre de décision Une technique de classification Expression simple de la connaissance. Compréhension et interprétation facile des résultats.
Arbre de décision Forme=carré Forme=rond Racine Nœud interne Feuille Couleur Rouge Vert Jaune Forme=carré Forme=rond 3D Bleu 2D Vrai Faux Test Modalités du test
Données utilisées dans DICO KDD’99 (données DARPA) 10% du training set: 494019 connections 10% du testing set: 311029 connections 38 attaques (dont certaines sont nouvelles) 41 attributs (certains ont été rajoutés par des experts)
Liste des attaques Denial of Service Attacks (DOS) User to Root Attacks (U2R) Remote to User Attacks (R2L) Probing Testing Training 1,34% 0,07% 5,21% 73,9% 19,48% 0,83% 0,01% 0,23% 79,24% 19,69% Prob. U2R R2L DOS Normal
Récapitulatif des résultats NaïveBayes PCC 92.06% 91.47% Normal 99.50% 97.68% DoS 97.24% 96.65% R2L 0.52% 8.66% U2R 13.60% 11.84% Probe 77.92% 88.33%
Conclusions des résultats de C4.5 et Naive Bayes pour KDD’99 Aucune technique n’est meilleure dans les quatre catégories d’attaques Toutes les techniques sont faibles dans la détection des attaques rares en générale, R2L et U2R en particulier Alternative : Exploiter la complémentarité
Complémentarités (travail très préliminaire): - Comportementale/signature - Réseaux bayésiens (RB) / arbres de décision (AD)
Retour sur les résultats C4.5 NaïveBayes PCC 92.06% 91.47% Normal 99.50% 97.68% DoS 97.24% 96.65% R2L 0.52% 8.66% U2R 13.60% 11.84% Probe 77.92% 88.33% Remarques : - Résultats sur testing base, et non training base! - Une fonction de combinaison simple n’est pas satisfaisants
Combinaison de C4.5 et NaïveBayes dans un méta-classificateur hybride Méta-calssificateur « Connexion » NaïveBayes C4.5 Catégorie de la connexion
Principe du méta-classificateur hybride la majorité des erreurs de classification sont des faux négatifs la majorité des erreurs de classification sont d’origines R2L et U2R Gérer différemment les prédictions de NaïveBayes et C4.5 pour traiter les: vrais/faux négatifs vrais/faux positifs
Principe du méta-classificateur hybride Traitement des vrais/faux positifs (la classe prédite par les deux classificateurs n’est pas la classe normale) Traitement des vrais/faux négatifs (au moins, l’un des classificateurs a prédit la classe normale) - Confirmation des prédictions de la classe normale ou - Correction de ces prédictions. Utiliser des informations externes (info. Disponibles sur la construction de la base et des attaques)
Traitement des vrais/faux positifs: Fusion élémentaire Fusion des distributions de probabilités associées par NaïveBayes et C4.5 à la connexion à classifier. Sélection de la classe la plus probable
des vrais/faux positifs Traitement « naïf » des vrais/faux positifs Si (C4.5(a)≠ Normal) et (NaïveBayes(a) ≠ Normal) alors Si C4.5(a) = R2L ou NaïveBayes(a) = R2L alors Meta-NB-C4.5(a) :=R2L ; Sinon Si C4.5(a) = U2R ou NaïveBayes(a) = U2R alors Meta-NB-C4.5(a) :=U2R ; Pour k :=0 à 39 faire %40 nbre de classes% d_Meta [k] :=0.5*(d_C4.5[k] + d_NB[k]) ; Fin pour ; c_Meta :=Argmaxk(d_Meta[k]) ; Meta-NB-C4.5(a) :=Catégorie(c_Meta) ; Fin si ;
Principes du traitement des vrais/faux négatif Confirmer ou corriger les prédictions de la classe normale nécessite de recourir à: l’approche comportementale pour distinguer entre vrais et faux négatifs un mécanisme permettant d’identifier la catégorie d’attaques des connexions reconnues comme faux négatifs
Schéma général pour le traitement des vrais/faux négatifs vrai/faux négatif ? vrai négatif ? Catégorie(a) :=Normal Fausse alerte ? Identification de la catégorie d’attaque du faux négatif. Oui Non NaïveBayes(a)= Normal C4.5(a)= Procédure de distinction entre vrais et faux négatifs Compor- tementale Info. externes
Distinction entre vrais/faux négatifs Modélisation des connexions normales dans les données d’apprentissage Élaboration d’une mesure de similarité pour juger le degré de normalité d’une connexion (similarité avec le modèle des connexions normales) Vérifier si les connexions reconnues anormales ne constituent-elles pas des fausses alertes
wi représente le poids associé à l’attribut ai Mesure « naïve » de distance d’une connexion avec le modèle des connexions normales wi représente le poids associé à l’attribut ai Dist(ai, âi) représente la distance entre l’attribut ai de la connexion avec l’attribut correspondant dans le modèle des connexions normales âi.
Mesure « naïve » de distance d’une connexion avec le modèle des connexions normales Si ai est continu : Si ai est discret ou symbolique :
Mesure « naïve » de distance d’une connexion avec le modèle des connexions normales Décider si la connexion représentée par le vecteur d’attributs a est normale ou anormale Si Dist(a, â) < α alors a est normale ; Sinon a est anormale ; Fin si Avec
Traitement des vrais/faux négatifs Traitement des fausses alertes (loin de la norme) La connexion déclarée anormale est-elle une connexion R2L ou U2R? Dans KDD’99, ce sont certains attributs relatifs au contenu qui renseignent le plus sur ces deux types d’attaques Si tous les attributs relatifs au contenu sont nuls, alors cette connexion est normale (rien n’indique qu’elle est R2L ou U2R)
Identification « naïve » de la catégorie d’attaques des connexions déclarées anormales Distinction entre attaques DoS/Probe et R2L/U2R sur la base des attributs relatifs à l’aspect temporel des connexions Distinction entre DoS et Probe sur la base des attributs relatifs à l’hôte de destination Distinction entre attaques R2L et U2R sur la base des attributs relatifs au contenu et la sémantique de ces deux catégories d’attaques
Exemple de règle de distinction entre attaques DoS/Probe d’un côté et R2L/U2R d’un autre côté Si ((count >100) ou (duration <=1)) alors Catégorie(a) ∊ {DoS,Probe}; Sinon Catégorie(a) ∊ {R2L, U2R}; Fin si;
Un autre exemple de règle de distinction entre attaques DoS et Probe Si ((count >100) et (srv_count >50)) alors Catégorie(a) :=DoS ; Sinon Si ((duration <=1) et (dst_host_same_srv_rate >0.718)) alors Si ((count >100) et ((srv_count <=50) ou (dst_host_diff_srv_rate>0.59)) alors Catégorie(a) :=Probe ; Fin si;
Future mise en œuvre du méta-classificateur Catégorie(connexion) C4.5 NaïveBayes Traitement des vrais/faux positifs Traitement des vrais/faux négatifs Méta- classificateur Connexion Ensemble de classificateurs Sous-système 1 Sous-système 2
Les réseaux naïfs crédibilistes
Exemple (1) … Nature des connexions Ensemble d’apprentissage (détection d’intrusion) Protocole Service Flag Classe tcp http SF Normal RSTO REJ Probing time SO DOS auth private udp domain_u …
DOS avec degré 1 et U2R avec un autre degré 2 Protocole Service Flag Classe tcp http SF Normal RSTO REJ Probing ou DOS time Probing SO DOS auth ? private DOS avec degré 1 et U2R avec un autre degré 2 udp domain_u
Idée Utilisation de la théorie des fonctions de croyance qui permet: L'expression des croyances partielles. La possibilité d'exprimer l'ignorance partielle ou totale. Le traitement des jugements subjectifs et personnels. La représentation des informations mathématiques et épistémiques.
Concepts de base Fonction de masse de croyance élémentaire (bba) Partie de croyance attribuée exactement à A m: 2 [0,1] Fonction de croyance (bel) bel(A) Croyance totale attribuée à A
m{I2}(probing DOS) =1; m1{I2} () = 0 Exemple m{I2}(probing DOS) =1; m1{I2} () = 0 Protocole Service Flag Classe tcp http SF m{I1} RSTO m{I2} REJ m{I3} time m{I4} SO m{I5} auth m{I6} m{I7} private m{I8} m{I9} m{I10} m{I11} m{I12} udp domain_u m{I13} m{I14} m{I15} m{I16} m{I17}
Réseaux Bayésiens (RB) La base de test de KDD’99 contient des incohérences Etudier des formes générales de RB (simplement connectés, TAN, etc) Adapter les réseaux causaux pour: prise en compte de nouveaux cas et détecter de nouvelles attaques diagnostics et explications Développer les diagrammes d ’influences: intégrer la notion de risque et de décision Développer des réseaux causaux basés sur les fonctions de croyances
Arbre de décision (AD) Développer des arbres de décisions possibilistes prise en compte des données manquantes/incertaines Adapter les arbres de décisions pour les problèmes de détection d ’intrusions Développer des meta-classificateurs complémentarité RB/AD