2.3.1.2.4. Classification des systèmes de
détection d'intrusions
Nous pouvons classifier les systèmes de
détection d'intrusions selon cinq critères :
· la source des données à analyser ;
· le lieu de l'analyse des données ;
· la fréquence de l'analyse ;
· le comportement en cas d'attaque détectée
;
· la méthode de détection utilisée.
? Sources des données à
analyser
Les sources possibles de données à analyser
sont une caractéristique essentielle des systèmes de
détection d'intrusions puisque ces données constituent la
matière première du processus de détection. Les
données proviennent soit de logs générés par le
système d'exploitation, soit de logs applicatifs, soit d'informations
provenant du réseau, soit encore d'alertes générées
par d'autres IDS.
o Source d'information système
Un système d'exploitation fournit
généralement plusieurs sources d'information :
· Commandes systèmes : presque
tous les systèmes d'exploitation fournissent des commandes pour avoir un
« instantané » de ce qui se passe ;
28
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
? Accounting : l'accounting fournit de
l'information sur l'usage des ressources partagées par les utilisateurs
(temps processeur, mémoire, espace disque, débit réseau,
applications lancées, ...) ;
? Audit de sécurité : tous les
systèmes d'exploitation modernes proposent ce service pour fournir des
événements système, les associer à des utilisateurs
et assurer leur collecte dans un fichier d'audit. On peut donc potentiellement
disposer d'informations sur tout ce que font (ou ont fait) les utilisateurs :
accès en lecture à un fichier, exécution d'une
application, etc.
o Source d'information réseau
Des dispositifs matériels ou logiciels (snifer)
permettent de capturer le trafic réseau. Cette source d'information est
particulièrement adaptée lorsqu'il s'agit de rechercher les
attaques en déni de service qui se passent au niveau réseau ou
les tentatives de pénétration à distance. Le processus
d'interception des paquets peut être rendu quasiment invisible pour
l'attaquant car on peut utiliser une machine dédiée juste
reliée à un brin du réseau, configurée pour ne
répondre à aucune sollicitation extérieure et dont
personne ne soupçonnera l'existence. Néanmoins, il est difficile
de garantir l'origine réelle de l'attaque que l'on a
détectée car il est facile de masquer son identité en
modifiant les paquets réseau.
o Source d'information applicative
Les applications peuvent également constituer une
source d'information pour les IDS. Les capteurs applicatifs sont de deux
natures :
? Capteur interne : le filtrage sur les
activités de l'application est alors exécuté par le code
de l'application ;
? Capteur externe : le filtrage se fait
à l'extérieur de l'application. Plusieurs méthodes sont
utilisées : un processus externe peut filtrer les logs produits par
l'application ou bien l'exécution de l'application peut être
interceptée (au niveau de ses appels de librairies ou d'un proxy
applicatif).
Prendre ses informations directement au niveau de
l'application présente plusieurs avantages. Premièrement, les
données interceptées ont réellement été
reçues par l'application.
Il est donc difficile d'introduire une
désynchronisation entre ce que voit passer le capteur applicatif et ce
que reçoit l'application contrairement à ce qu'il peut se passer
avec les capteurs réseau. Ensuite, cette source d'information est
généralement de plus haut niveau que
29
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
les sources système et réseau. Cela permet donc
de filtrer des événements qui ont une sémantique plus
riche. Finalement, si l'on prend l'exemple d'une connexion web chiffrée
par SSL, un capteur réseau ne verra passer que des données
pseudo-aléatoires tandis qu'un capteur associé au serveur web
pourra analyser le texte en clair de la requête.
o Source d'information basée IDS
Une autre source d'information, souvent de plus haut niveau
que les précédentes, peut être exploitée. Il s'agit
des alertes remontées par des analyseurs provenant d'un IDS. Chaque
alerte synthétise déjà un ou plusieurs
événements intéressants du point de vue de la
sécurité.
Elles peuvent être utilisées par un IDS pour
déclencher une analyse plus fine à la suite d'une indication
d'attaque potentielle. De surcroît, en corrélant plusieurs
alertes, on peut parfois détecter une intrusion complexe de plus haut
niveau. Il y aura alors génération d'une nouvelle alerte plus
synthétique que l'on qualifie de méta-alerte.
? Localisation de l'analyse des
données
On peut également faire une distinction entre les IDS
en se basant sur la localisation réelle de l'analyse des données
:
? Analyse centralisée : certains IDS
ont une architecture multi-capteurs (ou multisondes). Ils centralisent les
événements (ou alertes) pour analyse au sein d'une seule machine.
L'intérêt principal de cette architecture est de faciliter la
corrélation entre événements puisqu'on dispose alors d'une
vision globale. Par contre, la charge des calculs (effectués sur le
système central) ainsi que la charge réseau (due à la
collecte des événements ou des alertes) peuvent être
lourdes et risquent de constituer un goulet d'étranglement ;
? Analyse locale : si l'analyse du flot
d'événements est effectuée au plus près de la
source de données (généralement en local sur chaque
machine disposant d'un capteur), on minimise le trafic réseau et chaque
analyseur séparé dispose de la même puissance de calcul. En
contrepartie, il est impossible de croiser des événements qui
sont traités séparément et l'on risque de passer à
côté de certaines attaques distribuées.
? Fréquence de l'analyse
Une autre caractéristique des systèmes de
détection d'intrusions est leur fréquence d'utilisation :
30
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
? Périodique : certains
systèmes de détection d'intrusions analysent
périodiquement les fichiers d'audit à la recherche d'une
éventuelle intrusion ou anomalie passée. Cela peut être
suffisant dans des contextes peu sensibles (on fera alors une analyse
journalière, par exemple) ;
? Continue : la plupart des systèmes
de détection d'intrusions récents effectue leur analyse des
fichiers d'audit ou des paquets réseau de manière continue afin
de proposer une détection en quasi temps-réel. Cela est
nécessaire dans des contextes sensibles (confidentialité) et/ou
commerciaux (confidentialité, disponibilité). C'est toutefois un
processus coûteux en temps de calcul car il faut analyser à la
volée tout ce qui se passe sur le système.
? Comportement après détection
Une autre façon de classer les systèmes de
détection d'intrusions consiste à les classer par type de
réaction lorsqu'une attaque est détectée :
? Passive : la plupart des systèmes de
détection d'intrusions n'apportent qu'une réponse passive
à l'intrusion. Lorsqu'une attaque est détectés, ils
génèrent une alarme et notifient l'administrateur système
par e-mail, message dans une console, voire même par beeper. C'est alors
lui qui devra prendre les mesures qui s'imposent ;
? Active : d'autres systèmes de
détection d'intrusions peuvent, en plus de la notification à
l'opérateur, prendre automatiquement des mesures pour stopper l'attaque
en cours. Par exemple, ils peuvent couper les connexions suspectes ou
même, pour une attaque externe, reconfigurer le pare-feu pour qu'il
refuse tout ce qui vient du site incriminé. Des outils tels que
RealSecure ou NetProwler proposent ce type de réaction. Toutefois, il
apparait que ce type de fonctionnalité automatique est potentiellement
dangereux car il peut mener à des dénis de service
provoqués par l'IDS. Un attaquant déterminé peut, par
exemple, tromper l'IDS en usurpant des adresses du réseau local qui
seront alors considérées comme la source de l'attaque par l'IDS.
Il est préférable de proposer une réaction facultative
à un opérateur humain (qui prend la décision finale).
? Méthode de détection
Deux approches de détection ont été
proposées :
31
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
? L'approche comportementale : cette approche
se base sur l'hypothèse selon laquelle nous pouvons définir un
comportement normal de l'utilisateur et que toute déviation par rapport
à celui-ci est potentiellement suspect ;
? L'approche par signature : elle s'appuie
sur un modèle constitué des sections interdites dans le
système d'informatique, ce modèle s'appuie sur la connaissance
des techniques employées par les attaquants : on tire des
scénarios d'attaque et on recherche dans les traces d'audit leur
éventuelle survenue.
o L'approche comportementale
Les détecteurs d'intrusions comportementaux reposent
sur la création d'un modèle de référence
représentant le comportement de l'entité surveillée en
situation de fonctionnement normal. Ce modèle est ensuite utilisé
durant la phase de détection afin de pouvoir mettre en évidence
d'éventuelles déviations comportementales. Pour cela, le
comportement de l'entité surveillée est comparé à
son modèle de référence. Une alerte est levée
lorsqu'une déviation trop importante (notion de seuil) vis-à-vis
de ce modèle de comportement normal est détectée.
Le principe de cette approche est de considérer tout
comportement n'appartenant pas au modèle de comportement normal comme
une anomalie symptomatique d'une intrusion ou d'une tentative d'intrusion.
On peut distinguer deux catégories de profils :
? Profils construits par apprentissage
Parmi les méthodes proposées pour construire les
profils par apprentissage, les plus marquantes sont les suivantes :
? Méthode statistique : le profil est
calculé à partir de variables considérées comme
aléatoires et échantillonnées à intervalles
réguliers. Ces variables peuvent être le temps processeur
utilisé, la durée et l'heure des connexions, etc. Un
modèle statistique est alors utilisé pour construire la
distribution de chaque variable et pour mesurer, au travers d'une grandeur
synthétique, le taux de déviation entre un comportement courant
et le comportement passé ;
? Système expert : ici, c'est une base
de règles qui décrit statistiquement le profil de l'utilisateur
au vu de ses précédentes activités. Son comportement
courant est comparé aux règles, à la recherche d'une
anomalie. La base de règles est rafraîchie
régulièrement ;
32
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
· Réseaux de neurones : la
technique consiste à apprendre à un réseau de neurones le
comportement de l'entité à surveiller. Par la suite, lorsqu'on
lui fournira en entrée les actions courantes effectuées par
l'entité, il devra décider de leur normalité ;
· Analyse de signatures : Il s'agit de
construire un modèle de comportement normal des services réseaux.
Le modèle consiste en un ensemble de courtes séquences d'appels
système représentatifs de l'exécution normale du service
considéré. Des séquences d'appels étrangères
à cet ensemble sont alors considérées comme l'exploitation
potentielle d'une faille du service.
Pour toutes ces méthodes, le comportement de
référence utilisé pour l'apprentissage étant
rarement exhaustif, on s'expose à des risques de fausses alarmes (faux
positifs). De plus, si des attaques ont été commises durant cette
phase, elles seront considérées comme normales (risque de faux
négatifs).
? Profils spécifiant une politique de
sécurité (policy-based)
Pour les IDS dits policy-based, il n'y a pas de phase
d'apprentissage. Leur comportement de référence est
spécifié par une politique de sécurité : la
détection d'une intrusion intervient chaque fois que la politique est
violée. Le profil est ici une politique de sécurité qui
décrit la suite des appels systèmes licites d'une application.
L'approche comportementale possède un certain nombre
d'avantages et d'inconvénients.
Tableau 1.1: Avantages et inconvénient de
l'approche comportementale
|
Avantages
|
|
Inconvénients
|
·
·
|
L'analyse comportementale n'exige
pas des connaissances préalables sur les attaques,
Elle permet la détection de la mauvaise utilisation
des privilèges ;
|
·
|
Les approches comportementales
produisent un taux élevé des alarmes
type faux positif en raison des
comportements imprévisibles des utilisateurs et des
réseaux ;
|
·
|
Elle permet de produire des
informations qui peuvent être employées pour
définir des signatures
|
·
|
Ces approches nécessitent des phases d'apprentissage
pour caractériser les profils de comportement normaux ;
|
|
pour l'analyse basée connaissance.
|
· Les alarmes génériques par
cette approche ne sont pas significatives.
|
|
33
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
o L'approche par scénarios
On construit des scénarios d'attaque en spécifiant
ce qui est caractéristique de l'attaque
et qui doit être observé dans les traces d'audit.
L'analyse des traces d'audit se fait à la recherche de ces
scénarios. Les méthodes proposées à ce jour sont
les suivantes :
· système expert : le
système expert comporte une base de règles qui décrit les
attaques. Les événements d'audit sont traduits en des faits qui
sont interprétables par le système expert. Son moteur
d'inférence décide alors si une attaque répertoriée
s'est ou non produite ;
· analyse de signatures : il s'agit
là de la méthode la plus en vue actuellement. Des signatures
d'attaques sont fournies à des niveaux sémantiques divers selon
les outils (de la suite d'appels système aux commandes passées
par l'utilisateur en passant par les paquets réseau). Divers algorithmes
sont utilisés pour localiser ces signatures connues dans les traces
d'audit. Ces signatures sont toujours exprimées sous une forme proche
des traces d'audit. Si l'on prend l'exemple des NIDS, les algorithmes de
recherche de motifs utilisés permettent d'obtenir de bonnes performances
en vitesse de traitement mais génèrent de nombreuses fausses
alertes ;
· automates à états finis :
plusieurs IDS utilisent des automates à états finis pour
coder le scénario de reconnaissance de l'attaque. Cela permet d'exprimer
des signatures complexes et comportant plusieurs étapes. On passe d'un
état initial sûr à un état final attaqué via
des états intermédiaires. Chaque transition entre états
est déclenchée par des conditions sur les
événements remontés par les capteurs.
L'approche par scénario possède un certain
nombre d'avantages et d'inconvénients :
Tableau 2.2: Avantages et inconvénient de
l'approche par scénario
|
Avantages
|
|
Inconvénients
|
·
|
l'analyse basée connaissance est très efficace
pour la détection d'attaque avec un taux très bas des alarmes de
type faux positif ;
|
·
|
Cette analyse basée connaissance
permet seulement la détection des
attaques qui sont connues au
préalable. Donc, la base de
|
·
|
Les alarmes générées sont
significatives.
|
|
connaissances doit être constamment mise à jour
avec les signatures des nouvelles attaques ;
|
|
34
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
? Le risque que l'attaquant peut influencer sur la
détection après la
reconnaissance des signatures.
|
|
2.3.1.2.5. Les différents IDS
Les différents IDS se caractérisent par leur
domaine de surveillance. Celui-ci peut se situer au niveau d'un réseau
d'entreprise, d'une machine hôte, d'une application... Nous allons tout
d'abord étudier la détection d'intrusion basée sur
l'hôte, puis basée sur une application, avant de nous
intéresser aux IDS réseaux, NIDS et NNIDS (Network IDS et Node
Network IDS).
? La détection d'intrusions basée sur
l'hôte
Les systèmes de détection d'intrusions
basés sur l'hôte ou RIDS (Rost IDS) analysent exclusivement
l'information concernant cet hôte. Comme ils n'ont pas à
contrôler le trafic du réseau mais "seulement" les
activités d'un hôte ils se montrent habituellement plus
précis sur les types d'attaques subies.
De plus, l'impact sur la machine concernée est
sensible immédiatement, par exemple dans le cas d'une attaque
réussie par un utilisateur. Ces IDS utilisent deux types de sources pour
fournir une information sur l'activité de la machine : les logs et les
traces d'audit du système d'exploitation. Chacun a ses avantages : les
traces d'audit sont plus précises et détaillées et
fournissent une meilleure information alors que les logs qui ne fournissent que
l'information essentielle sont plus petits. Ces derniers peuvent être
mieux contrôlés et analysés en raison de leur taille, mais
certaines attaques peuvent passer inaperçues, alors qu'elles sont
détectables par une analyse des traces d'audit.
Ce type d'IDS possède un certain nombre d'avantages :
il est possible de constater immédiatement l'impact d'une attaque et
donc de mieux réagir. Grâce à la quantité des
informations étudiées, il est possible d'observer les
activités se déroulant sur l'hôte avec précision et
d'optimiser le système en fonction des activités
observées.
De plus, les RIDS sont extrêmement
complémentaires des NIDS. En effet, ils permettent de détecter
plus facilement les attaques de type "Cheval de Troie", alors que ce type
d'attaque est difficilement détectable par un NIDS. Les RIDS permettent
également de détecter des attaques impossibles à
détecter avec un NIDS, car elles font partie de trafic crypté.
35
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
Néanmoins, ce type d'IDS possède
également ses faiblesses, qui proviennent de ses qualités : du
fait de la grande quantité de données
générées, ce type d'IDS est très sensible aux
attaques de type DoS, qui peuvent faire exploser la taille des fichiers de
logs.
Un autre inconvénient tient justement à la
taille des fichiers de rapport d'alertes à examiner, qui est très
contraignante pour le responsable sécurité. La taille des
fichiers peut en effet atteindre plusieurs Mégaoctets. Du fait de cette
quantité de données à traiter, ils sont assez gourmands en
CPU et peuvent parfois altérer les performances de la machine
hôte.
Enfin, ils ont moins de facilité à
détecter les attaques de type hôte que les IDS réseaux.
Les HIDS sont en général placés sur des
machines sensibles, susceptibles de subir des attaques et possédantes
des données sensibles pour l'entreprise. Les serveurs, web et
applicatifs, peuvent notamment être protégés par un
HIDS.
? Détection d'Intrusions basée sur une
application
Les IDS basés sur les applications sont un sous-groupe
des IDS hôtes. Ils contrôlent l'interaction entre un utilisateur et
un programme en ajoutant des fichiers de log afin de fournir de plus amples
informations sur les activités d'une application particulière.
Puisque vous opérez entre un utilisateur et un programme, il est facile
de filtrer tout comportement notable. Un ABIDS se situe au niveau de la
communication entre un utilisateur et l'application surveillée.
L'avantage de cet IDS est qu'il lui est possible de
détecter et d'empêcher des commandes particulières dont
l'utilisateur pourrait se servir avec le programme et de surveiller chaque
transaction entre l'utilisateur et l'application. De plus, les données
sont décodées dans un contexte connu, leur analyse est donc plus
fine et précise.
Par contre, du fait que cet IDS n'agit pas au niveau du
noyau, la sécurité assurée est plus faible, notamment en
ce qui concerne les attaques de type "Cheval de Troie". De plus, les fichiers
de log générés par ce type d'IDS sont des cibles faciles
pour les attaquants et ne sont pas aussi sûrs, par exemple, que les
traces d'audit du système.
Ce type d'IDS est utile pour surveiller l'activité
d'une application très sensible, mais son utilisation s'effectue en
général en association avec un HIDS. Il faudra dans ce cas
contrôler le taux d'utilisation CPU des IDS afin de ne pas compromettre
les performances de la machine.
? La Détection d'Intrusions
Réseau
Le rôle essentiel d'un IDS réseau est l'analyse et
l'interprétation des paquets circulant
sur ce réseau. L'implantation d'un NIDS sur un
réseau se fait de la façon suivante : des capteurs
36
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
sont placés aux endroits stratégiques du
réseau et génèrent des alertes s'ils détectent une
attaque. Ces alertes sont envoyées à une console
sécurisée, qui les analyse et les traites éventuellement.
Cette console est généralement située sur un réseau
isolé, qui relie uniquement les capteurs et la console.
Les avantages des NIDS sont les suivants : les capteurs
peuvent être bien sécurisés puisqu'ils se contentent
d'observer le trafic et permettent donc une surveillance discrète du
réseau, les attaques de type scans sont facilement
détectées, et il est possible de filtrer le trafic.
Les NIDS sont très utilisés et remplissent un
rôle indispensable, mais ils présentent néanmoins de
nombreuses faiblesses. En effet, la probabilité de faux négatifs
(attaques non détectées comme telles) est élevée et
il est difficile de contrôler le réseau entier. De plus, ils
doivent principalement fonctionner de manière cryptée d'où
une complication de l'analyse des paquets. Pour finir, à l'opposé
des IDS basés sur l'hôte, ils ne voient pas les impacts d'une
attaque.
? Les IDS hybrides
Les IDS hybrides rassemblent les caractéristiques des
NIDS et RIDS. Ils permettent, en un seul outil, de surveiller le réseau
et les terminaux. Les sones sont placés en des points
stratégiques, et agissent comme NIDS et/ou RIDS suivant leurs
emplacements. Toutes ces sondes remontent alors les alertes à une
machine qui va centraliser le tout, et lier les informations d'origines
multiples. Ainsi, on comprend que les IDS hybrides sont basés sur une
architecture distribuée, ou chaque composant unifie son format d'envoi
cela permet de communiquer et d'extraire des alertes plus pertinentes.
Les avantages des IDS hybrides sont multiples :
? moins de faux positifs ;
? meilleure corrélation (la corrélation permet de
générer de nouvelles alertes à partir de celle existantes)
;
? possibilité de réaction sur les analyseurs.
Si on compare les RIDS et NIDS, les RIDS présente un
avantage considérable par rapport à un NIDS dans le cas où
le trafic est crypté. En effet, un NIDS n'a pas connaissance des
clés de cryptage et ne peut appliquer ses algorithmes de
détection au niveau des données chiffrées. La
détection est effectuée à l'extrémité de la
chaine de communication, une fois le flux est décrypté. Ceci est
réalisé en mettant en oeuvre un agent RIDS directement sur le
serveur
37
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
cible. Les flux chiffrés sont ainsi décodés
par la cible et transmis ensuite au monteur d'analyse de l'NIDS.
|