35
1 Approches explicites (CRIL) DADDI, tâche 2

1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Embed Size (px)

Citation preview

Page 1: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

1

Approches explicites(CRIL)

DADDI, tâche 2

Page 2: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Motivations

Détection des attaques "rares" - "nouvelles" Classées " Normal "

Réseaux bayésiens

Approche hybride

Arbres de décisions possibilistes Détection en temps réel (réagir avec le trafic en cours).

Perspective de détection anticipée.

Outil de Formatage

Page 3: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

3

Partie I

Approche hybride : comportementale + signature

Page 4: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Point de départ

La majorité des erreurs de détection sont des faux négatifs (attaques classées normales)

Gérer différemment les prédictions pour traiter les

• Vrais/faux négatifs

• Vrais/faux positifs

Page 5: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Principe d’une approche hybride

Traitement des vrais/faux positifs

la classe prédite par les deux classificateurs n’est pas la classe normale

une simple agrégation pour déterminer la catégorie d’attaque

Page 6: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Module comportemental

Vrai négatif ?

Classe =Normal

Oui

Approche comportementale

Schéma général de traitement des vrais/faux négatifs

Connexion déclarée normale

Non

Traitement des fausses alertes etidentification des catégories d’attaques

Fausse alerte ?

Identification de la catégorie d’attaque du

faux négatif

Catégoried’attaques

Normal

Connaissances expertes

Page 7: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Distinction entre vrais/faux négatifs1ère étape: approche comportementale

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

Page 8: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

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.

Page 9: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Mesure de distance locale d’une connexion avec le modèle des connexions normales

Si l’attribut ai est continu: plus ai s’écarte de la moyenne, moins la connexion est normale

Si ai est logique ou symbolique: moins la valeur de ai est fréquente, moins la connexion est normale.

En particulier, toute nouvelle valeur donne une distance maximale (=1).

Page 10: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Mesure de distance globale 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, référence) > α alorsa est anormale ;

Sinon a est normale ;

Fin si

Avec : Dist (a,référence) = g (Dist(ai, âi)) (i=0,40)

• g = moyenne pondérée (retenue dans l’expérimentation)• g = max: une connexion est anormale dès qu’une nouvelle valeur apparaît (détection de nouvelles attaques)

Page 11: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Traitement des vrais/faux négatifs2ème étape: introduction de connaissances expertes

Traitement des fausses alertes: Une connexion déclarée anormale est-elle réellement une attaque?

Une connexion anormale doit au moins manifester les propriétés caractéristiques de l’une des catégories d’attaques(DoS, Probe, R2L ou U2R)

DoS?

Connexions anormales(sorties du module comportemental)

FN

Oui

Probe?

Non

Oui

R2L ou U2R?

Non

Oui

Catégorie normale

Non

FN

FNCatégorisation

des FN

Catégorie d’attaques

Page 12: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Traitement des fausses alertesExemple: Les propriétés caractéristiques des attaques DoS sont : Une courte durée Grand nombre de connexions vers la même destination (count) et sollicitant le

même service (srv_count).

14.437.470.631.2611.992.34223.8366.821.80410.93srv_count

233.50171.923.4555.800.481.315151.8415.517.7128.163count

3758.1485.03120.5180.942108.3559.70.0840.0011359.2216.6duration

σµσµσµσµσµ

ProbeU2RR2LDoSNormal

Si (count < Scount) et (duration > Sduration) et (srv_count < Ssrv_count) alors La connexion n’a pas les propriétés caractéristiques des DoSSinon La connexion a les propriétés caractéristiques des DoS

Page 13: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Résultats

Amélioration sensible de la détection des attaques R2L (de 2,85 à 29.92%) et U2R (de 7,02 à 20.61%)

Pas de perte de performance concernant les autres catégories (connexions normales, DoS et Probe)

Les résultats dépendent des paramètres fixés dans l'approche comportementale

Les résultats sont affectés par les incohérences dans KDD'99 Résultats complémentaires par rapport à ENSTB

(tester sur la nouvelle base)

Page 14: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

14

Partie II

Arbres de décision possibilistes: traitement des connexions en ligne

Page 15: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions complètesservice

http

count

telnet

<=46

N

>46

0

N

>0

D

Wrong_fragment

domain-u

SF REJ RSTO

P

flagP

count

>0

D

0 0

Wrong_fragment

>0

N P N

service flag count w_f C

telnet SF 2 10 ?N

P

RSTR

Page 16: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions incomplètes - en ligne

service count flag Wrong-fragment

telnet 2 SF 10http 7 REJ 48

domain-u 15 RSTO 50

… … … …

Comment modéliser l’incertitude ?

Page 17: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions incomplètes - en ligne

service count flag wrong_fragment

http 0 >=0, <=46 1 SF 1 >0 1

domain-u 0 >46 2 REJ 0 =0 1

telnet 1 RSTO 1

RSTR 1

Page 18: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Arbres de décision possibilistes

-- Différentes façons pour classer des connexions avec des attributs incertains/manquants en utilisant la théorie des possibilités.

Plusieurs propositions:

Méthode basée sur les opérateurs Min/max

Méthode basée sur les opérateurs Min/leximax

Méthode basée sur les opérateurs Leximin/leximax

Page 19: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

service

http

count

telnet

<=46

N(P1)

>46

0

N(P2)

>0

D(P3)

Wrong_fragment

domain-u

SF REJ

P(P9)

flagP

(P4)

0

0 0

0

00

1

2 111 0

1

count

>46

D(P5)

<=460

Wrong_fragment

>0

N(P6)

P(P7)

N(P8)

1 2

1 2 0 0

111 1

RSTR

P(P10)

1

1

service count flag wrong_fragment

http 0 >=0, <=46 1 SF 1 >0 1

domain-u 0 >46 2 REJ 0 =0 1

telnet 1 RSTO 1

RSTR 1

RSTO

Page 20: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

service

http

count

telnet

<=46

N(P1)

>46

0

N(P2)

>0

D(P3)

Wrong_fragment

domain-u

SF REJ RSTO

P(P9)

flagP

(P4)

0

0 0

0

00

1

2 111 0

1

count

>46

D(P5)

<=460

Wrong_fragment

>0

N(P6)

P(P7)

N(P8)

1 2

1 2 0 0

11

P5 =leximinP9 >leximinP10 >leximinP6 >leximinP1 =leximinP2 =leximinP3 =leximinP4 =leximinP7 =leximinP8

C={D,P}

P=(P9, P10,P7) >leximin-leximax D=(P5,P3)

1 1

RSTR

P(P10)

1

1

Donc la classe candidate est P

Page 21: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

21

Partie III

Formatage de trafic brut

Page 22: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Aucun logiciel libre de formatage n'est actuellement

disponible!

Formatage de trafic brut

010010011100000100011011001001100……110000110000110000110000110000……001011110000110000110000111001……

Trafic réseau brut (on-line ou off-line)

Formatage

Connexions

Formatage

1.098,tcp,smtp,SF,1676,333,0,0,0,0,0,1,0...0.002,udp,private,SF,105,146,0,0,0,0,...0.001,tcp,http,SF,298,321,0,0,0,0,0,1,...

DétectionNormalDoSDoSNormalU2R

ApprentissageDétectionNormalDoSDoSNormalU2R

Apprentissage

Page 23: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Fonctionnalités de l’outil de formatage

Trafic brut

Off-line On-line

Enrichies

Complètes Incomplètes Complètes Incomplètes

Non enrichies

Enrichies Non enrichies

Enrichies Non enrichies

Enrichies Non enrichies

Page 24: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Construction des connexions

Types de connexions Connexion TCP: ensemble de paquets

échangés entre IP Src/PortSrc et IP Dst/PortDst (handshake + transfert de données + déconnexion)

Connexion UDP: Requête/Réponse ou bien flux continu IP Src/PortSrc et IP Dst/PortDst

Connexion ICMP: Requête/Réponse ou paquet seul

Page 25: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Description de base d'une connexions

Attributs de base Attributs de contenu Attributs temporels (intervalle = T secs) Attributs relatifs au trafic vers un hôte

particulier (intervalles = N dernières connexions)

Page 26: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Description enrichie d’une connexion

Description enrichie=description de base + attributs supplémentaires

Quelques attributs ajoutés:

Port source

Bad traficBad trafic : # de paquets forgés (ex. flags incorrects)...

Direction (entrante, sortante, interne,...)

Autres attributs sur T dernières secondes, N connexions...

...

Page 27: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Ethereal: Pourquoi?

Ethereal: Analyseur de trafic réseauOutil très convivial (interface graphique...)Fonctionnalités de capture, analyse, filtrage...Outil Open Source (http://www.ethereal.com)Supporte un très grand nombre de protocoles

(Ethereal 0-10-14 supporte 754 protocoles)Existe pour OS Unix, Linux et Windows

Page 28: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Fonctionnalités de l'outil

Input : trafic live: Ethernet, FDDI,... Trafic off-line: fichiers libpcap...

Output: Fonctionnalité d'enregistrement dans

des fichiers ASCII au format CSV... Statistiques de formatage

Page 29: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Fonctionnalités implémentées

Page 30: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions finies non enrichies au format CSV

Duration, protocol_type, service, flag,... 1.098,tcp,smtp,SF,1676,333,0,0,0,0,0,1,0.. 0.002,udp,private,SF,105,146,0,0,0,0,... 0.001,tcp,http,SF,298,321,0,0,0,0,0,1,... 0.032,udp,domain_u,SF,45,110,0,0,0,0...

Page 31: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Exemples de connexions finies enrichies

885592582.184086,0.027,outbound,172.16.116.194,209.1.224.13,tcp,1308,http,SF,175,1660,...

885592609.556163,0,006,inbound,192.168.1.10,172.16.112.20,53,udp,domain_u,SF,36,101,..

885592675.438480,1.037,inside,192.168.1.30,192.168.0.20,tcp,1675,finger,SF,10,44,...

885592725.887101,21.865,inside,192.168.1.30,192.168.0.20,tcp,22067,telnet,SF,139,249,0,0,0,0,3,...

Page 32: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions incomplètes

Mêmes attributs que les connexions complètes sauf qu'on a l'état de la connexion lorsque sa durée atteint T secondes..(échantillonnage)

=> Permettre de suivre en fonction du temps l'évolution des attributs..

=> L'apprentissage de l'évolution d'un attribut peut permettre sa prédiction (connaître sa valeur à l'avance)...ce qui permettra de faire de l'anticipation (anticiper la détection)...

Page 33: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Exemples de connexions enrichies incomplètes (T= 5 secs)

885592605.928858,0.011,inside,192.168.1.30,192.168.0.40,tcp,http,SF,52,164,0,0,0,1,...

885592609.556163,0.000,inside,192.168.1.30,192.168.0.16,icmp,eco_i,SF,64,0,...

885592609.994493,4.977,inside,192.168.0.40,192.168.1.30,tcp,ftp,S1,58,222,0,0,...

885592633.798481,4.977,inside,192.168.0.40,192.168.1.30,tcp,telnet,S1,121,216,0,0,...

Page 34: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Exemples (2) de connexions incomplètes

Même connexion à T=1 sec, T=2 sec... T=1 : ...,0.986,..,tcp,telnet,S1,87,51S1,87,51,0,0,0,0,0,0,0,11,... T=2 : ...,1.614,...,tcp,telnet,S1,93,116S1,93,116,0,0,0,0,0,0,0,11,.. T=4 : ...,3.824,...,tcp,telnet,S1,108,135S1,108,135,0,0,0,0,0,0,0,11,0,... ... T=15: ...,14.804,...,tcp,telnet,S1,123S1,123,202202,0,0,0,0,22,0,... ... T=30: ...,21.86521.865,...,tcp,telnet,SF,139,249SF,139,249,0,0,0,0,33,...

Page 35: 1 Approches explicites (CRIL) DADDI, tâche 2. Motivations Détection des attaques "rares" - "nouvelles" Classées " Normal " Réseaux bayésiens Approche

Connexions en temps réel

Mêmes attributs que les connexions complètes Echantillonnage temporel: Chaque µ secondes, fournir

l'état des connections en cours ou apparues et terminées entre µ-1 et µ

Echantillonnage événementiel: Fournir l'état d'une connexion lorsqu'un événement apparaît dans cette connexion (ex. changement du flag de la connexion, ...)(fonctionnalité en cours d’implémentation)