Upload
yves-jolivet
View
102
Download
0
Embed Size (px)
Citation preview
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)