Professional Documents
Culture Documents
Analyse Et Detection Des Intrusions
Analyse Et Detection Des Intrusions
INTRUSIONS
• 1. Contexte
1.1 Problématique
1.1.1 Difficulté de mise en œuvre des mesures préventives
1.1.2 Complexité des technologies de filtrage
1.1.3 Objectifs des systèmes de détection d’intrusions
1.2 Description d’un système de détection d’intrusions
1.2.1 Normalisation du domaine
1.2.2 Composition
1.2.3 Premiers systèmes
• 2. Technologies d’analyse
2.1 Détection par scénarios
2.1.1 Description des scénarios
2.1.2 Scénarios et fausses alertes
2.1.3 Scénarios et non-détection
2.1.4 Scénarios et réaction
2.1.5 Généralisation des scénarios
2.1.6 Exemple : le format de signatures de Snort
• 2.2 Détection comportementale
2.2.1 Description du modèle de bon comportement
2.2.2 Détection comportementale et fausses alertes
2.2.3 Approche comportementale et non-détection
2.2.4 Approche comportementale et réaction
2.2.5 Généralisation de l’approche comportementale
2.2.6 Exemple de l’approche comportementale : stide
• 3. Sources de données
3.1 Trafic réseau
3.1.1 Acquisition
3.1.2 Avantages
3.1.3 Inconvénients
3.1.4 Préparation des données
3.2 Traces système
3.2.1 Acquisition
3.2.2 Avantages
3.2.3 Inconvénients
3.3 Traces applicatives
3.3.1 Acquisition
3.3.2 Avantages
3.3.3 Préparation
3.3.4 Inconvénients
• 5 . Conclusion
• Annexe
1
2 Organismes
3 Logiciels
4 Bases de données
INTRODUCTION
•
Le développement de l’informatique s’est accompagné de problèmes de
• 1.1 Problématique
1.1.1 Difficulté de mise en œuvre des
mesures préventives
1.1.2 Complexité des technologies de filtrage
1.1.3 Objectifs des systèmes de détection
d’intrusions
1.2 Description d’un système de détection
d’intrusions
1.2.1 Normalisation du domaine
1.2.2 Composition
1.2.3 Premiers systèmes
• 1.1 Problématique
• Depuis de nombreuses années, les attaques contre les systèmes
d’information et les réseaux se multiplient. Cette progression va de pair
avec une multiplication du nombre de vulnérabilités informatiques publiées,
majoritairement des failles logicielles. Ces vulnérabilités font l’objet de
publications officielles ou semi-officielles, qui sont souvent accompagnées
de programmes permettant de réaliser automatiquement tout ou partie
d’une attaque.
• 1.2.2 Composition
• Un système de détection d’intrusions regroupe les composants suivants,
présentés sur la figure 2 :
• sondes : ce sont les composants actifs du système de détection d’intrusions.
Elles collectent des données, les analysent et émettent des alarmes ;
• consoles de gestion : elles permettent de gérer et de configurer les
sondes. En particulier, elles sont utilisées pour configurer et mettre à jour
les paramètres de l’algorithme d’analyse. Elles peuvent également
contrôler le bon fonctionnement des sondes ;
• concentrateurs d’alertes : ils gèrent et corrèlent les alertes reçues,
généralement à partir d’une base de données relationnelle. Ils peuvent
également avoir des outils de présentation des données comme un
serveur web ;
• consoles d’analyse : elles permettent à l’opérateur d’interagir avec les
concentrateurs d’alerte et de traiter les alertes reçues. Elles dialoguent
avec les concentrateurs d’alertes pour traiter les alertes importantes en
temps réel, générer des rapports périodiques et fonder le contenu des
bases d’alertes pour le suivi d’incidents.
Figure 2 - Configuration des composants d’un système de détection
d’intrusions
• La figure 2 illustre un arrangement possible de ces différents composants.
Deux consoles de gestion se partagent cinq sondes, qui envoient toutes
leurs alertes à un seul concentrateur. Ce concentrateur offre ses services à
deux consoles d’analyse. Dans la plupart des déploiements, il n’y a qu’un
petit nombre de concentrateurs, car c’est un composant difficile à mettre
en œuvre et à maintenir.
• Les consoles de gestion sont des machines de classe moyenne, type
Pentium 3 ou 4. Elles doivent impérativement avoir une connexion Internet
pour permettre les mises à jour des bases et du logiciel à partir des sites
des éditeurs.
• Les sondes sont soit des machines indépendantes (cas de l’écoute réseau),
soit des composants logiciels installés sur des serveurs. Les sondes et les
consoles de gestion dialoguent suivant un protocole propriétaire
permettant de mettre à jour logiciel et signatures, et de configurer le
logiciel de détection. Les concentrateurs d’alertes sont en général des
machines puissantes, capables d’accueillir une base de données avec
plusieurs millions d’événements, ainsi qu’un serveur web. Ils dialoguent
avec les sondes suivant un protocole propriétaire, mais offrent également
des interfaces standards comme SNMP (Simple Network Management
Protocol) ou Syslog. Idéalement, ce dialogue se fera en échangeant des
messages IDMEF (The Intrusion Detection Message Exchange Format). sur
protocole IDXP(Hypertext Transfer Protocol – HTTP/1.1.), dès que le
standard aura été validé par l’Internet Engineering Task Force (IETF).
• Finalement, les consoles d’alertes accèdent aux informations fournies par le
concentrateur d’alertes via un protocole standard (HTTPS) ou propriétaire.
• 1.2.3 Premiers systèmes
• Les systèmes de détection d’intrusions ont été conçus initialement comme
des dispositifs passifs permettant simplement l’observation. Cette conception
est due à la complexité de ces systèmes qui, dans l’esprit de leurs
concepteurs, ne pouvaient pas se passer d’une intervention humaine pour
faire face à l’attaquant. Plus récemment, des méthodes de contre-mesures
simples ont été proposées et implémentées, qui sont un premier pas vers la
prévention des attaques en cours, dès qu’une tentative est détectée. Ces
évolutions sont abordées dans le paragraphe 4.4.2.
• Les principes fondateurs utilisés pour l’analyse des données dans les
systèmes de détection d’intrusions ont été développés aux États-Unis au
début des années 1980 au cours du projet IDES (Intrusion Detection Expert
System) financé par l’armée américaine . Lors de ce projet, deux familles de
technologies ont été définies, qui permettent de détecter des actions
malveillantes sur les systèmes d’information.
• La première famille de technologies est dite approche par scénarios
(misuse detection ). L’objectif de cette famille de technologies est de
décrire explicitement les mauvais comportements, ceux qui vont donner
lieu à des alarmes ; l’inspiration initiale de cette famille de technologies
est d’utiliser la connaissance des vulnérabilités et techniques d’attaques,
car les tentatives malveillantes peuvent exploiter (et exploitent
effectivement dans la majorité des cas) des failles déjà connues,
largement publiées, et pour lesquelles des correctifs sont disponibles.
• La deuxième famille de technologies, dite approche comportementale
(anomaly detection ), fait l’hypothèse que le fonctionnement d’un
système d’information atteint un rythme stable au cours du temps, et que
ce fonctionnement normal peut être modélisé. Il fait également
l’hypothèse qu’une action malveillante ne va pas être comprise par le
modèle et qu’il faut donc analyser les événements ne trouvant pas
d’explication dans celui-ci.
• Ces deux familles de technologies ont été exploitées à la fois dans le
monde de la recherche et par les produits commerciaux. La technologie
d’analyse choisie par le vendeur, approche par scénarios ou approche
comportementale, est un élément fort de différenciation entre les
différents produits.
• Le paragraphe 2 présente plus en détail ces deux familles de technologies
ainsi que leur mise en œuvre, leurs avantages et inconvénients. Nous
abordons ensuite la problématique des sources de données sur lesquelles
s’appliquent ces technologies d’analyse
• 2. Technologies d’analyse
• 2.1 Détection par scénarios
2.1.1 Description des scénarios
2.1.2 Scénarios et fausses alertes
2.1.3 Scénarios et non-détection
2.1.4 Scénarios et réaction
2.1.5 Généralisation des scénarios
2.1.6 Exemple : le format de signatures de Snort
2.2 Détection comportementale
2.2.1 Description du modèle de bon comportement
2.2.2 Détection comportementale et fausses alertes
2.2.3 Approche comportementale et non-détection
2.2.4 Approche comportementale et réaction
2.2.5 Généralisation de l’approche comportementale
2.2.6 Exemple de l’approche comportementale : stide
• 2.1 Détection par scénarios
• La détection par scénarios s’appuie sur la connaissance accumulée au
sujet des attaques et des vulnérabilités spécifiques des systèmes
d’information, systèmes d’exploitation et applications. Le système de
détection d’intrusions contient des informations sur ces vulnérabilités et
recherche des tentatives d’exploiter ces vulnérabilités. Quand une telle
tentative est détectée, une alerte est produite.
• En d’autres termes, toute action qui n’est pas explicitement identifiée
comme un mauvais usage du système d’information, est considérée
comme acceptable. Notons que la détection par scénarios couvre plus que
les attaques connues. Une politique de sécurité peut explicitement
déclarer des événements comme « indésirables » sans qu’il y ait de
vulnérabilité associée. Par exemple, certains protocoles comme SNMP
peuvent être bannis d’un réseau indépendamment de toute vulnérabilité.
• D’autre part, un certain nombre de mécanismes d’attaque ou de
vulnérabilité ont été analysés, pour extraire des caractéristiques
communes à une classe de vulnérabilités, par exemple les débordements
de mémoire.
• Ces modèles abstraits permettent de détecter des phénomènes anormaux
liés à ces mécanismes d’attaque, sans que pour autant la vulnérabilité
spécifique soit connue. La même démarche est utilisée pour généraliser les
scénarios spécifiques à une vulnérabilité, pour les rendre indépendants d’un
outil d’attaque.
• 2.1.3 Scénarios et non-détection
• La non-détection d’une tentative d’attaque se produit tout d’abord lorsqu’il
n’y a pas de signature associée à la vulnérabilité utilisée. Il est difficile de
recueillir les informations nécessaires relatives aux attaques connues et de
maintenir la base à jour avec de nouvelles vulnérabilités et de nouveaux
environnements.
• L’entretien de la base de connaissances du système de détection
d’intrusions exige l’analyse soigneuse de chaque vulnérabilité, c’est donc
une tâche fastidieuse.
• Prenons quelques chiffres pour illustrer ce fait. Un système de détection
d’intrusions aujourd’hui contient entre 500 et 2 000 signatures utilisables.
Les bases de données de vulnérabilités contiennent entre 6 000 et 20 000
vulnérabilités différentes. Il existe donc un rapport de 1 à 10 entre ce que
connaît un système de détection d’intrusions et le corpus de connaissance
sur les vulnérabilités. Ce ratio est stable ; on annonce en moyenne entre
100 et 150 nouvelles vulnérabilités par mois, pour 10 à 20 nouvelles
signatures publiées par les vendeurs de systèmes de détection
d’intrusions.
• Il faut relativiser cet écart par le fait que les vulnérabilités non couvertes
par les systèmes de détection d’intrusions sont anciennes ou concernent
des environnements (applications, systèmes d’exploitation) rares. Par
conséquent, la majorité des systèmes d’informations n’est pas concernée
par ces vulnérabilités.
• La connaissance doit être généralisée pour prendre en compte des
mutations possibles dans les formes de l’attaque ou les cibles. La
connaissance au sujet des attaques est très focalisée, dépendant du
système d’exploitation, de la version, de la plate-forme et de l’application.
Le système de détection d’intrusions qui s’impose est donc étroitement
attaché à un environnement donné.
• La détection des attaques internes est plus difficile. Ces attaques s’appuient
toujours sur des privilèges existants donnés à l’utilisateur. L’abus de ces
privilèges plus que l’utilisation d’une vulnérabilité spécifique est le vecteur
menant à la compromission du système d’information.
• 2.1.4 Scénarios et réaction
• Dans le cadre de la détection par scénarios, l’analyse contextuelle proposée
par le système de détection d’intrusions peut être détaillée, ce qui facilite la
compréhension du problème et donc la prise de décision qui s’impose pour
une action préventive ou corrective.
• Dans la mesure où le service et la machine cible sont identifiés, il est
relativement facile de déterminer si l’attaque a une probabilité de succès, et
si ces effets sont incompatibles avec les objectifs de sécurité. L’opérateur
peut fonder sa décision sur un compromis entre les objectifs de
fonctionnement du système d’information et ses objectifs de sécurité. C’est
un point fondamental à prendre en compte lors de l’implémentation d’une
réaction à une attaque : il peut être légitime de laisser fonctionner le
système d’information même sous attaque.
• 2.1.5 Généralisation des scénarios
• Les prototypes de détection d’intrusions basés sur la détection d’attaques
ont été implémentés initialement en utilisant la logique de premier ordre
et les systèmes experts. Les produits commerciaux emploient
majoritairement une approche par signatures (reconnaissance
d’expressions régulières). Il existe également des implémentations basées
sur les réseaux de Petri et l’analyse des transitions d’état.
• Côté signatures, chacune décrit un certain nombre de caractéristiques
d’une attaque. Ces caractéristiques sont souvent exprimées comme des
chaînes de caractères, des expressions régulières ou des couples champ-
valeur (numéro de port de communication par exemple). Ces
caractéristiques sont représentatives de certaines facettes de la
vulnérabilité ou de l’événement indésirable que l’on souhaite détecter.
• L’expression de la signature dépend naturellement de l’information
disponible dans la source de données au moment où l’exploitation de la
vulnérabilité est en cours. Les avantages de cette approche sont que
l’expression est simple et l’algorithme de recherche de l’expression est
efficace. Malheureusement, les fournisseurs tendent à proposer des
signatures à large spectre (produisant des fausses alertes) ou des
signatures trop spécifiques (inadaptées à des attaques mutantes).
• 2.1.6 Exemple : le format de signatures de Snort
• Le logiciel libre Snort est un système de détection d’intrusions réseau
suivant une approche par signatures. Le langage de signatures de Snort a
été très largement adapté par la communauté sécurité pour les produits
de détection d’intrusions, et également pour les antivirus. Par
conséquent, un opérateur de sécurité aura affaire à ce format de
signature. La description d’un élément à rechercher se fait de la manière
suivante :
• <type d’alerte><couche transport><source IP><source port>
<direction><destination IP><destination port> (options)
où les fonctions suivantes sont listées :
• type d’alerte : le type d’alerte définit le fonctionnement de la signature.
Les mots-clés suivants sont définis : alerte pour envoyer un message si un
événement dont les caractéristiques correspondent à la signature se
produit, log pour enregistrer l’événement dont les caractéristiques
figurent dans la signature, pass pour indiquer que l’événement est
conforme à la politique de sécurité, et dynamic pour indiquer que la
signature est activée par une ou plusieurs autres signatures, mais n’est
pas active directement ;
• couche transport : spécifie le protocole de transport utilisé, par exemple
TCP, UDP ou ICMP (Transmission Control Protocol, Universal Datagram
Protocol, Internet Control Message Protocol). La définition de ce champ
peut activer des traitements particuliers, comme la défragmentation
associée au protocole ou la vérification de l’existence de sessions, réalisés
par les préprocesseurs de Snort ;
• source IP : adresse source sous forme d’une liste de sous- réseaux ;
• source port : numéro individuel de port ou plage de ports ;
• direction : la règle s’applique soit quand le paquet va de la source à la
destination, soit sans notion de direction. Notons que les options
permettent de préciser en plus les rôles de chaque adresse (client ou
serveur) ;
• destination IP : adresse destination sous forme d’une liste de sous-
réseaux ;
• destination port : numéro individuel de port ou plage de ports. Dans le cas
où le port de destination est associé à un protocole applicatif spécifique
(RPC : Remote Procedure Call, HTTP) connu de Snort, des opérations
complémentaires, comme le décodage des données applicatives, peuvent
être réalisées par les préprocesseurs de Snort ;
• options : propriétés complémentaires que doit satisfaire l’événement pour
aboutir au déclenchement de la signature (trigger).
• Il existe un opérateur universel (any) et un opérateur de négation (!) sur
tous ces champs, la combinaison par défaut étant un « et logique » sur
l’ensemble des propriétés (la signature s’applique si l’ensemble des
propriétés est vrai).
• Les possibilités de filtrage de base de ces signatures sont extrêmement
proches des pare-feu de réseau, mais sont loin d’être suffisantes pour la
détection d’intrusions. En particulier, il est souvent nécessaire d’examiner
le contenu du paquet. Par conséquent, le champ options est utilisé pour
deux fonctions distinctes :
• associer à la signature des informations complémentaires, en plus du
message. Pour transmettre davantage d’informations sur la signature, il est
possible de transmettre des pointeurs vers des sources d’information
complémentaires. À chaque signature peuvent être associés une classe et
un niveau de priorité correspondant à la gravité de l’alerte. Si aucun niveau
de priorité n’est spécifié, celui de la classe, qui est obligatoire, s’applique à
l’alerte ;
• restreindre le déclenchement des signatures. Les options permettent de spécifier
la direction du trafic par rapport à la notion de client ou de serveur, et de spécifier
la présence ou l’absence de chaînes de caractères ascii ou hexadécimaux dans les
données examinées (charge du paquet réseau pour Snort, fichier pour un
antivirus, etc.).
• Voici une instance particulière de signature Snort :
• alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"WEB-IIS
MDAC Content-Type overflow attempt"; flow:to_server,established;
uricontent:"/msadcs.dll"; content: "Content-Type\:"; content:!"│0A│"; within:50;
reference:cve, CAN-2002-1142;
reference:url,www.foundstone.com/knowledge/randd-advisories- display.html?
id=337; classtype:web-application-attack; sid:1970; rev:1;)
• L’exemple montre l’écriture d’une signature Snort pour détecter une vulnérabilité
particulière, consistant en l’envoi d’une requête HTTP vers la librairie msadcs.dll
(champ uricontent) pour lequel la chaîne caractères de caractères transmise en
argument contient plus de 50 (absence de caractère fin de chaîne – 0A au bout de
50 caractères). Les paramètres exprimant les adresses source et destination
utilisent des variables qui permettent d’adapter rapidement un grand nombre de
signatures à un réseau particulier, en spécifiant les plages d’adresses adéquates.
Nota :
• une documentation complète de cette signature peut être trouvée sur la
base de données de signatures Snort, SID 1970.
• Ce format de signatures pose plusieurs problèmes. En particulier, la
recherche de contenus se fait sur la base de chaînes (de caractères ou
d’octets), alors qu’il serait souhaitable de disposer d’expressions
régulières. D’autre part, l’implémentation des mots-clés et plus
particulièrement des mots-clés liés aux options varie grandement de
produit à produit. Finalement, le parcours dans un fichier de signatures
n’est pas spécifié ; Snort optimise ce parcours en fonction de ses besoins
et ne donne aucune garantie d’ordre de passage entre des signatures. Il
convient donc de vérifier soigneusement de quelle manière le produit
cible utilise les fichiers de signatures au moment de l’écriture ou de la
modification de celles-ci.
Nota :
• le lecteur recherchant des informations complètes pourra consulter le site
web de Snort ou l’ouvrage.
• 2.2 Détection comportementale
• La détection comportementale est aussi quelquefois appelée détection
d’anomalies, traduction de l’anglais anomaly detection. L’objectif général
est de définir le fonctionnement correct du système d’information surveillé
et d’émettre une alerte si un événement survient qui ne peut pas être
expliqué par ce fonctionnement correct. Elle suppose qu’une intrusion
puisse être détectée en observant une déviation du comportement
attendu du système d’information ou de ses utilisateurs.
• 2.2.5 Généralisation de l’approche
comportementale
• Les systèmes de détection d’intrusions comportementaux ont cherché à
se libérer de la contrainte d’apprentissage. Cette phase a donné côté
serveurs les systèmes immunologiques, et côté réseau les systèmes de
vérification de conformité à un protocole.
• Dans ces deux familles de systèmes, le modèle de comportement est fixé
par des spécifications.
• Dans le premier cas, le fonctionnement des applications surveillées est
analysé pour construire des séquences d’appels systèmes que
l’application utilise pour répondre aux requêtes. Ces séquences sont
regroupées dans une bibliothèque modélisant l’ensemble des fonctions
acceptables de l’application. Une attaque contre l’application doit se
traduire par l’exécution d’une suite d’appels systèmes non contenue dans
la bibliothèque. Dans de nombreux cas, l’objectif de l’attaquant est
effectivement de faire exécuter du code sur sa cible. Si la bibliothèque
contient des séquences suffisamment longues, il est très difficile à
l’attaquant de construire son attaque sans être détecté.
• Dans le deuxième cas, le système de détection d’intrusions vérifie la
conformité des messages échangés avec les spécifications du protocole
utilisé. Si les messages ne sont pas conformes aux spécifications, une
alerte est émise. Ces approches récentes devraient permettre d’améliorer
le fonctionnement des systèmes de détection d’intrusions
comportementaux.
• 2.2.6 Exemple de l’approche comportementale : stide
• Stide (Sequence Time-Delay Embedding) est un système de détection
d’intrusions comportemental fondé sur le suivi des appels systèmes
effectués par les processus. Comme dans tout système de détection
d’intrusions comportemental, l’utilisation de stide comporte deux phases
distinctes : la construction du modèle de comportement normal et la
surveillance du système d’information par rapport à ce modèle de
comportement.
• Le modèle de comportement normal est constitué d’une bibliothèque de
séquences d’appels systèmes. Ces séquences sont extraites d’un ensemble
d’exemples d’exécutions des processus que l’on désire surveiller. Plusieurs
méthodes existent pour les construire, depuis l’analyse du code source
jusqu’à la segmentation d’exécutions réelles du processus.
• Une fois la bibliothèque constituée, la phase de détection vérifie que les
séquences d’appels systèmes effectuées par les processus appartiennent à
la bibliothèque.
• C’est un système intéressant car il permet de détecter des attaques
inconnues et des effets anormaux du fonctionnement d’une application,
comme le lancement d’autres exécutables. Cependant, il est coûteux en
temps processeur et n’est pas disponible comme produit.
• 3. Sources de données
• 3.1 Trafic réseau
3.1.1 Acquisition
3.1.2 Avantages
3.1.3 Inconvénients
3.1.4 Préparation des données
3.2 Traces système
3.2.1 Acquisition
3.2.2 Avantages
3.2.3 Inconvénients
3.3 Traces applicatives
3.3.1 Acquisition
3.3.2 Avantages
3.3.3 Préparation
3.3.4 Inconvénients
• Les méthodes d’analyse présentées dans le paragraphe 2 s’appliquent à
une source de données. Dans tous les cas, il est rare que la source de
données soit utilisée brute par le système de détection d’intrusions. Nous
nous intéressons donc ici non seulement à l’interception des données,
mais également à une préparation de ces données pour supprimer des
dépendances dues aux protocoles ou aux systèmes d’exploitation.
• 3.1 Trafic réseau
• Le trafic réseau est la source de données la plus utilisée par des systèmes
de détection d’intrusions ; de tels systèmes de détection d’intrusions sont
appelés Network Intrusion Detection Systems (NIDS).
• 3.1.1 Acquisition
• La sonde collecte les données en écoutant le réseau et en examinant les
en-têtes et le contenu des paquets. Cette source de données était très
populaire pour les réseaux Ethernet coaxiaux, où une seule sonde avec une
carte en mode écoute réseau (promiscuous mode ) pouvait surveiller un
sous-réseau entier. Les réseaux sont devenus beaucoup plus rapides,
rendant la tâche d’analyse du trafic difficile. D’ailleurs, les réseaux
commutés exigent une configuration spécifique des commutateurs (ports
SPAN) pour permettre la surveillance d’un sous-réseau complet. En
conséquence, les sondes employant cette source de données sont souvent
situées près des points d’accès où le trafic sensible est agrégé.
• Récemment, une autre forme de sonde réseau est apparue, le NNIDS
(Network Node Intrusion Detection System). Un NNIDS est un NIDS qui ne
surveille que le trafic adressé à la machine sur laquelle il réside. Installer le
logiciel de détection d’intrusions sur la machine surveillée induit une
baisse des performances. Il en résulte cependant une meilleure résistance
à certains phénomènes de masquage car le NNIDS tire bénéfice de
l’interprétation des paquets réseau par le système d’exploitation.
• En ce qui concerne l’aspect physique des sondes réseau, ce sont des
boîtiers dédiés avec deux interfaces réseau, une pour l’écoute et une pour
la gestion. L’interface d’écoute n’a pas d’adresse IP et est inconnue du
réseau surveillé. L’interface de gestion devrait être située sur un réseau
séparé physiquement ou logiquement pour éviter les interférences avec la
surveillance et pour assurer la sécurité des transactions de gestion. Le
boîtier dédié est un matériel (recommandé) ou un PC standard
convenablement durci avec le logiciel d’exploitation et le logiciel de
détection approprié installés. Le choix d’un matériel est recommandé
pour la sécurité (aucun durcissement spécifique requis) et les
performances.
• 3.1.2 Avantages
• L’utilisation de cette source permet tout d’abord la détection des attaques
spécifiques au réseau. Il y a un certain nombre d’attaques du réseau, en
particulier les attaques par déni de service, qui ne peuvent pas être détectées
d’une manière aisée en recherchant l’information sur le système, mais plutôt
en analysant le trafic réseau.
• Ensuite, cette source de données minimise l’impact sur le système
d’information surveillé. Les données sont collectées sur une machine séparée,
sans impact sur le reste du réseau. Par conséquent, l’installation des outils de
détection d’intrusions est facilitée parce qu’ils n’affectent pas le reste du
système d’information.
• Cette source permet d’homogénéiser le format des données à traiter,
indépendamment des systèmes d’exploitation utilisés et (au moins en première
approximation) des services offerts par le système d’information surveillé. Le
standard de fait TCP/IP facilite l’acquisition, le formatage et l’analyse.
Cependant, l’indépendance vis-à-vis des systèmes d’exploitation installés dans
le système d’information surveillé peut conduire à des erreurs de diagnostic
lorsque les implémentations des différentes piles IP n’interprètent pas le
standard de la même manière.
• Les réseaux haut débit et commutés ont introduit de nouveaux problèmes
pour l’insertion des sondes dans le réseau. Cependant, dans un contexte
de besoin de garantie de service, l’utilisation d’espions matériels permet
l’utilisation des sondes réseau sans perturber les systèmes surveillés.
• 3.1.3 Inconvénients
• Plusieurs problèmes spécifiques des réseaux peuvent se poser The
Intrusion Detection Message Exchange Format.
• Masquage des adresses : tout d’abord, la traduction d’adresses réseau
(NAT) pose le problème de la corrélation d’adresses IP. Quand les flux
d’entrée et de sortie ne circulent pas sur le même segment de réseau
(cela semble devenir le cas des environnements d’hébergement pour des
raisons de performance et de fiabilité), le système de détection
d’intrusions voit seulement une des deux directions du flux et ne peut pas
reconstruire les sessions (TCP).
• Chiffrement des paquets : le trafic chiffré empêche le système de
détection d’intrusions d’examiner la charge utile du paquet lorsque le
chiffrement protège la couche applicative (SSH ou SSL par exemple).
• Si un médiateur (proxy ) SSL est employé, localiser le NIDS après le
médiateur est la manière la plus efficace de surveiller le trafic HTTP. Dans
le cas des réseaux privés virtuels, une partie des en-têtes est également
masquée.
• Fragmentation : la fragmentation au niveau IP d’une part et au niveau
transport d’autre part doit être traitée correctement pour mettre à
disposition de l’algorithme d’analyse la totalité des données applicatives
transportées.
• Fiabilité de l’association entre adresse source et attaquant : de
nombreuses attaques peuvent se faire en utilisant des adresses IP fictives
(IP spoofing ), lorsque l’attaquant n’a pas besoin de recevoir de réponse
de sa cible. D’autre part, un attaquant peut traverser plusieurs systèmes
(stepping stones ) pour masquer l’origine de l’attaque. Finalement,
certaines attaques par déni de service fonctionnent en incitant d’autres
agents à générer du trafic répondant à la cible (reflectors ). Par
conséquent, l’association entre attaquant et adresse IP est peu fiable, et
de nombreuses vérifications doivent être entreprises pour être certain de
l’identification de l’attaquant.
• Pérénité de l’adresse IP : dans de nombreuses organisations, et
particulièrement chez les FAI (fournisseur d’accès à Internet), les adresses
sont allouées dynamiquement (DHCP : Dynamic Host Control Protocol) à
partir d’un pool. L’identification de l’auteur d’un acte malveillant
demande donc d’auditer l’allocation d’adresses en fonction du temps.
• 3.2 Traces système
• Les sources système regroupent les diverses données disponibles au
niveau du système d’exploitation. Les systèmes de détection d’intrusions
employant des ressources système sont nommés HIDS (Host-based
Intrusion-Detection Systems).
• 3.2.1 Acquisition
• Syslog sous Unix (format de facto en cours de normalisation à l’IETF ) et le
système d’audit « NT event log » sous Microsoft Windows NT fournissent
à des applications un service pour identifier, horodater et stocker
l’information relative à leur comportement. L’utilisation de ces deux
sources est naturelle et, de fait, elles sont employées par beaucoup de
HIDS ou d’autres outils de gestion d’alertes comme base pour corréler des
données provenant de plusieurs sources.
• Beaucoup de systèmes d’exploitation offrent un audit C2 pour être
conformes aux exigences du gouvernement des États-Unis sur l’achat des
systèmes informatiques. L’audit C2 fournit une trace de toutes les
opérations privilégiées exécutées par un logiciel d’exploitation,
habituellement par des appels systèmes. L’audit C2 offre l’identification
forte de l’utilisateur, traçant les éventuels changements d’identifiant jusqu’à
l’utilisateur d’origine. Il a été incorporé dans de nombreux prototypes de
HIDS, mais a été abandonné par les produits commerciaux en raison d’un
fort impact sur les performances du système d’exploitation surveillé, et
d’une utilisation plus difficile, notamment en milieu hétérogène.
• Hewlett-Packard a développé un système de détection d’intrusions
propriétaire pour leur système d’exploitation HP/UX. Ce système, installé sur
HP 9000, suit une approche similaire à celle de l’audit C2, mais il repose sur
l’usage d’un dispositif d’acquisition des appels systèmes intéressants pour le
moteur d’analyse. Ce dispositif est spécifique au système d’exploitation
HP/UX.
• 3.2.2 Avantages
• Le principal avantage des données relatives au système d’exploitation est
leur précision. C’est sur cette base qu’un HIDS est capable de produire moins
de fausses alarmes tout en fournissant des informations plus détaillées sur
leur contexte permettant de fixer les seuils de tolérance.
• En particulier, les différents acteurs sont souvent correctement et finement
identifiés. Les informations de contexte, en particulier de réussite, sont
attachées à la trace système pour chaque événement surveillé, ce qui permet de
savoir si la tentative malveillante a effectivement eu des suites.
• 3.2.3 Inconvénients
• L’élément capital des dispositifs d’acquisition d’informations relatives au
système d’exploitation est que, soit le HIDS doit résider sur le système
d’exploitation hôte, soit l’information doit être transportée. Il y a donc une
dégradation des performances similaire à celle induite par un NNIDS.
• D’autre part, il y a nécessairement installation d’une application système sur les
serveurs surveillés. Cette installation a souvent un impact important sur la
gestion du système, et présente donc un obstacle important à la mise en place.
• 3.3 Traces applicatives
• Les informations applicatives regroupent toutes les traces maintenues
indépendamment par les applications. Les systèmes de détection d’intrusions
employant des données applicatives sont également considérés comme des
HIDS. Cependant, une application distribuée (base de données sur machine
répartie par exemple) fonctionnant sur plusieurs machines ou dans des
environnements multiprocesseurs est considérée comme une unique source de
données.
• 3.3.1 Acquisition
• Les exemples typiques de sources d’informations applicatives sont les logs
de serveurs HTTP stockant les requêtes reçues par le serveur ainsi que le
résultat de leur exécution (par exemple sous le format CLF – Common Log
Format – ou sous des formats spécifiques type Apache) ou les traces de
requêtes vers une base de données.
• Le code suivant montre un exemple de ligne de log HTTP :
• <client> <auth_unix> <auth_http> [<timestamp>] "<method> <URI>
HTTP/1.x" <status> <bytes> 1.2.3.4 - herve [13/Apr/2003 10:20:35 +0200]
"GET / HTTP/1.0" 200 2435
• Le champ client contient l’identité (adresse IP ou nom) de la machine d’où
provient la requête. Si cette machine se trouve derrière un pare-feu ou un
médiateur (proxy ), l’identité peut être celle de cet équipement
intermédiaire. Les deux champs suivants identifient l’utilisateur par rapport
au serveur, s’il y a lieu. La requête est ensuite estampillée et son contenu
conservé. Finalement, la ligne contient le code retour (200 indique un
fonctionnement normal) et le nombre d’octets renvoyés au client.
• Cette ligne ne contient que les en-têtes de la requête HTTP. Elle permet
cependant d’obtenir de nombreuses informations sur le fonctionnement
du serveur, puisque le champ URI contient les arguments passés et que le
champ status indique si la transaction s’est déroulée correctement.
• 3.3.2 Avantages
• Ces données sont souvent plus précises et condensées que les sources de
logiciel d’exploitation, parce qu’elles représentent des opérations qui sont
considérées comme atomiques du point de vue de l’application, même si
elles sont éclatées en milliers d’appels systèmes. Par exemple, chaque
ligne de trace HTTPD représente une demande qui a été reçue et traitée
par le serveur. Ces traces fournissent des informations plus pertinentes
sur la transaction, plus facilement que ne pourraient le faire une
reconstruction des appels systèmes ou une reconstitution des sessions au
niveau réseau. En conclusion, les traces contiennent l’information telle
qu’elle a été traitée par l’application.
• 3.3.3 Préparation
• La préparation des données applicatives dépend fortement de
l’application. Dans certains cas, cette préparation peut être très légère,
car l’application sauve dans le fichier de trace des messages déjà décodés
et normalisés. C’est souvent le cas des messages Syslog.
• Dans d’autres cas, par exemple les logs HTTP, il est nécessaire d’appliquer
les mêmes algorithmes de décodage que ceux utilisés sur les sources
réseau, car l’information est insérée dans les fichiers de trace telle qu’elle
a été reçue du réseau.
• 3.3.4 Inconvénients
• Le fichier de trace est parfois réservé aux cas d’erreur et de fin anormale
des processus. Ces fichiers ne contiennent pas assez d’information pour
les HIDS. Il est nécessaire de collecter l’ensemble des informations des
transactions normales, car celles-ci peuvent contenir des actions
malveillantes.
• Il est dit ci-avant que chaque ligne de trace d’une source, telle que le log d’un
serveur web, représente une transaction. C’est une approximation car certaines
transactions peuvent produire des lignes multiples dans le fichier de trace.
• Exemple :
• une page HTML contenant des images incluses produira plusieurs requêtes et
donc de multiples lignes dans le fichier de trace, une pour la page principale plus
une par image téléchargée.
• Il est dit ci-avant que chaque ligne de trace d’une source telle que HTTPD
représente une transaction. Cela ne tient pas compte des cas d’attaque par déni
de service qui gèlent le serveur avant que l’entrée appropriée ne soit écrite dans
le fichier de trace. Quelques attaques par déni de service contre Microsoft IIS ne
génèrent pas la moindre trace si l’attaque est réussie. Cette situation est
habituellement corrigée par la publication de mises à jour du système concerné
pour éliminer ces vulnérabilités.
• La prise en compte et la visualisation du fichier de trace doivent être faites avec
certaines précautions, en particulier lorsqu’il s’agit de traces comportant
certaines séquences de caractères binaires ou des encodages spécifiques.
Certains fichiers de trace conservent le codage et l’exécution de l’attaque peut
être lancée durant la lecture de la trace.
• 4. Préparation et mise en œuvre
• 4.1 Choix de la technologie
4.1.1 Mise en œuvre interne ou service
4.1.2 Choix de la source de données
4.1.3 Évaluation des systèmes de détection
d’intrusions
4.1.4 Logiciel libre ou produit commercial
4.1.5 Technologies et outils connexes
4.2 Installation et configuration
4.2.1 Localisation
• 4.2.2 Implantations possibles
4.3 Maintenance opérationnelle
4.3.1 Logiciel
4.3.2 Signatures
4.4 Traitement des alertes
4.4.1 Analyse
4.4.2 Réponse
4.4.3 Gestion des fausses alertes
4.4.4 Gestion des incidents internes
4.4.5 Gestion des tentatives d’attaque
externe
• De nombreux paramètres sont à prendre en compte lors du déploiement
d’un ensemble de sondes de détection d’intrusions pour protéger un
système d’information ou un réseau. Il convient tout d’abord de ne pas
négliger le coût humain d’une telle opération. En effet, déployer et
maintenir un tel système demande des opérateurs formés à la sécurité,
disponibles pour analyser les alertes produites.
• 4.1 Choix de la technologie
• 4.1.1 Mise en œuvre interne ou service
• La mise en œuvre d’un système de détection d’intrusions est complexe et
coûteuse. De ce fait, plusieurs sociétés proposent des services
externalisés liés à la détection d’intrusions. Deux fonctions principales
sont ainsi externalisées :
• la gestion et la maintenance des sondes. Les sondes de détection
d’intrusions doivent être fréquemment mises à jour pour préserver leur
efficacité. Ce service assure que les dernières bases de connaissances sont
en place et que la configuration est correcte. Il peut également prendre
en compte les aspects performance, pour assurer que les sondes sont
correctement dimensionnées par rapport au flux de données à analyser ;
• la gestion des alertes. Les différentes alertes sont collectées par la société
de service, acheminées jusqu’à un centre opérationnel et analysées par
des opérateurs spécialisés.
• Les données dans ce cas ne sont pas uniquement des alertes provenant de
sondes de détection d’intrusions, mais peuvent inclure toutes les sources
de données importantes, audits de pare-feu par exemple. La société de
service fournit à ses clients des rapports périodiques sur la surveillance du
système et peut également intervenir en cas d’incident grave.
• Dans les deux cas, la définition contractuelle du service est l’élément
important à analyser. Dans la mesure où les sondes de détection
d’intrusions peuvent être prises en défaut, ce type de service ne
fonctionne pas comme une assurance pouvant prendre en charge une
contre-partie financière en cas d’attaque réussie.
• Le modèle du service est intéressant essentiellement pour de petites
structures, et s’il est couplé à d’autres services de sécurité externalisés,
pare-feu ou authentification par exemple. Dans ce cas, le fournisseur de
service peut effectivement mettre en place une corrélation des alertes
provenant des différentes sources de données, et mesurer effectivement le
risque encouru par le client. Pour de grosses structures, le traitement
interne est plus intéressant car l’information sensible concernant la
topologie du réseau reste interne. En revanche, il faut que le système
choisi (sondes et consoles) s’intègre correctement aux autres outils de
gestion de système et de réseau pour pouvoir utiliser les opérateurs et les
procédures existants.
• 4.1.2 Choix de la source de données
• La première chose à prendre en compte lors du déploiement de sondes de
détection d’intrusions est le choix HIDS/NNIDS ou NIDS. L’installation d’un HIDS
a un impact sur le serveur sur lequel il est installé, puisqu’il utilise une partie
des ressources de ce serveur. Cela implique également des opérations de
maintenance supplémentaires sur le serveur pour la mise à jour des signatures.
• L’installation d’un ou de plusieurs NIDS n’est pas neutre non plus, parce qu’elle
exige la disponibilité de points de branchements permettant d’écouter le
réseau. Plusieurs techniques sont possibles : recopie de ports (span ), insertion
de dispositifs de dérivation (hubs, taps ) ou de partage de charge (toplayer ).
Ces dispositifs peuvent avoir un impact négatif sur les performances et/ou la
fiabilité du réseau, ou le rendre plus difficile à administrer.
• Il est recommandé d’utiliser un système de détection d’intrusions et un outil
d’évaluation de vulnérabilité sur les serveurs sensibles. Il y a peu
d’inconvénients pour l’opérateur (exécution de l’extérieur), et l’augmentation
de la conscience du besoin de sécurité est accrue par la mise en évidence de la
vulnérabilité des serveurs.
• 4.1.3 Évaluation des systèmes de détection
d’intrusions
• Les licences d’évaluation sont un enjeu sensible dans le domaine des
systèmes de détection d’intrusions car les vendeurs ne souhaitent pas
exposer le fonctionnement interne et la connaissance contenue dans leur
produit. Dans un premier temps, les résultats obtenus durant l’évaluation
peuvent apparaître comme non significatifs parce que la base de
signatures n’est pas explicite, parce que le profil du trafic n’est pas
caractérisé ou parce que la distinction entre trafic normal et trafic
malveillant est trop évidente. La plupart des fournisseurs présentent sur
leurs serveurs web des résultats d’évaluation par un laboratoire d’essai.
Aucun d’eux ne semble offrir une preuve réelle de l’efficacité de ses
produits.
• Des résultats d’évaluation intéressants sont publiés régulièrement par
divers magazines ou des laboratoires spécialisés, par exemple The NSS
Group. Cela peut fournir un premier ensemble de critères pour une phase
pilote.
• La mise en œuvre d’un système de détection d’intrusions nécessite une
phase d’expérimentation pour s’assurer qu’elle s’adapte correctement
dans l’environnement qu’elle surveille. Aucun moyen ne permet de
prévoir l’efficacité d’un système de détection d’intrusions en se
dispensant de cette phase.
• 4.2 Installation et configuration
• 4.2.1 Localisation
• Chaque fournisseur de systèmes de détection d’intrusions fournit des exemples
d’architecture. Les points suivants doivent être précisés :
• l’installation d’un système de détection d’intrusions en réseau en amont du
pare-feu crée un risque de surcharge en quantité d’information. Cela n’est utile
que si le surcroît d’alertes corrélées avec les traces du pare-feu permet de
détecter un franchissement du pare-feu. Cette organisation permet également
de surveiller le trafic sortant et de détecter la fuite de données sensibles
(documents sensibles, chevaux de Troie, commandes d’administration) ;
• l’installation d’un système de détection d’intrusions en réseau en aval du pare-
feu fournit des informations intéressantes sur des attaques effectives qui ont
traversé le pare-feu ainsi que sur le trafic sortant suspect (protocoles interdits,
chevaux de Troie), tout en bloquant les tentatives malveillantes. Ce type
d’installation ne permet cependant pas de détecter du trafic dont l’intention
est de provoquer un déni de service par saturation.
Figure 3 - Positionnement possible des sondes de détection d’intrusions
dans une architecture de réseau classique
• En général, les sondes de détection d’intrusions sont naturellement
installées dans la DMZ (zone démilitarisée) pour surveiller le trafic global
du réseau ou le trafic sur des serveurs sensibles. Dans ce cas, elles doivent
être configurées pour comprendre la direction des différents flux
d’information, afin en particulier de déterminer si le trafic d’attaque
provient de l’Internet ou si des machines de la DMZ, ayant été attaquées et
compromises par ailleurs, sont utilisées dans des scénarios d’attaque. C’est
une configuration souvent délicate à mettre en œuvre car de nombreux
outils de détection d’intrusions ont une notion de réseau interne et
externe, et cherchent essentiellement des attaques depuis le réseau
externe vers le réseau interne.
• 4.2.2 Implantations possibles
• La figure 3 résume les implantations possibles des différents composants
dans un réseau d’entreprise, ainsi que le type de configuration appliqué
aux sondes. Les consoles de gestion des alertes sont absentes de la figure
car elles se présentent le plus souvent sous la forme de clients légers, par
exemple navigateurs web ou applications java, qui accèdent au
concentrateur d’alertes à partir de PC sur le réseau d’entreprise.
• Dans ce schéma, il convient de noter que la traversée de plusieurs pare-feu
peut se révéler nécessaire pour faire communiquer les différentes entités.
• Il faut donc s’assurer que les sondes peuvent travailler dans les deux modes
push (initiation des connexions par la sonde) et pull (initiation des connexions
par les consoles) afin de ne pas souffrir de problèmes de configuration. L’idéal
pour la sécurité et la disponibilité des communications est de disposer d’un
réseau physiquement séparé. En pratique, on se contentera de VLAN (Virtual
Local Area Network) et de configurations spécifiques des commutateurs
assurant une bonne priorité du trafic d’alertes en cas de surcharge.
• 4.3 Maintenance opérationnelle
• 4.3.1 Logiciel
• Les mises à jour du logiciel des sondes de détection d’intrusions sont
programmées à une fréquence au moins annuelle et ces mises à niveau sont
obligatoires pour préserver leur efficacité. Par conséquent, une révision du
déploiement de n’importe quel système de détection d’intrusions est
susceptible de se produire annuellement.
• L’impact du déploiement du système de détection d’intrusions doit être évalué.
En particulier, il faut vérifier s’il y a des exigences de qualification sur des
machines d’essai avant la mise en production.
• L’impact sur les performances du réseau ou des serveurs doit être mesuré.
Finalement, les changements de configuration du réseau ou des serveurs, et les
coupures de service, doivent être pris en compte.
• 4.3.2 Signatures
• Les signatures constituent le cœur de tous les systèmes de détection
d’intrusions. De nouvelles vulnérabilités ou méthodes d’évasion apparaissent
fréquemment, et donc les signatures doivent être mises à jour pour bénéficier
d’une détection efficace des attaques les plus récentes. Les mises à jour des
signatures sont disponibles chez la plupart des fournisseurs avec une fréquence
mensuelle, parfois plus souvent quand beaucoup de nouvelles vulnérabilités
critiques ou des attaques à grande échelle apparaissent. Ces mises à jour
prennent souvent la forme d’une configuration manuelle dans les cas urgents,
et la signature « officielle » n’est intégrée que plus tard. Ces mises à jour sont
importantes aussi du côté du logiciel, car de nouvelles attaques peuvent
demander de nouvelles fonctionnalités du logiciel d’analyse pour être
détectables. Les nouvelles signatures utilisent naturellement les nouvelles
fonctionnalités logicielles disponibles, et donc les logiciels doivent également
être mis à jour régulièrement.
• En déployant un système de détection d’intrusions, une phase
d’apprentissage et d’ajustement des configurations est très probablement
nécessaire. La liste suivante donne une indication des points à prendre en
compte tout en projetant un déploiement de la technologie :
• déployer en utilisant une politique très large de sécurité, et puis
restreindre en fonction des besoins réels pour réduire le nombre
d’alertes. Cela doit être fait en prenant en compte la charge du réseau ou
du serveur, et la charge des opérateurs et des analystes. Cette phase de
réglage dure environ deux semaines. Il faut s’attendre à recevoir un grand
nombre d’alertes, et donc être très attentif dans les premiers jours pour
désactiver rapidement les signatures induisant des avalanches d’alertes.
En particulier, les signatures surveillant des événements normaux, comme
un échange de cookies HTTP, peuvent avoir ce comportement ;
• déployer de manière restrictive en ne surveillant que peu de protocoles
ou de vulnérabilités et augmenter progressivement la couverture. Cela
permet de bien mesurer l’impact de chaque protocole individuellement
sur le réseau surveillé.
• Les protocoles d’annuaires (DNS, LDAP : Lightweight Directory Access
Protocol), de partages de fichiers (NFS : Network File System, Netbios) et
de connexion web (HTTP) peuvent être étudiés séparément pour mesurer
leur pertinence dans l’environnement surveillé.
• Cookies : informations envoyées par un serveur web à un navigateur,
permettant de réaliser des états dans le protocole HTTP.
• Dans les deux cas, la réduction a lieu non pas en désactivant
définitivement les signatures non désirées, mais en spécifiant pour quelles
machines ou adresses ces signatures doivent être utilisées.
• Un moyen rapide de personnalisation consiste à surveiller non pas une
attaque spécifique mais seulement le protocole présentant un trafic
indésirable.
• Exemple :
• si une machine n’est pas un serveur HTTP, elle ne doit pas recevoir de
trafic sur le port 80.
• 4.4 Traitement des alertes
• 4.4.1 Analyse
• L’analyse des alertes est une tâche très importante pour les systèmes de
détection d’intrusions, car beaucoup de temps est dépensé pour
comprendre si les alertes sont liées à une menace, si elles sont
accidentelles ou si elles sont simplement de fausses alertes. Dans le cas
d’une menace, la gestion des alertes doit aider à déterminer si la menace
correspond à une recherche de vulnérabilités potentielles (scan ) ou à une
tentative réellement malveillante. Elle doit évaluer quel bénéfice pourrait
tirer l’attaquant en cas de réussite, qu’il s’agisse d’un accès malveillant ou
d’un vol d’information.
• La gestion des alertes est une des tâches les plus difficiles à accomplir et
c’est un des chemins d’évolution les plus importants. Les outils
commerciaux dédiés à la gestion des alertes sont encore de première
génération. Ils sont souvent difficiles à installer et à utiliser car ils
interagissent avec des bases de données relationnelles et les sondes du
système de détection d’intrusions.
• Ces systèmes de gestion automatique des alertes sont capables aujourd’hui
de gérer un archivage à long terme, d’établir des rapports sur les tentatives
d’intrusions et de mettre en évidence les alertes majeures. Des fonctions de
corrélation plus élaborées deviendront rapidement disponibles.
• Ces systèmes sont indispensables lorsqu’un déploiement significatif
(dépassant une dizaine de sondes) est envisagé.
• 4.4.2 Réponse
• Les mécanismes de réponse aux alertes doivent permettre de stopper une
attaque ou de limiter ses effets, automatiquement. Ils doivent tout d’abord
préserver le fonctionnement normal du système d’information. Dans l’état
de l’art actuel, peu d’options sont disponibles, et leur efficacité est limitée.
Les options principales sont la fermeture de la connexion TCP incriminée
par insertion de paquets RST dans le flux réseau (peu efficace car cela oblige
à deviner certains paramètres de la communication), la reconfiguration du
pare-feu pour bloquer les communications avec les adresses identifiées
comme malveillantes et le blocage de comptes utilisateurs.
• Appliquer des mécanismes de réponse automatique est risqué aujourd’hui,
car l’on observe encore des taux trop élevés de fausses alarmes. Ces
mécanismes sont aussi facilement détectés par les attaquants, qui peuvent
ensuite les utiliser pour des dénis de service auto-infligés.
• Exemple :
• si le mécanisme choisi est la reconfiguration du pare-feu, un attaquant
peut simuler un grand nombre d’adresses différentes (IP spoofing ) et
ainsi forcer le fournisseur de service à refuser un grand nombre de
communications.
• IP spoofing : pratique par laquelle l’attaquant va initialiser des
communications avec des adresses IP différentes de celles de sa machine.
Cela permet de mettre en œuvre les attaques par réflexion, ou de
nombreuses attaques par déni de service.
• La réponse à une intrusion est une question de politique de sécurité. Il est
souhaitable de procéder avec des fiches de consigne permettant aux
opérateurs de traiter le plus gros volume d’alertes. Nos expérimentations
montrent qu’en créant des fiches de consignes pour 10 % des signatures,
les opérateurs peuvent traiter 95 % des alertes qui leur sont remontées,
car elles constituent la majorité des occurrences d’alertes. De plus, en cas
d’incident opérationnel (panne de routeur, de serveur), le système de
détection d’intrusions observe des comportements nouveaux en relation
avec la résolution du problème et les alertes correspondantes sont
facilement identifiées et éliminées. Finalement, il convient d’ajouter que
ces comportements sont relativement stables, à savoir que les alertes
majoritaires le resteront vraisemblablement pendant plusieurs mois.
• Les aspects décrits dans les paragraphes 4.4.3, 4.4.4 et 4.4.5 doivent être
pris en considération (dans l’ordre dans lequel ils sont susceptibles
d’apparaître).
1
2 Organismes
3 Logiciels
4 Bases de données
• 1
• Thèses
• MICHEL (C.) - Langage de description d’attaques pour la détection
d’intrusions par corrélation d’événements ou d’alertes en environnement
réseau hétérogène. - Thèse de doctorat, université de Rennes-I (2003).
• ZIMMERMANN (J.) - Détection d’intrusions paramétrée par la politique
par contrôle de flux de références. - Thèse de doctorat, université de
Rennes-I (2003).
• MARRAKCHI (Z.) - Détection d’intrusions comportementale dans les
systèmes à objets répartis. - Thèse de doctorat, université de Rennes-I
(2002).
• TIBOURTINE (K.) - Détection d’intrusions dans les réseaux de
communication. - Thèse de doctorat, université de Paris-XI (1995).
• DEBAR (H.) - Application des réseaux de neurones à la détection
d’intrusions sur les systèmes informatiques. - Thèse de doctorat,
université de Paris-VI (1993).
• 2 Organismes
• Internet Engineering Task Force (IETF) http:/www.ietf.org
• Intrusion Detection Exchange Format Working Group (IDWG)
http://www.ietf.org/html.charters/idwg-charter.html
• NSS Group http://www.nss.co.uk
• 3 Logiciels
• Snort http://www.snort.org
• Stide (Sequence Time-Delay Embedding)
http://www.cs.unm.edu/~immsec/systemcalls.htm
• Nessus http://www.nessus.org
• Prelude http://www.prelude.ids.org
• Open Source Security Information Management (OSSIM)
http://www.ossim.net
• 4 Bases de données