26
Détection de nouvelles attaques Yacine Bouzida, Frédéric Cuppens, Sylvain Gombault

Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

Détection de nouvelles attaques

Yacine Bouzida, Frédéric Cuppens, Sylvain Gombault

Page 2: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

2

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 cesnouvelles 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 nouvellesformes d’attaque) - ACI Sécurité 2004

Page 3: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

3

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

Page 4: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

4

Base designatures

activités

intrusion

Détection d’intrusion : approche par signature

Analyse des événements systèmes ou réseau pourdétecter les attaques (action litigieuses) décrites dans labase de signatures

Une signature décrit une attaque ou une action litigieuse Exemple d’une signature snort alert tcp any any -> 192.168.1.0/24 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

Page 5: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

5

mesuresd’activités

0102030405060708090

CPU ProcessSize

profil normalanormal

intrusionprobable

Approche comportementale

Détection d’une déviation d’un comportement (utilisateur,application, trafic réseau, …) par rapport à son profil deréférence

2 étapes (apprentissage, détection) Inconvénients

Faux positifs lorsque qu’une une évolution du profil del’utilisateur est vue comme une anomalie

Néanmoins la seule approche susceptible de détecter denouvelles attaques

Page 6: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

6

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

Page 7: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

7

outlook

overcast

humidity windy

high normal falsetrue

sunny rain

N NP P

P

Arbres de décision

Outlook Temperature Humidity Windy Classsunny hot high false Nsunny hot high true Novercast hot high false Prain mild high false Prain cool normal false Prain cool normal true Novercast cool normal true Psunny mild high false Nsunny cool normal false Prain mild normal false Psunny mild normal true Povercast mild high true Povercast hot normal false Prain mild high true N

Génération de règlesUne règle est générée pour chaquechemin parcourant l’arbre de la racineaux feuillesexempleSi outlook=rain et windy=false alors P

Apprentissage: Choix du meilleurattribut dans le nœud racine puisanalyse récursive et construction del’arbre

Page 8: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

8

Prise en compte des nouvelles attaques avec del’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 classificationcomme les arbres de décision

Possibilité de classifier plus de 2 classes Proposition pour les nouvelles attaques

Choix des attributs ?

Page 9: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

9

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

Page 10: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

10

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 lesdifférentes connexions

Fonction pauvre♣ ∃ items xi ∈ 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 effectuerun apprentissage précis

Page 11: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

11

Exemple de transformation

DARPA98 (trafic brut) -> Base d’apprentissage et de testKDD99

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 2 dernières secondes Attributs statistiques sur les 100 dernières connexion

Page 12: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

12

t Source Destination Protocole Service Port

0.5 201.215.21.1 192.168.0.1 tcp http 80

1.0 201.215.21.1 192.168.0.2 tcp ftp 21

1.5 193.252.19.3 192.168.0.1 tcp http 80

1.8 193.252.19.3 192.168.0.1 udp ssh 22

Exemple d’attribut de 4e catégorie

Calcul de l’attribut diff_srv_rate Hôte courant : 192.168.0.1 Nombre de services différents : 2 Nombre d’entrée: 3 soit diff_srv_rate=0.67

Page 13: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

13

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 …) U2R (4) : acquisition des privilèges d’un super utilisateur R2L (9) : accès illégitime à partir d’une machine distante

(password guessing) Normal : trafic légitime

Page 14: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

14

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+2) : scan de port (mscan, saint) DoS (6+4) : déni de Service (apache2, …) U2R (4+4) : acquisition des privilèges d’un super

utilisateur (sqlattack…) R2L (9+7) : accès illégitime à partir d’une machine

distante (snmpguess, snmpgetattack…) Normal : trafic légitime

Page 15: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

15

Résultats avec c4.5

PSP=92.30% CPT=0.2342

2.85%0.70%0.00%14.85%81.60%R2L(16189)

5.26%7.02%0.44%4.39%82.89%U2R(228)

0.18%0.00%97.14%0.06%2.62%DoS(229853)

6.58%0.00%2.45%72.73%18.24%Probing(4166)

0.00%0.01%0.12%0.40%99.47%Normal (60593)

R2LU2RDoSProbingNormal PréditeEffective

Arbre de décision (c4.5)

CPT = Coût par testPSP = Nbre de connexions correctement classifiées/Nbre total

02224R2L

20223U2R

22012DoS

22201Probing

22210Normal

R2LU2RDoSProbingNormal

Page 16: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

16

Analyse des premiers résultats

Faiblesse de la détection des nouvelles attaquesdes 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

Page 17: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

17

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éliorationde l’approche comportementale

La nouvelle classe correspond à la classe desnouveaux comportements

Page 18: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

18

PSP=92.30% CPT=0.2342

2.85%0.70%0.00%14.85%81.60%R2L(16189)

5.26%7.02%0.44%4.39%82.89%U2R(228)

0.18%0.00%97.14%0.06%2.62%DoS(229853)

6.58%0.00%2.45%72.73%18.24%Probing(4166)

0.00%0.01%0.12%0.40%99.47%Normal (60593)

R2LU2RDoSProbingNormal PréditeEffective

2.85%

5.26%

0.18%

6.58%

0.00%

R2L

2.20%0.70%0.00%14.85%79.41%R2L(16189)

PSP=(92.30+0.57)%, CPT=0.2228

60.96%7.02%0.44%4.39%21.93%U2R(228)

0.36%0.00%97.14%0.06%2.26%DoS(229853)

10.06%0.00%2.45%72.73%8.19%Probing(4166)

0.04%0.01%0.12%0.40%99.43%Normal (60593)

NewU2RDoSProbingNormal PréditeEffective

Résultats avec c4.5 modifié

Arbre de décision C4.5 standard

Arbre de décision C4.5 modifié (proposition précédente)

Page 19: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

19

Analyse des nouveaux résultats

Remarque: PSP=92.87% (loin de 100%)

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% connexions toujours prédites comme du

trafic normal Besoin de continuer à investiguer

Page 20: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

20

Analyse du contenu de la base de test R2L

Nouvelles attaques R2L: snmpguess (26,75% : 4.367 /16.189)

Deviner le mot de communauté SNMP (mot de passe)en utilisant une attaque par dictionnaire

snmpgetattack (47,82% : 7.741 /16.189) Exploiter le mot de passe trouvé pour administrer

l’agent snmp

snmpguess snmpgetattack

Page 21: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

21

Mise en cause de la base de tests

63.33%

0.00%

0.00%

0.00%

1.50%

R2L

0.19%0.05%0.01%0.02%36.40%R2L(16189)

PSP=97.70%

0.88%96.93%0.00%0.00%2.19%U2R(228)

0.00%0.00%99.99%0.00%0.01%DoS(229853)

0.38%0.00%0.07%99.35%0.19%Probing(4166)

0.11%0.01%0.03%0.02%98.347%Normal (60593)

NewU2RDoSProbingNormal PréditeEffective

Expérimentation réalisée Base d’apprentissage = base de test KDD

R2L: Mauvaise classification des instances apprises Faible taux de classification avec succès : 63.33% snmpgetattack (7741) -> 71.85% : Normal

Page 22: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

22

Exemple de pauvreté de la fonction de transformation

snmpguess/snmpgetattack Attributs des attaques de la classe R2L

identiques à ceux du trafic normal Dû à la pauvreté de la fonction de

transformation (rappel)♣ ∃ items xi ∈ I ayant des classes différentes mais les

valeurs de leurs attributs respectifs sont identiques.

Seule solution possible : enrichissement de lafonction de transformation par la prise encompte de snmp

Page 23: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

23

Test avec du trafic réel

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

Page 24: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

24

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 (attaquespour 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

Page 25: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

25

Conclusion et perspectives

Travaux futurs D’autres méthodes de classification en cours

d’investigation pour la prise en compte desnouveaux comportement pour comparer lesrésultats

Transformation adaptée aux nouveauxprotocoles émergeants (SIP, VoIP, etc,…)

Extraction automatique d’attributs pertinents àpartir du trafic brut

Page 26: Détection de nouvelles attaques · 2 Contexte Problèmes Réseau : principal vecteur des attaques Nouvelles formes d’attaque (+ 1000 /an) Variante d’une attaque existante Nouvelle

26

Questions ?