• Aucun résultat trouvé

DATA MINING ET DÉTECTION D’INTRUSION

3.5 La détection d’intrusion à base de Dataming

La fouille des données peut contribuer à l’amélioration des performances des systèmes de dé-tection d’intrusion soit par la construction de modèle précis à partir de l’historique des attaques perpétuées dans le passé en utilisant des techniques d’apprentissage supervisé ou par l’identifica-tion des activités malveillantes en utilisant des techniques d’apprentissage non supervisé. Dans le cas de la détection d’abus d’utilisation, chaque séquence ou ensemble de séquences caractéri-sant une attaque est traduit en termes de motifs exprimant des signatures d’attaques. Une fois ces derniers identifiés et corrélés, des mesures de similarités pouvant exister entre ces motifs et ceux collectés ou identifiés à partir des données d’audit lors des périodes de surveillance, doivent être calculées à fin de détecter et identifier des éventuelles attaques. Typiquement, la détection d’abus d’utilisation se fait en cinq étapes[116] comme illustré dans la figure 3.4. Dans la première phase, des données d’audit issues des fichiers log, trafic réseau et registres systèmes sont collectées puis soumis, dans une deuxième phase, à un processus de pré-traitement qui

consiste à appliquer des opérations de réduction de bruis, de normalisation et d’extraction et sélection des caractéristiques. Ces données restructurées seront utilisées, dans une troisième étape, pour construire des modèles d’apprentissage d’intrusions tel que des systèmes experts basés sur la connaissance sur les codes malveillants et les vulnérabilités connues. Ces derniers peuvent être construits soit par des experts du domaine ou automatiquement par des systèmes d’apprentissage intelligents. Les modèles de classification ainsi construits sont utilisés dans la phase de surveillance pour détecter tout type d’abus d’utilisation connu. Une fois une action malveillante détectée, une décision doit être prise soit automatiquement par le système de détection ou manuellement par le chargé de la sécurité.

Figure 3.4 – Workkflow de détection d’abus d’utilisation

La détection d’anomalie quant à elle se base sur l’hypothèse que l’exploitation d’une faille du système nécessite une utilisation anormale de ce dernier[105], et consiste donc à apprendre les comportements normaux des sujets( au sens de Denning[105]) en observant le système pendant une période données dite phase d’apprentissage. Ces comportements sont représentés en utilisant des moyens statistiques comme les fréquences, moyennes, écart-types, etc. Ces profiles ou modèles sont stockés dans la base de données du système de détection et sont comparés, lors des périodes de surveillance, avec les comportementprésents des sujets. Toute déviation significative entre ces comportements donnera lieu à une alerte. En général, la base des comportements est mise à jour périodiquement pour prendre en compte les évolutions possibles des comportements des sujets. La détection d’anomalie et aussi un processus à cinq étape[116]. Les deux premières semblables à celles de la détection d’abus d’utilisation consistent à collecter les données d’audit des différentes sources de données(systèmes d’exploitation, applications, trafic réseau...) puis appliquer des opérations de nettoyage, de réduction de données et de dimensions et en fin des opérations d’extraction et de sélection de caractéristiques(Fig. 3.5).

Données et informations ainsi obtenues sont utilisées dans une troisième étape pour construire un profil pour les comportements normaux. Dans la phase de détection, les comportements cap-turés sont comparés à ce profil normal et toute déviation est reportée comme une intrusion. En réalité, la construction de ce profil normal n’est pas une tâche facile. Les données d’ap-prentissage équilibrées sont difficile à obtenir dans un réseau réel. De plus, tout changement dans l’environnement réseau, ou des services entraine un changement dans les motifs du trafic

Figure 3.5 – Workkflow de détection d’anomalie.

normal. A fin de surmonter ces inconvénients propres au méthodes d’apprentissage supervisé des techniques semi-supervisées et non supervisées sont fréquemment employées.

Les techniques d’analyse de liens, de classification et de clustering sont les principales tech-niques de la fouille des données ayant été fortement utilisées dans la détection d’intrusion.

— Classification : Le processus de détection d’intrusion peut être vu comme un pure pro-blème de classification qui consiste à scinder le trafic réseau en au-moins deux catégories : Trafic normale ou malveillant. Dans la phase d’apprentissage, une quantité, suffisante de données d’audit est collectée. Chaque instance de donnée recueillie est étiquetée comme étant normale ou anormale. Par la suite un algorithme de classification sera sélectionné à fin de construire un classificateur. Ce dernier devra être en mesure de prédire la classe ou la nature d’une nouvelle donnée. Bien que les techniques de classification peuvent être utilisées aussi bien pour la détection des anomalies que pour la détection des abus d’uti-lisation elles sont le plus souvent utilisées pour la détection des abus d’utid’uti-lisation[239]. Le problème principale pour une telle approche est comment le système pourra-t-il ap-prendre la nature des activités à fin de ne pas confondre une activité non hostile avec une activité malveillante et vice versa. Plusieurs systèmes de détection d’intrusion à base d’algorithmes de classification ont été proposés dans la littérature. Certains de ces systèmes utilisent des techniques simples tel que les réseaux de neurones, les machines à vecteurs de support(SVM), les technique floues, ect. D’autre, par contre utilise des com-binaisons de plusieurs techniques. Les techniques de classification les plus appliquées à la détection d’intrusion sont : Les arbres de décision, les algorithmes génétiques, les techniques de la logique floue, les technique d’immunologie et les réseaux de neurones. — Clustering : Le clustering offre un moyen très efficace pour identifier les modèles cachés,

particulièrement dans un contexte de détection d’intrusion, vue sa capacité à trouver de nouvelles attaques. Et selon Labib et Nemuri[234] Les techniques de clustering sont plus adaptées à un traitement temps-réel des données et offrent de très bonnes performance. De plus, ces techniques ne nécessitent aucun jeu de données pour l’apprentissage. Les techniques de clustering ont été appliquées avec abondance. Par exemple Portnoy et al[320], Eskin et al[125], et Chan et al[73] ont appliqué une largeur fixe et l’algorithme du k-plus proches voisins(k-nearst neighbor) aux fichiers log de connexions pour re-chercher les activités malveillantes qui représentes des anomalies dans un trafic réseau. Marin et Al[273] ont également employé une approche semblable utilisant la quantifica-tion de vecteur d’apprentissage (LVQ), qui est conçue pour trouver la frontière optimale de Bayes entre les classes, employant l’algorithme du k-moyennes(k-means) pour déter-miner le positionnement initial du vecteur. Malheureusement, cette approche ignore des malveillances très importantes, tel que les dénis de services, et l’écoute réseau massif, qui

doivent avoir leur propre cluster. Pour contourner ce problème, Chan et Al (2003) ont introduit une distance et une densité de clusters après avoir constater que les attaques appartenaient souvent à des clusters éloignés. Staniford et al[378] ont utilisé l’approche de recuit simulé(simulted annealing) pour grouper les évènements (paquets anormaux) de telle façon que les attaques coordonnées de balayage de ports(ports scans) soient grou-pées ensemble. Ils réussirent, ainsi, à ramener la forme polynomiale du temps d’exécution à une forme linéaire.

— Analyse de liens : Les règles d’association se sont avérées un outil simple et raisonna-blement efficace pour distinguer un trafic normal d’un trafic malveillant. Le système de détection est un ensemble de règles d’association et de modèles d’épisodes fréquentes[239] qui peuvent être utilisées pour extraire la connaissance nécessaire sur la nature des don-nées d’audit. Cette approche a deux caractéristiques attrayantes :

— Les règles générées sont faciles à comprendre et par conséquent aisément vérifiables par un analyste.

— Plusieurs ensembles de règles peuvent être produits et employées avec un méta-classificateur.

Dans la détection des abus d’utilisation les règles sont vues comme des scénarios décrivant les attaques réseau. Le mécanisme de détection reportera une intrusion potentielle si une activité d’un utilisateur ou un programme s’avère compatible avec une règles pré-établie pour détecter une menace(Fig. 3.6).

Figure 3.6 – Détection d’abus d’utilisation à base de règle

En détection d’anomalie les règles sont utilisées pour décrire les profiles normaux des utilisateurs, des programmes et des autres ressources. Le mécanisme de détection iden-tifie une attaques potentielle si un programme ou un utilisateur effectue une action en contradiction avec une règle pré-établie.

La construction d’un modèle de détection utilisant les règles d’association se fait en deux étapes. La première consiste à explorer les données d’audit à fin d’extraire les

mo-tifs consistant décrivant les comportements des utilisateurs et les différents programmes. Dans la seconde étape, ces motifs sont utilisés pour construire (entrainer) des Classifi-cateurs capable de détecter des anomalies. Un grand nombre de systèmes de détection d’intrusion utilisant des techniques à base de règle ont été proposés dans la littérature : — RIPPER[83], est le plus populaire de ces système connu d’être rapide et stable ayant générer un ensemble de règles d’association et des motifs fréquents concises lui per-mettant de classifier le trafic réseau correctement.

— NSM(Network Security Monitor)[175] un système de détection à base de règle d’as-sociation fut le premier système de détection utilisant directement le trafic réseau comme une source primaire de données.

— JAM "Java Agent for Meta-learning"[381] est un système de détection d’abus utilisa-tion développé à l’université de la Colombie utilise, lors d’une phase d’apprentissage, des règles d’association pour décrire les relations entre attributs des données d’audit et les épisodes fréquentes pour modéliser les motifs séquentiels décrivant les diffé-rents événements d’audit. Règles d’association et motif séquentiels sont utilisés pour construire des modèles décrivant les comportements intrusifs.

— Dans[241] Lee et al ont proposé de décrire une connexion à l’aide d’un ensemble d’attributs tel que la durée de connexion, service,... Puis des règles d’association ont été extraite à partir de l’ensemble de données ainsi obtenu pour construire des modèles de détection d’intrusion.

— ADAM("Audit Data Analysis and Mining")[41] est un système de détection d’ano-malie à temps réel doté d’un module capable de distinguer, parmi les événements suspects, les fausses alertes des attaques réelles. Lors d’une phase d’apprentissage, ADAM construit un profil normal à partir d’un jeu de données ne contenant aucune attaque et le décrit à l’aide d’un ensemble de règles d’association. Lors de la phase de détection, il explore les donnes d’audit recueille lors d’un intervalle de δ secondes(δ étant un paramètre) à fin d’extraire de nouvelles règles d’association n’apparaissant pas dans le profil normal. Si le support d’une tel règle d’association dépasse un cer-tain seuil prédéfini elle est considérée comme suspecte et est traitée par le module de classification, précédemment entrainé, qui décidera de la classer soit comme attaque connue, attaque inconnue ou comme fausse alerte. seuls les attaques réelles sont pré-sentées à l’opérateur. Pour remédier au problème des règles d’association redondantes ou non pertinentes qui peuvent être générées, ADAM opère comme suit :

1. Les deux côtés d’une règle d’association son combinés, de façon à rendre une règle d’association sous la forme mV

i=1

Ai = vi



au lieu de celle représenté par l’équation 2.1 donnée dans la section 8 et rappelée ici

m ^ i=1 Ai = vi ! n ^ i=m+1 Ai = vi [s, c] .

Il est à noter que le concept de confidence est obsolète pour ce type de règle d’association.

2. Seul les règles d’association qui comptent l’adresse de l’hôte source(SourceIP) et l’adresse (DestIP) ou numero du port(DestPort) de l’hôte de destination parmi leurs attributs sont autorisées, ie la règle de forme Vm

i=1

Ai = vi



doit satisfaire ∃k, l; (Ak= SourceIP ∧ Al ∈ {DestIP, DestP ort}) .

ADAM a été amélioré de deux façons :

1. Les règles d’association décrivant le profil normal ont été cataloguées en fonction de temps (heur de jour, jour de la semaine)[245] ce qui a permis de raffiner d’avantage le profil normal en spécifiant ses variations durant différentes périodes de temps.

2. l’introduction des règles d’association multi-niveau a permis la détection des at-taques coordonnées et distribuées[42].

De plus, des techniques complémentaire d’extraction et de visualisation peuvent être utilisées pour améliorer d’avantage les performances des systèmes de détection d’intrusion et réduire les besoins en puissance calculatoire et en capacité de stockage [239, 320].

3.6 Quelques Techniques de Datamining appliquées à la