Document 7641847

Download Report

Transcript Document 7641847

Choix des attributs pour une
approche explicite
DADDi Tâche 1
25/05/2016
-2 -
Approche explicite
service
Classification
Transformation du
trafic brut
domain_u
normal
durée
service
Protocole
Classe
230s
http
tcp
normal
0s
private
udp
DOS
http private
normal
time
Protocol_type
tcp
normal
auth
Probe
udp
DOS
• Fonction de transformation
• Choix d’attributs pertinents
• Définition des propriétés à satisfaire (fonction riche)
• Deux étapes après transformation des données brutes
• Construction du modèle par apprentissage de données étiquetées
Amine Bsila • Phase de détection : données à classifier (analyser)
normal
Arbre de décision
-3 -
• Apprentissage
• Choix du meilleur attribut dans le
nœud racine puis analyse récursive
et construction de l’arbre
• Génération de règles
• Une règle est générée pour
chaque chemin parcourant l’arbre
de la racine aux feuilles
• Classification
• Application des règles sur les
nouveaux données est déduire la
classe
Amine Bsila
Outlook
= sunny, Temperature
= mild,=
Humidity
Exemple
: Si outlook
rain et= normal,
Windy Windy
= false
= false
P alors P
-4 -
Fonction de transformation
• Données considérées :
• Trafic réseau,
• Pour alimenter l’outil de classification à partir du
trafic brut :
• Fonction de transformation T
• R : ensemble du trafic brut
• I : ensemble d’items structurés
Amine Bsila
Propriétés à satisfaire
-5 -
• Condition nécessaire de transformation
• Fonction pauvre
•  des items Xi et Xj ayant des classes différentes mais les
valeurs de leurs attributs respectifs sont identiques.
• La fonction de transformation T doit être riche
• Sans perte d’information utile pour distinguer entre les
différentes types de connexions
• Réduction du nombre d’incohérences pour effectuer
un apprentissage précis
Amine Bsila
KDD99
-6 -
service
Classification
Transformation du
trafic brut
domain_u
normal
durée
service
Protocole
Classe
230s
http
tcp
normal
http private
normal
Protocol_type
tcp
normal
0s
private
udp
DOS
• DARPA98 (trafic brut)
-> Base d’apprentissage et de test KDD99
• Transformation du trafic tcpdump en 41 attributs
Amine Bsila
time
auth
Probe
udp
DOS
normal
KDD 99 (suite)
-7 -
• Transformation du trafic TCPdump en 41 attributs
• Effectuée par W.Lee et al.
• Source non disponible
• 4 catégories d’attributs :
• Données générales de la connexion (niveau réseau et transport)
• Service, Type de protocole (TCP, UDP ou ICMP), …
• Attributs liés à la couche application
• Nombre de création de fichier, Nombre de shells, …
• Attributs statistiques sur les connexions situées dans les 2 dernières
secondes de la connexion courante
• Attributs statistiques sur les 100 dernières connexions
Amine Bsila
KDD99 (suite)
-8 -
• DARPA 98 [2] (trafic brut) -> Base d’apprentissage et de test
• Trafic TCPdump généré par le « Lincoln Laboratory » financé par le
DARPA et l’US Air Force
• 9 semaines de trafic (7 pour l’apprentissage et 2 pour le test)
• 4 classes d’attaques + trafic normal
Probing : scan de port (nmap, satan …)
DoS : déni de Service (syn flooding, smurf …)
U2R : acquisition des privilèges d’un super utilisateur
R2L : accès illégitime à partir d’une machine distante (password
guessing, Snmpguess, …)
• Normal : trafic légitime
•
•
•
•
Amine Bsila
KDD99 (suite)
-9 -
• Enregistrement :
• 41 attributs + nom de classe
• Fichiers au format texte
• Base d’apprentissage
• ~5 millions de connexions (10% (494000) utilisées)
• 4 classes d’attaques + trafic normal
• Probing (4), DoS (6), U2R (4), R2L (9).
• Base de test
• ~ 311000 connexions
• 4 classes d’attaques enrichies + trafic normal
• Probing (4+2), DoS (6+4), U2R (4+4),R2L (9+7)
Amine Bsila
Résultats avec les Arbres de
décision (c4.5)
- 10 -
• L’algorithme c4.5 introduit par Quinlan [5]
• Processus de construction
• Processus de classification
Amine Bsila
Analyse des résultats
- 11 -
• Faiblesse de la détection des nouvelles attaques des
classes U2R (7,02%) et R2L (2,85%)
• Attaques classifiée dans la classe « Normal » à 82,89% et à 81,60%
• Comment c4.5 gère-t-il les nouvelles attaques ?
• Utilisation d’une classe par défaut par les arbres de
décision
• Celle qui contient le plus grand nombre d’instances non couvertes par
les règles générées
• Si conflit, alors la classe la plus fréquente est choisie
Amine Bsila
Améliorations du C4.5
- 12 -
• Ajout d’une nouvelle classe « New »
• Travail réalisé par Bouzida dans le cadre de sa thèse.
• Classifier les nouvelles attaques dans la classe «New»
• La nouvelle classe correspond à la classe des nouveaux
comportements
• Détection de U2R et R2L améliorée
• U2R
• 7.02% => 7.02% + 60.96% (new) = 67.98%
• Meilleur taux de détection sur la base KDD jusqu’à présent
• R2L
• 79.41% des connexions toujours prédites comme du trafic normal
• Besoin de continuer à investiguer
Amine Bsila
- 13 -
Amine Bsila
Améliorations du C4.5 (suite)
Critiques
- 14 -
• Analyse du contenu de la base de test R2L
• Nouvelles attaques R2L
• Snmpguess (26,75% : 4.367 /16.189)
• Détectée comme du trafic normal à 99.88 %
• Deviner le mot de communauté Snmp (mot de passe) en
utilisant une attaque par dictionnaire
• Snmpgetattack (47,82% : 7.741 /16.189)
• Détectée comme du trafic normal à 100 %
• Exploiter le mot de passe trouvé pour administrer l’agent
Snmp
Amine Bsila
Critiques (suite)
- 15 -
• Snmpguess/Snmpgetattack
• Attributs des attaques identiques à ceux du trafic normal
• Dû à la pauvreté de la fonction de transformation (rappel)
•  items Xi,Xj dans I ayant des classes différentes mais les
valeurs de leurs attributs respectifs sont identiques.
• Seule solution possible : enrichissement de la fonction de
transformation par la prise en compte de Snmp
Amine Bsila
- 16 -
Amine Bsila
Critiques (suite)
Le protocole Snmp
- 17 -
• Snmp (Simple Network Management Protocol): rfc 1157
(1990)
• Se base sur UDP : transmission simple ( pas de
connexion Snmp ) on parle d’échange
• Utilise les deux port 161 et 162
• Utilise le nom de communauté pour la sécurité
(authentification)
• Comment identifier tout l’échange Snmp
Amine Bsila
Solution
- 18 -
• Une session Snmp est décrite par :
• Une adresse source ( celle de la station qui commence l’échange)
• Une adresse destination ( celle de la station à administrer)
• Le port de destination 161
• Utiliser le compteur d’échec d’authentification
• Ce compteur est conçue pour les application avec authentification
(telnet, ftp, rlogin, …).
• Incrémenter le compteur chaque fois qu’il y a un message Snmp avec
un mauvais nom de communauté (réponse vide de la station cible).
• Utiliser l’indicateur d’authentification
• Indiquer si la session en cours est authentifiée ou non.
• S’il y a une réponse positive (non vide) de la machine à administrer cet
indicateur est mit à vrais
Amine Bsila
- 19 -
Réalisation (suite)
Trafic réseau au format tcpdump
Liste des
connexions TCP,
UDP, ICMP
Détails des
paquets de la
connexion
Attributs
classe 1, 3 et 4
Détails de
la
connexion
Données échangées
durant la connexion :
Source  Destination
Destination  Source
Attributs classe 2
Amine Bsila
Réalisation : résultats de
classification
- 20 -
• Testée sur le trafic DARPA 98
• Utilisation des 7 semaines d’apprentissage
• 2 semaines de test
• Contient les deux attaques Snmpguess et Snmpgetattack
• L’algorithme c4.5 modifié
• L’ajout de la classe « NEW »
Amine Bsila
- 21 -
Réalisation: résultats de
classification (suite)
• Nombre d’attaques
identique à celui de la
description de DARPA 98
• Amélioration des taux de
détection des attaques
Les attaques Snmpguess détecté comme normale
(0.034) sont due à la première tentative
Amine Bsila
• Pour l’attaque Snmpguess
elle passe de 0 % à 89.96 %
en « R2L », de 0.08% en
« New » à 10 % et de 99.82
% en « Normal » à 0.034 %.
• Pour l’attaque Snmpgetattack
elle passe de 0 % à 67.09 %
en « R2L », de 0 % à 26.3 %
en « New » et de 100 % en
« Normale » à 6.56 %.
- 22 -
Amine Bsila
Résultats (Suite)
Autres résultats : Test avec du
trafic réel
- 23 -
• Résultat sur un trafic réel récent
• Base d’apprentissage KDD99
• Slammer 2003
• Détection 100% dans la classe DoS
• DDoS (trafic d’inondation au niveau victime)
• Détection 100% dans la classe DoS
Amine Bsila
Conclusion et perspectives
- 24 -
• Travaux réalisés
• Amélioration de l’algorithme de classification par l’ajout de
la classe « New » [Bouzida]
• Amélioration de la transformation pour la prise en compte
des attaques Snmpguess et Snmpguetattack [Bsila]
• Logiciels développés
• Outil transformation de trafic TCPdump -> connexions de
41 attributs + modifications
• Classe 1 et 2 à l’aide de script Bro
• Classe 3 et 4 à l’aide de programme en C
Amine Bsila
Merci pour votre attention
25/05/2016
- 26 -
Attributs de la première classe
Attribut
Description
Type
duration
Durée (en secondes) de la connexion
Continue
protocol_type
Type du protocole (tcp ou udp ou ICMP)
Discret
service
Service réseau appelé (exemple : http, telnet)
Discret
src_bytes
Taille des données (en bytes) de la source à la destination
Continue
dst_bytes
Taille des données (en bytes) de la destination à la source
Continue
flag
Statut de la connexion
Discret
land
1 si la connexion est de/vers le même hôte/port; 0 sinon
Discret
wrong_fragment
Nombre de mauvais fragments
Continue
urgent
Nombre de paquets urgents
Continue
Amine Bsila
- 27 -
Attributs de la deuxième classe
Attribut
Description
Type
hot
Nombre d’indicateurs « hot »
Continue
num_failed_logins
Nombre de login échoués
Continue
logged_in
1 si le login a réussi; 0 sinon
Discret
num_compromised
Nombre de conditions « compromised »
Continue
root_shell
1 si le root shell est obtenu; 0 sinon
Discret
su_attempted
1 si la commande “su root” est tentée; 0 sinon
Discret
num_root
Nombre d’accès « root »
Continue
num_file_creations
Nombre de création de fichier
Continue
num_shells
Nombre de shells
Continue
num_access_files
Nombre d’opérations sur les fichiers de contrôle d’accès
Continue
is_hot_login
1 si le login appartient à la “hot” list ; 0 sinon
Discret
is_guest_login
1 si le login est “guest”; 0 sinon
Discret
Amine Bsila
- 28 -
Attribut
count
Attributs de la troisième et
quatrième classes
Description
Nombre de connexions vers le même hôte que la connexion courante
dans les 2 dernières secondes (les 100 dernières connexions)
Note : Les prochains éléments se réfèrent à ces connexions au même
hôte
Type
continue
serror_rate
% de connexions ayant des erreurs SYN
continue
rerror_rate
% de connexions ayant des erreurs REJ
continue
same_srv_rate
% de connexions au même service
continue
diff_srv_rate
% de connexions à différents services
continue
srv_count
Nombre de connexions vers le même service que la connexion
courante dans les 2 dernières secondes
Note : Les prochains éléments se réfèrent à ces connexions au même
service
continue
srv_serror_rate
% de connexions ayant des erreurs SYN
continue
srv_rerror_rate
% de connexions ayant des erreurs REJ
continue
srv_diff_host_rate
% de connexions vers différents hôtes
continue
Amine Bsila