La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Contributions du CRIL dans le cadre de lACI Daddi Présenté par : S. Benferhat

Présentations similaires


Présentation au sujet: "1 Contributions du CRIL dans le cadre de lACI Daddi Présenté par : S. Benferhat"— Transcription de la présentation:

1 1 Contributions du CRIL dans le cadre de lACI Daddi Présenté par : S. Benferhat

2 2 Hybridation, évaluation, imprécision et détection anticipée dintrusion Catégorie(connexion) Arbre de décision Réseaux bayésiens (TAN, etc) Traitement des vrais/faux positifs Traitement des vrais/faux négatifs Connexion en cours Système 1 : Apprentissage et inférence sous informations incomplètes Système 2 (connaissances expertes) Evaluation

3 3 Partie 1: Hybridation dans la détection anticipée dintrusion Salem BENFERHAT et Karim TABIA

4 4 Point de départ: résultats de AD et NaiveBayes ADNaï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%

5 5 Conclusions des résultats de AD et NB pour KDD99 Aucune technique nest meilleure dans les quatre catégories dattaques 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é

6 6 Problèmes de détection dintrusions sur KDD99 Problèmes liés à la bases de données KDD99 Problèmes liés aux algorithmes utilisés

7 7 Comment exploiter la complémentarité des techniques dapprentissage automatique/classification pour améliorer le taux de détection (et améliorer spécialement la détection des attaques R2L et U2R?) Problématique

8 8 Méta- calssificateur NB-AD Connexion c NaïveBayes NB (c) AD Catégorie de la connexion Un méta-classificateur simple AD (c) NB-AD (c) NB(c) est la prédiction rendue par NaiveBayes pour la connexion c Idem pour AD et NB-AD

9 9 Un méta-classificateur simple. Pas de problème si NB(c) et AD(c) prédisent la même classe. Si NB(c) et AD(c) prédisent deux classes différentes: - Utiliser le pcc (par rapport a chaque classe) : NB-AD (c) =ArgMax(pcc(AD, c), pcc(NB, c)) Ou encore - Faire la moyenne sur les distributions de probabilités associées aux classes : NB-AD (c) =ArgMax k=0..39 {1/2 [prob(AD, c,k) + prob(NB, c, k)]) Problème: Peu daméliorations!

10 10 la majorité des erreurs de classification sont des faux négatifs Gérer différemment les prédictions de NaïveBayes et AD pour traiter les: vrais/faux négatifs vrais/faux positifs Principe dune approche hybride

11 11 Principe dune hybride Traitement des vrais/faux positifs (la classe prédite par les deux classificateurs nest pas la classe normale) Traitement des vrais/faux négatifs (au moins, lun des classificateurs a prédit la classe normale) - Confirmation des prédictions de la classe normale ou - utiliser les connaissances expertes pour classifier lattaque

12 12 Traitement des vrais/faux positifs Si (AD(c) Normal) ou (NaïveBayes(c) Normal) alors Si AD(c) = R2L ou NaïveBayes(c) = R2L alors Meta-NB-AD(c) :=R2L ; Sinon Si AD(c) = U2R ou NaïveBayes(c) = U2R alors Meta-NB-AD(c) :=U2R ; Sinon Meta-NB-AD(c) = ArgMax k=0..39 {1/2 [prob(AD, c,k) + prob(NB, c, k)]) Fin si ;

13 13 Confirmer ou corriger les prédictions de la classe normale nécessite de recourir à: lapproche comportementale pour distinguer entre vrais et faux négatifs un mécanisme basé sur « les connaissances expertes » permettant didentifier la catégorie dattaques des connexions reconnues comme faux négatifs Principes du traitement des vrais/faux négatif

14 14 Schéma général pour le traitement des vrais/faux négatifs vrai/faux négatif ? vrai négatif ? Catégorie (c) :=NormalFausse alerte ? Identification de la catégorie dattaque du faux négatif. Catégorie (c) :=Normal Oui Non NaïveBayes(c)= Normal AD(c)= Normal Procédure de distinction entre vrais et faux négatifs Connaissance expertes Compor- tementale

15 15 Modélisation des connexions normales dans les données dapprentissage Élaboration dune mesure de similarité pour juger le degré de normalité dune connexion (similarité avec le modèle des connexions normales) Vérifier si les connexions reconnues anormales ne constituent-elles pas des fausses alertes Distinction entre vrais/faux négatifs 1 ère étape : approche comportementale

16 16 Modélisation des connexions normales Les attributs numériques sont modélisés par deux grandeurs : la moyenne et lécart type. Les attributs logiques sont modélisés par les fréquences respectives des valeurs 0 et 1. Les attributs symboliques sont modélisés par la fréquence de chaque valeur.

17 17 Vecteur de normalité Attributs numériquesMoyenneÉcart type duration src_bytes dst_bytes wrong_fragment00 urgent00.01 hot num_failed_logins num_compromised num_root num_file_creations num_shells num_access_files num_outbound_cmds00 count

18 18 srv_count serror_rate srv_serror_rate rerror_rate srv_rerror_rate same_srv_rate diff_srv_rate srv_diff_host_rate dst_host_count dst_host_srv_count dst_host_same_srv_rate dst_host_diff_srv_rate dst_host_same_src_port_rate dst_host_srv_diff_host_rate dst_host_serror_rate dst_host_srv_serror_rate dst_host_rerror_rate dst_host_srv_rerror_rate

19 19 Attributs logiques01 land100.00%0.00% logged_in28.10%71.90% root_shell99.98%0.02% su_attempted99.99%0.01% is_host_login100.00%0.00% is_guest_login99.62%0.38%

20 20 Mesure de distance dune connexion avec le modèle des connexions normales Si a i est continu : plus ai sécarte de la moyenne, moins la connexion est normale (% lattribut i): Si a i est discret ou symbolique : moins la valeur de ai est fréquente, moins la connexion est normale (% lattribut i). En particulier, toute nouvelle valeur donne une distance maximale (1).

21 21 Mesure de distance dune connexion avec le modèle des connexions normales Décider si la connexion représentée par le vecteur dattributs a est normale ou anormale Si Dist( c, reference ) < α alors c est normale ; Sinon c est anormale ; Fin si Avec : Dist(c, reference) = g (Dist(a i,â i )) (i=0,40). g=moyenne pondérée (retenue dans lexpérimentation). g=max. Une connexion est anormale dès que une nouvelle valeur apparaît (détection de nouvelles attaques)

22 22 Schéma général pour le traitement des vrais/faux négatifs vrai/faux négatif ? vrai négatif ? Catégorie (c) :=NormalFausse alerte ? Identification de la catégorie dattaque du faux négatif. Catégorie (c) :=Normal Oui Non NaïveBayes(c)= Normal AD(c)= Normal Procédure de distinction entre vrais et faux négatifs Connaissance expertes Compor- tementale

23 23 Traitement des vrais/faux négatifs: 2 ème étape : introduction des connaissances expertes La connexion déclarée anormale par lapproche comportementale est-elle une attaque (en particulier R2L et U2R)? Dans KDD99, ce sont certains attributs relatifs au contenu qui renseignent le plus sur ces deux types dattaques

24 24 NormalR2LU2R Moyenne Écart type Moyenne Écart type Moyenne Écart type hot num_failed_logins num_compromised num_root num_file_creations num_shells num_access_files num_outbound_cmds logged_in28.10%71.90%7.73%92.27%11.54%88.46% root_shell99.98%0.02%99.47%0.53%50.00% su_attempted99.99%0.01%100.00%0.00%100.00%0.00% is_host_login100.00%0.00%100.00%0.00%100.00%0.00% is_guest_login99.62%0.38%72.11%27.89%100.00%0.00%

25 25 R2L (% normales) se caractérisent particulièrement par une moyenne élevée de : num_failed_logins, hot, num_compromised, num_root, num_file_creations et une proportion importante de connexions R2L ayant les attributs logiques logged_in et is_guest_login à 1. U2R se distinguent par des moyennes élevées de num_failed_logins, num_compromised, num_root, num_file_creations, hot, num_shells et num_access_files, et une valeur à 1 pour les attributs logged_in et root_shell.

26 26 Règle de confirmation de la classe normale Si Dist(c, réference)> seuil alors Si (num_failed_logins=0)et (num_compromised=0)et (num_root=0)et (num_file_creations=0)et (num_shells=0)et (num_access_files=0)et (num_outbound_cmds=0)et (logged_in=0)et (root_shell=0)et (hot=0) et (su_attempted=0)et (is_host_login=0)et (is_guest_login=0) Alors c est un vrai négatif ; Sinon c est un faux négatif ; Fin Si ;

27 27 Schéma général pour le traitement des vrais/faux négatifs vrai/faux négatif ? vrai négatif ? Catégorie (c) :=NormalFausse alerte ? Identification de la catégorie dattaque du faux négatif. Catégorie (c) :=Normal Oui Non NaïveBayes(c)= Normal AD(c)= Normal Procédure de distinction entre vrais et faux négatifs Connaissance expertes Compor- tementale

28 28 Traitement des vrais/faux négatifs Distinction entre attaques DoS/Probe dun côté et R2L/U2R dun autre côté Si ((count >100) ou (duration <=1)) alors Catégorie( a ) {DoS,Probe}; Sinon Catégorie( a ) {R2L, U2R}; Fin si;

29 29 Traitement des vrais/faux négatifs Distinction entre attaques DoS et Probe Si ((count >100) et (srv_count >50)) ou ((duration 0.718)) alors Catégorie( a ) :=DoS ; Sinon Si ((count >100) et ((srv_count 0.59)) alors Catégorie( a ) :=Probe ; Fin si;

30 30 Traitement des vrais/faux négatifs Distinction entre attaques R2L et U2R Si (Catégorie( a ) {U2R, R2L}) alors Si (((root_shell=1)ou(num_root>0)) et (is_guest_login=0)) alors Catégorie( a ) := U2R ; Sinon Catégorie( a ) := R2L ; Fin si ;

31 31 Résultats NormalDoSR2LU2RProbe Normal97.70%0.79%1.06%0.18%0.27% DoS2.48%96.85%0.23%0.05%0.39% R2L64.86%0.11%29.92%5.11%0.01% U2R69.30%0.00%9.21%20.61%0.88% Probe19.40%1.75%3.58%0.10%75.18% PCC= 93.18% - Dépend des paramètres fixés dans lapproche comportementale - KDD est incohérente

32 32 Partie 2: Arbre de décision sous observation incertaine N. BEN AMOR, S. BENFERHAT, Z. ELOUADI

33 33 Introduction Standard decision trees are appropriate where attribute values of objects to classify are precisely defined. Problems in handling uncertainty in attributes Partial valuesMissing values

34 34 Example flag SF pjrotocol-type RSTO udp N (path 1 ) tcp http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) protocol-type service flag tcp 2 udp 1 http 1 domain-u 4 private 1 SF 1 REJ 3 RSTO 1

35 35 Min/max operators Apply the minimum operator on the attribute values of each path. Choose the most plausible path in the tree Compute the degree of each path. Apply the maximum operator on the paths degrees. Choose the most plausible path. The instance belongs to the leaf corresponding to this path.

36 36 Example flag SF pjrotocol-type RSTO udp N (path 1 ) tcp http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) protocol-type service flag tcp 2 udp 1 http 1 domain-u 4 private 1 SF 1 REJ 3 RSTO 1

37 37 flag SF protocol-type RSTO udp N (path 1 ) tcp http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) Example protocol-type service flag tcp 2 udp 1 http 1 domain-u 4 private 1 SF 1 REJ 3 RSTO The instance belongs to P or D.

38 38 Different ways to classify objects with uncertain/missing attributes in decision trees Min/max operators. Min/leximax operators. Leximin/leximax operators.

39 39 Min/leximax operators A natural extension of the maximum operator. Let (path 1, …, path n ) : The set of different paths. deg(path i ): the minimum of possibility degrees of attribute values in path i. For each class C, we associate a vector C= (C 1,..., C n ): C i = deg(path i ) if C is the leaf of path i = 0 otherwise The chosen class will be the min/leximax preferred class.

40 40 N = ( 2, 4, 1 ) D = ( 3, 1) P = ( 1, 1, 4 ) D and P are leximax preferred to N. P is leximax preferred To D. P is the class of the new connection Example SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) flag tcp

41 41 Leximin/leximax operators (1) Two steps: Using the minimum operator to select a first set of classes. Using the maximum or leximax operator to refine this set. The minimum operator is not selective. Replace the minimum operator by the leximin one and maintain the leximax in the second step.

42 42 Leximin/leximax operators (2) Establish a total pre-order of all paths using leximin operator based on the gain ratio. Select a first set of candidate classes corresponding to classes labeling best paths in the total pre-order of paths. If this set contains more than one class, refine it by selecting its leximax-preferred class(es) using the leximin-leximax order.

43 43 All paths should be described by the same attributes already defined in the training set. Since paths are pruned, the idea will be to assign a degree 1 to the missing values. The application of the leximin requires a pre-order between different attributes. The use of the gain ratio criterion (gives the highest discriminative power) Establishing a total leximin pre-order (1)

44 44 Sort in a decreasing order the different path sets relative to each of the children of the root. For each path set containing more than one path repeat the same process, recursively. The process will be ended when each induced set path contains only one path. For equally ranked set of paths, we will group first (resp.second, third, etc.) elements of each of them. Elements belonging to the same group are equally preferred. Then, we re-order paths by considering that the group of first elements is preferred to the one containing second elements and so on. Establishing a total leximin pre-order (2)

45 45 Example (1) SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) flag path 5 is the worst set path. tcp

46 46 Example (2) SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) flag tcp

47 47 Example (3) SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) flag path 4 > leximin path 2 > leximin path 3 > leximin path 1 From the two path sets, path 1 is the worst one. tcp

48 48 Example (4) SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path7) domain-u private D (path 8 ) service D (path 5 ) flag path 8 > leximin path 6 > leximin path 7 tcp

49 49 Example (5) SF protocol-type RSTO udp N (path 1 ) http P (path 2 ) N (path 3 ) domain-u private P (path 4 ) service REJ http N (path 6 ) P (path 7 ) domain-u private D (path 8 ) service D (path 5 ) flag path 5 is the worst set path. path 4 > leximin path 2 > leximin path 3 > leximin path 1 path 8 > leximin path 6 > leximin path 7 path 8 = leximin path 4 > leximin path 2 = leximin path 6 > leximin path 3 = leximin path 7 > leximin path 1 > leximin path 5 tcp

50 50 Select best class(es) From the total pre-order, we will select a first set of candidate classes (C) corresponding to classes labeling best paths. If C contains more than one class we will refine it by selecting its leximax-preferred class(es) using the leximin-leximax order.

51 51 Example C = {P, D} P = (path 4, path 7, path 2 ) > leximin-leximax D = (path 8, path 5 ) Since path 4 = leximin path 8 and path 7 =leximin path 5 The connection will be classified as a probing attack. We get a more precise class. path 8 = leximin path 4 > leximin path 2 = leximin path 6 > leximin path 3 = leximin path 7 > leximin path 1 > leximin path 5


Télécharger ppt "1 Contributions du CRIL dans le cadre de lACI Daddi Présenté par : S. Benferhat"

Présentations similaires


Annonces Google