1 approches explicites (cril) daddi, tâche 2. motivations détection des attaques "rares"...

Post on 03-Apr-2015

102 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Approches explicites(CRIL)

DADDI, tâche 2

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

3

Partie I

Approche hybride : comportementale + signature

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

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

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

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

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.

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).

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)

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

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

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)

14

Partie II

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

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

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 ?

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

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

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

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

21

Partie III

Formatage de trafic brut

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

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

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

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)

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...

...

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

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

Fonctionnalités implémentées

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...

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,...

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)...

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,...

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,...

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)

top related