Détection d’intrusions par signature et comportementale

« Universe, n. : The problem »  .

L’informatique et en particulier l’Internet jouent un rôle grandissant dans notre société. Un grand nombre d’applications critiques d’un point de vue de leur sécurité sont déployées dans divers domaines comme le domaine militaire, la santé, le commerce électronique, etc. La sécurité des systèmes informatiques devient alors une problématique essentielle tant pour les individus que pour les entreprises ou les états.

Pour chaque système informatique, une politique de sécurité doit donc être définie pour garantir les propriétés de sécurité qui doivent être rendues par ce dernier. Cette politique s’exprime par des règles fixant trois objectifs distincts :

– la confidentialité c’est-à-dire la non-occurrence de divulgations non autorisées de l’information ;
– l’intégrité c’est-à-dire la non-occurrence d’altérations inappropriées de l’information ;
– la disponibilité c’est-à-dire le fait d’être prêt à l’utilisation.

Détection d’intrusions

La détection d’intrusions a été introduite en 1980 par J.P. Anderson qui a été le premier à montrer l’importance de l’audit de sécurité [And80] dans le but de détecter les éventuelles violations de la politique de sécurité d’un système. Anderson définit une intrusion comme une violation de la politique de sécurité du système, c’est-à-dire une violation d’une des propriétés de confidentialité, d’intégrité ou de disponibilité du système. Nous différencions les notions d’attaques et d’intrusions : une intrusion est une violation de la politique de sécurité alors qu’une attaque est une tentative (effective ou non) de violer la politique de sécurité du système. Le but de la détection d’intrusions est de signaler les intrusions ou les attaques, suivant la conception de l’IDS, à l’administrateur de sécurité pour que celui-ci puisse prendre les mesures de réaction adéquates, comme remettre le système dans un état sûr, etc. La recherche en détection d’intrusions s’oriente également vers la réponse automatique aux intrusions [Tho07] : en plus de prévenir l’administrateur de sécurité, le système de détection d’intrusions (on parle alors généralement d’IPS, Intrusion Prevention System ou système de prévention d’intrusion) prend des mesures pour bloquer l’intrusion : couper la connexion TCP et changer les règles du pare-feu pour bloquer l’adresse IP de l’attaquant pour un IPS réseau par exemple.

Les méthodes de détection d’intrusions reposent sur l’observation d’un certain nombre d’événements et sur l’analyse de ceux-ci. Il s’agit premièrement de collecter les informations que l’on souhaite analyser. Ces informations proviennent des fichiers journaux du système, d’applications spécifiques (tels que des serveurs web, serveurs ftp, serveurs de courriers électroniques, etc…) ou de sondes mises en place par les outils de détection d’intrusions tels des « sniffers » réseau, des modules spécifiques à certaines applications ou au système d’exploitation. On distingue généralement deux grands types de sources de données et l’on peut classer les IDS suivant leurs sources : les flux réseau (network-based IDS ou NIDS) et les données système ou applicatives (host-based IDS ou HIDS). Suivant les sources de données utilisées, il est possible de détecter certaines intrusions ou non : une attaque par déni de service par syn flooding [Edd07] est plus facilement détectable au niveau réseau qu’au niveau applicatif. Certains IDS utilisent des données provenant des deux types de sources pour augmenter leur capacité de détection.

Les données récoltées doivent ensuite être analysées pour y rechercher des traces d’intrusions. Cette analyse peut se faire de plusieurs manières : après les faits, de manière quasi temps-réel ou bien en temps réel. Deux approches principales de détection d’intrusions que nous décrirons par la suite ont été proposées : l’approche par signature (misuse detection) et l’approche comportementale (anomaly detection). Ces approches présentent différents avantages et inconvénients ; il a été proposé relativement rapidement dans la recherche en détection d’intrusions de combiner ces deux approches pour augmenter leur taux de détection [Lun88, HK88].

Détection d’intrusions par signature et comportementale

Les systèmes de détection d’intrusions peuvent être classés suivant leur approche d’analyse des données. Deux grandes approches ont été proposées dans la littérature : la détection d’intrusions par signature et la détection d’intrusions comportementale. Ces deux approches s’opposent dans leur principe de détection: l’approche par signature se fonde sur la recherche de traces d’attaques ou d’intrusions alors que l’approche comportementale recherche les déviations du comportement de l’entité observée par rapport à un modèle du comportement normal de cette entité. Bien que la première approche proposée par Anderson en 1980 [And80] soit de type comportementale, nous allons d’abord présenter les approches par signature qui ont les faveurs des industriels de la sécurité mais présentent des inconvénients, inhérents à l’approche, difficilement contournables.

Détection d’intrusions par signature 

Principe Les systèmes de détection d’intrusions par signature fondent leur détection sur la reconnaissance, dans le flux d’évènements générés par une ou plusieurs sondes, de signatures d’attaques qui sont contenues dans une base de signatures. Une signature est un motif, dans le flux d’événements, de scénarios d’attaques définis au préalable. Un IDS par signature se compose :
– d’une ou plusieurs sondes, générant un flux d’événements, qui peuvent être de type réseau ou hôte ;
– d’une base de signatures ;
– d’un système de reconnaissance de motifs dans le flux d’événements.

La base de signatures Le taux de couverture de l’IDS dépend essentiellement de la qualité de la base de données puisque seules les attaques dont la signature est présente dans la base sont susceptibles d’être détectées. Les signatures sont décrites à l’aide de langages de description d’attaques [EVK02, CO00, MM01]. Elles sont la plupart du temps définies par un opérateur bien que des travaux récents permettent la génération automatique des signatures [BNS+06, NS05].

La base de signatures doit également être maintenue :
– Les nouvelles attaques détectées par la communauté doivent être intégrées à la base.
– Suivant les choix de l’administrateur de sécurité, les signatures qui ne correspondent plus à une possible intrusion (parce qu’un logiciel ou un système d’exploitation a été mis à jour, remplacé ou supprimé par exemple) peuvent être enlevées de la base.

La maintenance de la base de signatures est une tâche importante. Sans maintenance, l’IDS ne peut détecter les nouvelles attaques. La rapidité de la propagation de certains vers comme Slammer [MPS+03] montre également une limite de cette approche car le temps de mise à jour de la base de signatures par l’administrateur est supérieur au temps de propagation du ver.

Le système de reconnaissance de motifs Le système de reconnaissance de motifs est chargé d’identifier les motifs présents dans la base de signature, dans le flux d’événements. Différents systèmes de reconnaissance de motifs ont été définis dans la littérature. Cela va de systèmes simples à base de règles comme [Pax98] ou de correspondances de chaînes de caractères [MHL94] (string matching) à des systèmes bien plus complexes à base de systèmes experts comme [PN97] ou de modélisation d’états [EVK02] qui peuvent apporter suffisamment d’abstraction pour détecter des attaques inconnues mais qui font partie d’une même classe d’attaques. On pourra consulter la classification d’Axelsson [Axe00b] pour plus de détails sur ces systèmes.

Discussion Généralement, la pertinence des IDS suivant cette approche est bonne car les signatures correspondent à des éléments caractéristiques des attaques qui ne sont pas présents dans le flux d’événements en absence d’attaques. Cependant, les signatures sont souvent généralisées pour que l’IDS soit capable de détecter les modifications des attaques. Cette généralisation des signatures peut entraîner une baisse de la pertinence de l’IDS.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction
1 État de l’art
1.1 Détection d’intrusions
1.1.1 Détection d’intrusions par signature et comportementale
1.1.1.1 Détection d’intrusions par signature
1.1.1.2 Détection d’intrusions comportementale
1.1.2 Détection d’intrusions web
1.1.2.1 Les approches par signature
1.1.2.2 Les approches comportementales
1.1.2.3 Une approche hybride
1.1.2.4 Discussion
1.2 Détection d’erreurs
1.2.1 Le modèle faute – erreur – défaillance
1.2.2 La tolérance aux fautes
1.2.3 La diversification fonctionnelle
1.2.3.1 Les blocs de recouvrement
1.2.3.2 La programmation N-autotestable
1.2.4 La programmation N-versions
1.2.5 La diversification de COTS
1.2.6 La détection d’intrusions du point vue de la sûreté de fonctionnement
1.3 Détection d’intrusions par diversification
1.3.1 Principes de la détection et de la tolérance
1.3.2 Les approches de type boîte noire
1.3.2.1 Le projet BASE
1.3.2.2 Le projet HACQIT
1.3.2.3 Le projet SITAR
1.3.2.4 Le projet DIT
1.3.2.5 Discussion
1.3.3 Les approches de type boîte grise
1.3.3.1 DieHard
1.3.3.2 Le projet N-variant
1.3.3.3 Travaux de Babak Salamat
1.3.3.4 Distance comportementale
1.3.3.5 Discussion
1.4 Résumé
2 Modèles et algorithmes de détection
2.1 Détection d’intrusions par diversification de COTS : principes
2.1.1 Utilisation de COTS dans un système de type N-versions
2.1.2 Description de l’architecture
2.1.2.1 Architecture et fonctionnement
2.1.2.2 Propriétés de détection et de tolérance aux intrusions
2.1.3 Classification des différences détectées
2.1.4 Mécanismes de masquage des différences de spécification
2.1.5 Influence des faux négatifs et des vrais et faux positifs
2.1.5.1 Effets des vrais et faux positifs
2.1.5.2 Effets des faux négatifs
2.1.6 Performances de l’architecture
2.1.6.1 Obstacles aux performances
2.1.6.2 Compromis performances-sécurité
2.1.7 Extension de l’architecture à la tolérance aux défaillances du proxy
2.2 Approche boîte noire : comparaison des sorties réseau
2.2.1 Méthode de comparaison
2.2.2 Masquage des différences de spécification
2.3 Approche boîte grise : graphes de flux d’informations
2.3.1 Notions de flux d’informations
2.3.2 Graphes de flux d’informations
2.3.3 Similarité entre deux graphes de flux d’informations
2.3.3.1 Définition formelle d’un graphe étiqueté
2.3.3.2 Similarité entre deux graphes en fonction d’un mapping
2.3.4 Détection d’intrusions par calcul des similarités
2.3.4.1 Intrusions et graphes de flux d’informations
2.3.4.2 Notion de seuil de similarité
2.3.4.3 Algorithmes de détection
2.3.4.4 Localisation du serveur compromis
2.3.4.5 Cas de trois serveurs
2.3.5 Aide au diagnostic
2.4 Comparaison des deux approches proposées
2.4.1 Corrélation entre les approches par comparaison des sorties et calcul de similarité
2.4.2 Discussion
2.5 Résumé
3 Application aux serveurs web
3.1 Description du protocole HTTP
3.1.1 Format des requêtes HTTP
3.1.2 Format des réponses HTTP
3.2 Approche boîte noire : description de l’implémentation
3.2.1 Architecture
3.2.2 Algorithme de comparaison
3.2.3 Mécanismes de masquage
3.3 Approche boîte grise : description de l’implémentation
3.3.1 Architecture
3.3.2 Modélisation des appels système
3.3.3 Construction des graphes de flux d’informations
3.3.4 Similarité entre les graphes de flux
3.4 Combinaison des deux approches
3.5 Diversification automatique des scripts web
3.5.1 Diversification des applications web
3.5.1.1 Problématique
3.5.1.2 Diversification automatique
3.5.2 Randomisation du langage racine
3.5.3 Randomisation des langages générés
3.5.4 Limitations
3.6 Résumé
4 Tests et résultats de détection, diagnostic et performances
Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *