Détection de nouvelles attaques Yacine Bouzida, Frédéric Cuppens, Sylvain Gombault
Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d attaque (+ 1000 /an) Variante d une attaque existante Nouvelle nouvelle Incapacité des méthodes existantes à déceler ces nouvelles attaques Objectifs Détection de nouvelles attaques réseaux Proposition de méthodes innovantes pour détecter ces nouvelles attaques DADDI (détection sûre de fonctionnement de nouvelles formes d attaque) - ACI Sécurité 004
Plan Limites des techniques actuelles Méthode adaptée Approche comportementale à apprentissage supervisé Fonction de transformation de trafic Expérimentation KDD99 (DARPA98) Trafic réel Conclusion et Perspectives 3
Détection d intrusion : approche par signature Base de signatures activités intrusion Analyse des événements systèmes ou réseau pour détecter les attaques (action litigieuses) décrites dans la base de signatures Une signature décrit une attaque ou une action litigieuse Exemple d une signature snort alert tcp any any -> 19.168.1.0/4 143 (content: 9068 C0FFFFFF /bin/sh ; msg: IMAP buffer overflow ; ) Inconvénients dus à l imprécision des signatures Faux positifs ou faux négatifs Par principe, ne peut détecter une nouvelle attaque 4
Approche comportementale Détection d une déviation d un comportement (utilisateur, application, trafic réseau, ) par rapport à son profil de référence étapes (apprentissage, détection) Inconvénients Faux positifs lorsque qu une une évolution du profil de l utilisateur est vue comme une anomalie Néanmoins la seule approche susceptible de détecter de nouvelles attaques mesures d activités 90 80 70 60 50 40 30 0 10 0 CPU Process Size intrusion probable profil normal anormal 5
Approche comportementale à apprentissage supervisé Deux étapes Phase d apprentissage à partir de données étiquetées Phase de détection : données à classifier (analyser) Plusieurs techniques de classifications existantes Réseaux neuronaux Réseaux bayésiens Arbres de décision Difficulté dans le choix d attributs pertinents Attributs observables Connaissance a priori des attributs caractérisant l utilisateur (application, trafic, etc.) 6
Arbres de décision Outlook Temperature Humidity Windy Class sunny hot high false N sunny hot high true N overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P overcast hot normal false P rain mild high true N Apprentissage: Choix du meilleur attribut dans le nœud racine puis analyse récursive et construction de l arbre sunny humidity outlook overcast rain windy high normal false true N P 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 exemple Si outlook=rain et windy=false alors P P N P 7
Prise en compte des nouvelles attaques avec de l apprentissage supervisé Apprentissage Du comportement normal (référence) du profil en question Des anomalies connues a priori Classification d un nouveau profil audité Normal, ou Anormal si l anomalie correspondante est connue, ou Nouveau, considéré momentanément comme nouvelle attaque. Diagnostic nécessaire Réalisation a priori possible avec les outils de classification comme les arbres de décision Possibilité de classifier plus de classes Proposition pour les nouvelles attaques Choix des attributs? 8
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 9
Propriétés à satisfaire Condition nécessaire de transformation La fonction de transformation T doit être riche Sans perte d information utile pour distinguer entre les différentes connexions Fonction pauvre items x i I ayant des classes différentes mais les valeurs de leurs attributs respectifs sont identiques. D une manière formelle Réduction du nombre d incohérences pour effectuer un apprentissage précis 10
Exemple de transformation DARPA98 (trafic brut) -> Base d apprentissage et de test KDD99 Transformation du trafic tcpdump en 41 attributs Logiciel non disponible 4 catégories d attributs : Données générales de la connexion (niveau réseau et transport) Attributs liés à la couche application Attributs statistiques sur les dernières secondes Attributs statistiques sur les 100 dernières connexion 11
Exemple d attribut de 4e catégorie t Source Destination Protocole Service Port 0.5 01.15.1.1 19.168.0.1 tcp http 80 1.0 01.15.1.1 19.168.0. tcp ftp 1 1.5 193.5.19.3 19.168.0.1 tcp http 80 1.8 193.5.19.3 19.168.0.1 udp ssh Calcul de l attribut diff_srv_rate Hôte courant : 19.168.0.1 Nombre de services différents : Nombre d entrée: 3 soit diff_srv_rate=0.67 1
Base d apprentissage KDD99 Enregistrement : 41 attributs + nom de classe pour apprendre Fichiers au format texte Base d apprentissage ~5 millions de connexions (10% (494000) utilisées) 4 classes d attaques + trafic normal Probing (4) : scan de port (nmap, satan ) DoS (6) : déni de Service (syn flooding, smurf ) UR (4) : acquisition des privilèges d un super utilisateur RL (9) : accès illégitime à partir d une machine distante (password guessing) Normal : trafic légitime 13
Base de tests KDD99 Enregistrement : 41 attributs + nom de classe pour vérifier Base de test ~ 311000 connexions 4 classes d attaques enrichies + trafic normal Probing (4+) : scan de port (mscan, saint) DoS (6+4) : déni de Service (apache, ) UR (4+4) : acquisition des privilèges d un super utilisateur (sqlattack ) RL (9+7) : accès illégitime à partir d une machine distante (snmpguess, snmpgetattack ) Normal : trafic légitime 14
Résultats avec c4.5 Effective Prédite Normal Probing DoS UR RL Normal (60593) 99.47% 0.40% 0.1% 0.01% Probing(4166) 18.4% 7.73%.45% 6.58% DoS(9853).6% 0.06% 97.14% 0.18% UR(8) 8.89% 4.39% 0.44% 7.0% 5.6% RL(16189) 81.60% 14.85% 0.70%.85% PSP=9.30% CPT=0.34 Arbre de décision (c4.5) Normal Normal 0 Probing 1 DoS UR RL Probing 1 0 DoS 1 0 UR 3 0 RL 4 0 CPT = Coût par test PSP = Nbre de connexions correctement classifiées/nbre total 15
Analyse des premiers résultats Faiblesse de la détection des nouvelles attaques des classes UR (7,0%) et RL (,85%) Attaques classifiée dans la classe Normal à 8,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 16
Ajout d une classe d attaque «New» Proposition et amélioration Classifier les nouvelles attaques dans la classe «New» Satisfaction de la proposition pour l amélioration de l approche comportementale La nouvelle classe correspond à la classe des nouveaux comportements 17
Résultats avec c4.5 modifié Arbre de décision C4.5 standard Prédite Normal Probing DoS UR RL Effective Normal (60593) 99.47% 0.40% 0.1% 0.01% Probing(4166) 18.4% 7.73%.45% 6.58% DoS(9853).6% 0.06% 97.14% 0.18% UR(8) 8.89% 4.39% 0.44% 7.0% 5.6% RL(16189) 81.60% 14.85% 0.70%.85% PSP=9.30% CPT=0.34 Arbre de décision C4.5 modifié (proposition précédente) Effective Prédite Normal Probing DoS UR RL New Normal (60593) 99.43% 0.40% 0.1% 0.01% 0.04% Probing(4166) 8.19% 7.73%.45% 6.58% 10.06% DoS(9853).6% 0.06% 97.14% 0.18% 0.36% UR(8) 1.93% 4.39% 0.44% 7.0% 5.6% 60.96% RL(16189) 79.41% 14.85% 0.70%.85%.0% PSP=(9.30+0.57)%, CPT=0.8 18
Analyse des nouveaux résultats Remarque: PSP=9.87% (loin de 100%) Détection de UR et RL améliorée? UR 7.0% 7.0% + 60.96% (new) = 67.98% RL Meilleur taux de détection sur la base KDD jusqu à présent 79.41% connexions toujours prédites comme du trafic normal Besoin de continuer à investiguer 19
Analyse du contenu de la base de test RL Nouvelles attaques RL: snmpguess (6,75% : 4.367 /16.189) Deviner le mot de communauté SNMP (mot de passe) en utilisant une attaque par dictionnaire snmpgetattack (47,8% : 7.741 /16.189) Exploiter le mot de passe trouvé pour administrer l agent snmp snmpguess snmpgetattack 0
Mise en cause de la base de tests Effective Prédite Normal Probing DoS UR RL New Normal (60593) 98.347% 0.0% 0.03% 0.01% 1.50% 0.11% Probing(4166) 0.19% 99.35% 0.07% 0.38% DoS(9853) 0.01% 99.99% UR(8).19% 96.93% 0.88% RL(16189) 36.40% 0.0% 0.01% 0.05% 63.33% 0.19% PSP=97.70% Expérimentation réalisée Base d apprentissage = base de test KDD RL: Mauvaise classification des instances apprises Faible taux de classification avec succès : 63.33% snmpgetattack (7741) -> 71.85% : Normal 1
Exemple de pauvreté de la fonction de transformation snmpguess/snmpgetattack Attributs des attaques de la classe RL identiques à ceux du trafic normal Dû à la pauvreté de la fonction de transformation (rappel) items x i 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
Test avec du trafic réel Résultat sur un trafic réel récent Base d apprentissage KDD99 Slammer 003 Détection 100% dans la classe DoS DDoS (trafic d inondation au niveau victime) Détection 100% dans la classe DoS 3
Conclusion et perspectives Travaux réalisés Mise en œuvre des conditions nécessaires que doit vérifier une fonction de transformation Extension de la définition de l approche comportementale Amélioration des approches de classification supervisée pour la prise en compte des nouvelles instances (attaques pour notre cas) en utilisant les arbres de décision Logiciels développés Outil de transformation de trafic tcpdump connexions de 41 attributs, Arbres de décision (c4.5 modifié) prenant en compte les nouvelles instances 4
Conclusion et perspectives Travaux futurs D autres méthodes de classification en cours d investigation pour la prise en compte des nouveaux comportement pour comparer les résultats Transformation adaptée aux nouveaux protocoles émergeants (SIP, VoIP, etc, ) Extraction automatique d attributs pertinents à partir du trafic brut 5
Questions? 6