0% ont trouvé ce document utile (0 vote)
39 vues23 pages

Intrusion Detection Systems

Les systèmes de détection et de prévention des intrusions (IDS/IPS) sont essentiels pour contrer les menaces informatiques de plus en plus sophistiquées, telles que les attaques par déni de service et les virus polymorphes. L'historique des IDS montre leur évolution depuis les premières implémentations dans les années 1980 jusqu'à l'émergence d'acteurs commerciaux dans les années 1990. La gestion des intrusions nécessite des procédures rigoureuses, incluant l'isolement des systèmes compromis et l'analyse des traces laissées par les attaquants.

Transféré par

Ali ghorbel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues23 pages

Intrusion Detection Systems

Les systèmes de détection et de prévention des intrusions (IDS/IPS) sont essentiels pour contrer les menaces informatiques de plus en plus sophistiquées, telles que les attaques par déni de service et les virus polymorphes. L'historique des IDS montre leur évolution depuis les premières implémentations dans les années 1980 jusqu'à l'émergence d'acteurs commerciaux dans les années 1990. La gestion des intrusions nécessite des procédures rigoureuses, incluant l'isolement des systèmes compromis et l'analyse des traces laissées par les attaquants.

Transféré par

Ali ghorbel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Intrusion Detection Systems

Attaques par dénis de services, virus polymorphes, techniques d'usurpations


diverses…les intrusions informatiques sont devenues de plus en plus courantes, et
gagnent en sophistication.

Malheureusement les systèmes antivirus ou les pare-feux sont la plupart du temps


inefficaces face à ces nouvelles menaces. C'est pour pallier ce manque que sont
apparus récemment des nouveaux composants de sécurité appelés systèmes de
détection et de prévention des intrusions.

Après un aperçu rapide de l'histoire de ces systèmes de détection (IDS/IPS), cette


présentation vous expose les points suivants :

 Qu'est-ce qu'une intrusion ?


 Comment détecter une attaque ?
 Les solutions techniques pour prévenir les intrusions.
 Les principales offres qui dominent le marché.

Historique

1) 1984 - 1994 : 1eres implémentations

Le premier modèle de détection d'intrusion est développé en 1984 par Dorothy


Denning et Peter Neuman, qui s'appuie sur des règles d'approche
comportementale. Ce système fut appelé IDES (Intrusion Detection Expert
System).

Ce projet est une réponse à la marine américaine pour sécuriser Arpanet. Très
rapidement IDES a évolué pour donner naissance en 1993 à NIDES (Next
generation Intrusion Detection Expert System).

Parallèlement à ces travaux, les laboratoires (Laurence Livermore) de l'université


de Californie mènent des recherches afin de modéliser la détection des intrusions.

En 1988, le projet Haystack de Crosby Marks (à la demande de l'armée de l'air


américaine) aboutie à un IDS qui fonctionne selon des signatures et non plus des
règles de modélisation. Ce projet évoluera par la suite vers DIDS (Distributed
Intrusion Detection System) qui analysera serveurs et machines clientes.
L'approche comportementale allait commencer à laisser la place à une approche
dite par scénario.

Tous ces développements ont largement contribué au développement des


technologies HIDS (Host Intrusion Detection System) qui reposaient sur
l'hypothèse que les utilisateurs etaient locaux. Aver l'ouverture et
l'interconnexions des systemes, le concept de NIDS (Network IDS) arrive en 1990
avec Todd Heberlein.

 la même époque, le centre de cryptologie de l'armée de l'air américaine


développe ASIM (Automated Security Measurement System) afin de surveiller les
flux. ASIM est le premier à utiliser des matériels et des logiciels pour détecter les
intrusions.

2) 1994 - 2000 : 1ers acteurs commerciaux

En 1994, les concepteurs de ASIM créent la société Wheel Group, qui


propose NetRanger 1ère solution d'IDS "viable" sur le marché.

Toujours en 1994, une autre société ISS (Internet Security System) est fondée par
Thomas Noonan et Christopher Klauss, ISS (Internet Security System). En 1997, ISS
lance RealSecure, disponible pour NT4 (premier IDS destiné à l'environnement
Windows)

en 1998, Cisco Systems reconnaît l'importance de l'IDS et rachète Wheel Group.

Ensuite une multitude de fusions et d'acquisitions se sont produites.

De 2000 à aujourd'hui : les sociétés sur le


marché
cf. partie sur les solutions actuelles
Intrusion
Avant d'aller plus loin, il parait important de tenter de répondre à la question
suivante : Qu'est ce qu'une intrusion ? Cette question peut paraître triviale, mais
les utilisateurs ne se la posent pas toujours, mais la réponse dépend aussi
énormément de l'environnement à protéger.

1) Les différentes formes d'intrusions


Les virus informatiques

Le terme 'virus' est sans doute celui qui est utilisé le plus communément et le plus
improprement par le commun des utilisateurs.

Définition de virus
"Le terme virus fera référence à tout programme, script ou pièce jointe
dont l'exécution, volontaire ou non, provoquera un effet indésirable sur le
système cible."

La plupart du temps, les virus sont propagés via des emails et exploitent avant tout
la naïveté des utilisateurs en les amenant à exécuter une pièce jointe malicieuse .

En se basant sur la définition précédente, des attaques bien connues qui ont
défrayées la chronique telles que Slammer ou Sasser ne peuvent être considérées
comme des virus. Slammer est en fait le nom d'une attaque qui ciblait les bases
SQL de Microsoft et qui permettait, au moyen d'un simple paquet UDP de 400
octets de faire tomber le service SQL.

Aucun système anti-virus de l'époque n'avait pu détecter Slammer car la totalité de


l'attaque s'exécutait en mémoire (alors que beaucoup d'anti-virus se contentent de
détecter des activités suspectes lors des accès disque) et ne se propageait pas via un
fichier infecté mais une requête malformée.

Quelle est la différence entre un ver et un virus ?

De nombreux virus apparus ces 2 dernières années sont en fait des vers. Un ver se
caractérise par les 3 points suivants :

 Un algorithme de propagation, qui lui permettra de trouver une ou


plusieurs machines à infecter. La propagation se fait généralement de
manière automatique (Sasser, Slammer) mais peut parfois demander une
action de la part de l'utilisateur, tel le fait de cliquer sur une pièce jointe
infectée qui peut initier une propagation massive (myDoom). Ce mode de
propagation est cependant généralement plus lent dans la mesure où il est
soumis à une intervention humaine. Les algorithmes utilisés sont de plus en
plus compacts et "intelligents". Ainsi, le mécanisme de réplication de
Slammer était si bien conçu que le ver doublait de taille toutes les 8,5
secondes ! (ce qui en fait l'un des plus rapides de l'histoire)
 Une faille à exploiter. Il s'agit du cœur du ver. Quand celui-ci atteint un
système vulnérable, il essaie d'exploiter une vulnérabilité permettant de
transmettre une charge utile. Cette vulnérabilité peut être due à une faille
dans un module logiciel (vulnérabilité DCOM de Windows dans le cas de
Sasser) ou tente d'exploiter des techniques d'ingénierie sociale (en incitant un
utilisateur à cliquer sur une pièce jointe, comme dans le cas de myDoom par
exemple).
 Une charge utile.

Les principales charges qu'un ver transporte assurent en général l'une des tâches
suivantes :

 installation d'une backdoor afin de contrôler le système ultérieurement


 défigurer un site web (en changeant la page d'accueil par exemple)
 patcher le système (ce que l'on appelle parfois les 'bons vers', comme
welchia par exemple, car ils corrigent des failles exploitées par des vers
beaucoup plus néfastes)
 mener une attaque par déni de service distribué (DDoS) contre un site
Web
 Il arrive fréquemment que les vers aient une charge nulle, c'est-à-dire qu'ils
se contentent de se propager de systèmes en systèmes sans effets de bord
notoires autre qu'une surconsommation de bande passante et un effet
de spam dans les boîtes à lettres
 Dans certains cas, la charge peut même être destructrice en écrivant
aléatoirement sur le disque dur.

Remarque : la frontière entre virus et vers n'est pas toujours évidente et certains
auteurs estiment que si une intervention de l'utilisateur est nécessaire, le terme ver
devient impropre.

Les intrusions issues des techniques de hacking

Contrairement aux attaques de nature virale, les techniques de hacking visent plutôt
à exploiter des failles de sécurité liées à des logiciels, des scripts, des APIs...

Il ne s'agit plus de véhiculer un contenu potentiellement dangereux via des pièces


jointes et scripts divers mais plutôt de concevoir un contenant qui permette
d'exploiter des défauts de conception de certains modules logiciels. On peut citer
par exemple l'attaque Code Red , qui consiste à forger une requête HTTP qui
provoque un buffer overflow sur la cible ou encore les techniques d'injection SQL
qui consistent à utiliser une requête SQL spécifique permettant d'injecter des
commandes vers la cible.

Pour résumer (et simplifier), on peut dire que les techniques virales se consacrent à
développer un contenu potentiellement hostile (pièces jointes, scripts, applets… ce
que l'on désigne parfois par l'anglicisme générique "malware"), alors que les
techniques de hacking s'attachent surtout au contenant (les protocoles utilisés pour
véhiculer le contenu).

Il est important de noter que la plupart des vers récents sont issus de la convergence
des techniques de hacking et de la virologie.

Les intrusions internes

De nombreux cabinets d'études et analystes estiment que près de 50% des attaques
proviennent de l'intérieur des systèmes d'informations.

Ceci est du notamment au fait que le concept de sécurité périmétrique a


considérablement évolué ces deux dernières années. Les nouveaux modes de travail
des entreprises (et de plus en plus des particuliers) ont popularisé les technologies
facilitant la mobilité des personnes, telles que le VPN, les technologies sans fil
802.11 a/b/g, les Smartphones et PDAs communicants… tant et si bien qu'il devient
de plus en plus difficile de définir un périmètre de sécurité qui marquerait la limite
entre le système d'information d'une entreprise et le monde extérieur.

Deux cas de figure deviennent de plus en plus fréquents :

 Une entreprise fait appel à des prestataires externes (sous traitant, personnel
en régie, consultants externes…) qui viennent se greffer au réseau, la plupart
du temps avec un ordinateur portable ou un PDA qui n'a pas été validé et
rendu conforme aux standards de sécurité en vigueur dans l'entreprise.
 L'intrusion interne peut être également nettement plus volontaire. Qu'il
s'agisse d'employés revendant sur le marché gris des fichiers entiers de
données concernant des clients ou d'anciens employés laissant derrière eux
des bombes logiques et portes dérobées en vue de faire du chantage.

Les attaques par dénis de services (DoS / DDoS)

Ce type d'attaque constitue une autre forme d'intrusion car il ne s'agit plus ici de
tenter de compromettre un système mais de le paralyser. L'attaque peut cibler
divers composants : la mémoire d'un serveur, la CPU d'une machine, un processus
en particulier… mais la plupart du temps, l'attaque DoS consiste à saturer la bande
passante disponible via des techniques d'inondation (flooding) plus ou moins
sophistiquées.

La plupart des attaques DoS fonctionnement désormais selon une architecture


distribuée dans la mesure où il devient de plus en plus complexe de saturer une
ressource avec une source unique. La figure ci-dessous explique le principe de
fonctionnement d'une attaque par déni de service distribué.
L'attaquant va au préalable se créer un réseau de machines secondaires (zombies)
qui seront utilisées pour attaquer la cible de manière simultanée.

Les spywares et produits dérivés

Les spywares constituent sans doute des formes intrusives les plus récentes. Un
spyware est un petit programme espion qui est installé sur un système par
l'utilisateur à son insu, la plupart du temps en naviguant sur des sites Webs.
L'objets de ces spywares est multiple :

 installer des keyloggers ou portes dérobées (backdoors),


 installer des cookies traceurs afin de suivre les habitudes de l'utilisateur (on
parlera dans ce cas plutôt d'adware),
 installer un dialer (numéroteur téléphonique),
 modifier la page d'accueil du navigateur…

Les violations de politiques de sécurité

Bien qu'il ne s'agisse pas stricto sensu d'une intrusion, certaines violations ou
manquements vis-à-vis d'une politique de sécurité peuvent accroître de manière
importante les risques de compromission de systèmes. Ainsi, de nombreuses
entreprises interdisent l'utilisation de logiciels P2P ou proscrivent les technologies
sans fil pour des raisons d'atteinte à la confidentialité des données.

2) Profils des principales catégories de pirates

Remarque : de plus en plus de réseaux organisés sont issus de spammers dont


l'objectif est de compromettre un maximum de machines et d'y installer des relais
de messagerie pirates. L'objectif de ces spammers est évidemment de rester
anonyme en utilisant les machines zombies ainsi compromises.

3) Conclusion

Comme nous venons de le voir, la notion d'intrusion peut prendre des formes très
variées au-delà de la simple attaque d'un pirate quelconque opérant depuis la Russie
ou la Corée.
Par conséquent, il est important d'être capable de détecter (et donc bloquer) avec la
meilleure pertinence possible toutes ces formes intrusives.
La partie "détection" montre quelles sont les méthodes utilisées à ce jour pour
détecter les principales intrusions évoquées ci dessus.
Systèmes
1) Comment gérer une intrusion ?

En matière de gestion des intrusions, il convient tout d'abord de définir une


procédure de gestion des incidents.

Quand une intrusion est suspectée, certaines mesures de précaution doivent être
prises rapidement :

 Isoler les systèmes compromis : Cette " mise en quarantaine " peut être
effectuée de manière logique (VLAN d'isolation par exemple) ou physique
(déconnexion de la machine) ; il est important de laisser la machine sous
tension afin de connaître les processus actifs au moment de l'intrusion et
d'avoir une image mémoire de la machine. La perte de ces supports pourrait
rendre impossible l'analyse de l'intrusion.
 Prévenir le responsable sécurité : Il est recommandé de le prévenir par
téléphone ou de vive voix car le système de messagerie pourrait très bien
avoir été compromis.
 Faire une copie physique du disque : Une sauvegarde partielle des données
et programmes suspectés d'avoir été compromis ne suffit généralement pas
(de nombreuses traces peuvent se dissimuler en des endroits que l'on ne
suspecte pas forcément).
Par ailleurs, une copie physique du disque peut s'avérer parfois utile en cas
de recours judiciaire.
 Rechercher les traces disponibles : En général, il est souvent nécessaire de
corréler ces informations à celles collectées sur les pare-feux, proxies, IDS et
autres systèmes pouvant fournir des informations utiles.

Faut-il répondre à une attaque ?

Les réponses automatiques peuvent être regroupées dans deux catégories


principales :

 Réponses actives

Les réponses actives consistent à répondre directement à une attaque, la plupart du


temps en générant des requêtes de fin de connexion vers la source de manière à la
contraindre à cesser son activité intrusive sur le champ.

Ceci présente toutefois des inconvénients majeurs. Le fait de générer des paquets
de réponse à une intrusion peut fournir à l'attaquant d'éventuelles informations
révélant la présence d'un système de protection passif, tel un IDS. Si un pirate
parvient à détecter la nature du système utilisé, il peut arriver à le contourner plus
facilement. C'est pourquoi il est souvent préférable de rendre les IDS le plus furtifs
possible et de les cantonner dans un rôle de détection passif.

Si la légitime défense est autorisée sous certaines conditions dans la " vie réelle ",
les choses se compliquent quand il s'agit d'intrusions purement numériques. En
effet, comment dans ce cas être certain de l'identité de l'agresseur alors qu'il est si
simple d'usurper une adresse IP source ou d'utiliser un serveur mandataire (proxy)
du domaine public ?

 Réponses passives

Cette technique consiste à bloquer les flux associés à une activité intrusive sans en
informer la source, c'est-à-dire sans générer de paquets spécifiques à destination du
pirate. Les réponses passives se traduisent la plupart du temps par des opérations de
reconfiguration automatique d'un firewall afin de bloquer les adresses IP source
impliquées dans les intrusions.

Cette méthode est toutefois risquée. En effet, si le pirate usurpe une adresse IP
sensible telle qu'un routeur d'accès ou un serveur DNS, l'entreprise qui implémente
une reconfiguration systématique d'un firewall risque tout simplement de se couper
elle-même du monde extérieur.
2) Les IDS et IPS

Les systèmes, permettant de détecter ou bloquer des intrusions, peuvent être classé
principalement dans trois familles de produits :

 Les anti-virus ;
 Les firewalls ;
 Les IDS / IPS (HIDS, NIDS).

Si les deux premières catégories sont bien connues et devenues en quelques années
des produits de " commodité ", le fonctionnement, l'utilisation et les limitations des
IDS et IPS sont moins connus. Il convient avant tout de faire la distinction entre ces
2 types de produits :

 Un système de détection des intrusions (IDS) est un ensemble de composants


logiciels et/ou matériels dont la fonction principale est :
- de détecter et analyser toute tentative d'effraction volontaire ou non et/ou
de maintien dans un système d'informations,
- de détecter et analyser toute altération éventuelle de ces données.
 Un système de prévention des intrusions (IPS) est un ensemble de
composants logiciels et/ou matériels dont la fonction principale est :
- d'empêcher toute activité suspecte détectée au sein d'un système.

Systèmes de détection de type "hôte" (HIDS)

Les outils de détection de type hôte HIDS sont antérieurs aux NIDS…

Définition de HIDS :
"Un HIDS est un agent logiciel que l'on installe généralement sur la
machine à protéger et qui analyse en temps réels les flux relatifs à cette
machine ainsi que les journaux."

L'utilisation des fichiers de logs pour détecter des intrusions se fait principalement
par analyse de signatures ; l'agent HIDS scrute les lignes des fichiers de logs et les
compare à des bases de signatures connues.

Systèmes de détection de type "réseaux" (NIDS)

Les sondes de détection des intrusions réseaux sont les systèmes les plus connus et
les plus utilisés à ce jour, notamment dans le monde de l'entreprise.
Définition de NIDS :
"Un NIDS est une sonde qui a pour objectifs d'analyser de manière passive
les flux e transit sur le réseau et de détecter des intrusions en temps
réel."

Les NIDS implémentent les techniques énumérées ci-dessous :

 Le pattern matching ; qui consiste à récupérer des chaînes de caractères bien


identifiés liées à des séquences d'attaque. Fonctionnement que l'on peut
assimiler aux systèmes antivirus. Cette méthode est relativement fiable mais
cela nécessite que les attaques aient été identifiées et codées sous forme de
signature préalablement.
 L'analyse de protocoles ; qui consiste à analyser la structure des paquets et
l'utilisation de certains paramètres non conformes aux normes officielles
(comme les RFC). Cette méthode ne nécessite pas de signature comme la
précédente mais elle a tendance à déclencher un peu plus de fausses alertes
que le " pattern matching ".
 La détection d'anomalies ; consiste à détecter toute déviation par rapport à un
modèle qui correspondrait à un comportement normal (exemple : nombre
élevé de tentatives de connexions sur un serveur peut indiquer une attaque,
ou une connexion FTP avec un mot de passe de 200 caractères peut
indiquer une tentative de débordement de mémoire tampon).

Une étude plus détaillée des méthodes de détection est faite ici !

Différences entre Firewalls et IPS

Par définition un Firewall est un système de contrôle d'accès basé sur des règles
statiques autorisant ou non certains flux.
Les Firewalls travaillent essentiellement au niveau des couches basses du modèle
OSI (de 1 à 4) ce qui est insuffisant pour les intrusions.
Il existe 3 types de Firewall :

 Système à filtrage de paquets : analyse les paquets indépendamment et les


autorise en fonction des règles configurées.

 Système à maintiens d'état : identique au précédent en implémentant en plus


une table d'analyse de l'état des sessions.

 Type Proxy : plus évolué, analyse et traite avant de retourner les


informations à l'utilisateur.

Désormais, certains Firewalls disposent de fonction IDS et/ou IPS ainsi on parle le
plus souvent de Firewall applicatif.
Le Firewall est le premier type de système à avoir offert des fonctionalités simples
de prévention d'intrusion.

Contrairement à un firewall " traditionnel ", un IPS se caractérise par les points
suivants :

 Il doit être complètement furtif. Ceci implique que les interfaces de la sonde
ne doivent pas être visibles (pas d'adresse IP, pas d'adresse MAC) et que
l'équipement ne doit pas se comporter comme un proxy ou implémenter des
mécanismes de manipulation des adresses (comme NAT par exemple) ;
 L'IPS analyse l'intégralité des paquets en transit, depuis les couches réseaux
jusqu'au niveau applicatif ;
 L'IPS prévient une intrusion sur un flux autorisé, et n'interdit pas tous les
flux associés à un protocole donné pour ne pas prendre de risque.

Systèmes de détection des intrusions (IPS)

Les IPS sont souvent considérés comme des IDS de deuxième génération. Bien
qu'il s'agisse d'un abus de langage, cette expression traduit bien le fait que les IPS
remplacent petit à petit les IDS. Il est pour autant prématuré de dire que les IDS
sont morts, comme l'avait prétendu Gartner Group il y a 2 ans.
En fait, les IPS ont avant tout été conçus pour lever les limitations des IDS en
matière de réponse à des attaques. Alors qu'un IDS n'a aucun moyen efficace de
bloquer une intrusion (si ce n'est via l'utilisation de réponses actives), un IPS
pourra, de part son positionnement en coupure, bloquer une intrusion en temps réel
(voir figure ci-dessous).
En effet, le positionnement en coupure, tel un firewall ou un proxy, est le seul mode
permettant d'analyser à la volée les données entrantes ou sortantes et de détruire
dynamiquement les paquets intrusifs avant qu'ils n'atteignent leur destination.
Une autre limite à laquelle devaient faire face les IDS il y a quelques années était
due à leur incapacité à gérer les hauts débits du fait d'une architecture logicielle.
Plusieurs constructeurs ont intégré des circuits spécifiques (ASICs) dans leurs
sondes IPS, si bien que le débit devient de moins en moins une problématique.

mode de déploiement d'un IDS et d'un IPS

3) Conclusion
Les principaux facteurs qui motivent l'adoption de technologies IPS sont les
suivants :

 Les attaques gagnent en sophistication et les moyens de protection


traditionnels ne sont plus suffisants (mais ils demeurent nécessaires !).
 La problèmatique de gestion des patches devient préoccupante : Compte tenu
du nombre croissant de failles de sécurité découvertes, le nombre de patches
publiés chaque semaine par les différents éditeurs (Microsoft, Oracle, SAP,
communauté du libre…) devient impressionnant. Il apparaît désormais
impossible d'appliquer systématiquement et en temps réel ces patches sur des
systèmes en production (d'autant plus que certains patches corrigent un
problème et en provoquent un autre).
 Utilisateurs déçus par les IDS de première génération : de nombreux
utilisateurs ont été déçus par les IDS traditionnels du fait de leur inaptitude à
bloquer des attaques et attendent des solutions plus proactives.

Détection
Après avoir classifié les différentes formes intrusives possibles dans la partie
"Intrusion?", dans cette partie vont être décrit les différentes méthodes utilisées
pour détecter une intrusion, en se basant toujours sur la notion d'intrusion telle que
définie précédemment.

Il n'est pas toujours très aisé de proposer une classification simple des méthodes de
détection des vers, virus et autres techniques de hacking dans la mesure où la
détection est assurée par un dosage savant issu de diverses méthodes
complémentaires.

La plupart des méthodes de détection peuvent être en fait regroupées dans deux
catégories principales :

1) L'approche par scénario


L'approche par scénario (misuse detection en anglais) consiste à détecter une
intrusion en fonction du comportement actuel de l'utilisateur, indépendamment de
ses actions passées. La terminologie " approche par scénario " vient du fait que l'on
s'appuie sur la connaissance des techniques utilisées par les attaquants pour déduire
des scenarii typiques.

Le schéma ci-dessous montre un tel exemple d'implémentation se basant sur


l'analyse des fichiers journaux. Les fichiers logs pourront être par exemple
parcourus par un système qui génèrera une alerte chaque fois que des séquences
clés seront identifiées (comme violation access par exemple).

L'analyse de motif

L'analyse de motif est la méthode la plus simple et la plus couramment utilisée pour
détecter une intrusion. Le principe consiste tout simplement à créer une base de
connaissance qui contient des chaînes alphanumériques caractéristiques liées à une
intrusion et à comparer les informations que l'on souhaite analyser à ces séquences
de caractères.

Exemple : supposons que l'on découvre une vulnérabilité critique au sein d'un
script CGI (que nous appellerons '[Link]') d'un serveur Web. L'attaque pourra être
détectée par exemple en analysant les requêtes entrantes et en déclanchant une
alerte dès que le script est appelé. L'identifiant de l'attaque pourra donc être
constitué de la chaîne suivante :
get /cgi-bin/[Link] [I]

Cette méthode est relativement simple à mettre en œuvre puisqu'il s'agit d'effectuer
des extractions et comparaisons de chaînes de caractères, c'est pourquoi la plupart
des systèmes anti-intrusions implémentent au minimum cette méthode.

Dans la pratique, le motif [I] utilisé tel quel risque de générer de nombreuses
fausses alertes. En effet, l'appel de ce script par un utilisateur ou une autre
application n'est pas forcément synonyme de tentative d'intrusion. De plus, la
comparaison de tous les paquets entrants à ce motif peut nécessiter des temps de
traitements relativement importants (surtout si ceux-ci sont fragmentés et/ou
désordonnancés). C'est pour ces raisons que la plupart des systèmes de détection
offrent un langage de qualification des attaques plus ou moins fin :

 spécification des ports destination,


 de la provenance de l'attaque,
 état protocolaire…

Ainsi, une version améliorée du motif [I] pourrait ressembler à :


source_net: " externe " ,dest_port: " 80,8080,3128 ", motif: " get /cgi-bin/[Link] "
[II]

Dans ce cas, l'analyse n'est effectuée que pour les paquets en provenance d'un
réseau externe et à destination des ports 80, 8080 ou 3128 (qui représentent les
valeurs par défaut utilisées par les serveurs Web ou certains serveurs mandataires).

Si cette méthode est relativement simple à implémenter, son inconvénient majeur


réside dans le fait qu'elle ne permet que de détecter des attaques connues pour
lesquelles une ou plusieurs signatures ont été identifiées.

Cette méthode de détection est adaptée aussi bien aux virus qu'aux techniques
d'attaques issues du monde du hacking. Ainsi, en 20 ans moins d'une trentaine de
virus l'ont mise en échec. Pour ces derniers, il a été nécessaire d'inclure des
programmes spécifiques (en assembleur, langage C ou propriétaire) comme
complément de détection.

Les méthodes de recherche générique

Ce type de méthode est plus particulièrement adapté à la recherche de virus. Il s'agit


en fait d'une variante de la méthode précédente, que l'on pourrait qualifier de
recherche " floue ".

L'idée de cette méthode repose sur le fait qu'il est souvent possible d'isoler des
séquences de code à structure identique pour diverses familles de virus. Ces
séquences peuvent se retrouver dans le processus d'infection ou de camouflage du
virus.

La recherche générique est particuliérement utile pour la majorité des virus écrits
en langage interprété.

Certaines attaques de type buffer overflow peuvent également être détectées ainsi.
Par exemple, un certain nombre de shells d'attaques peuvent être détectés en
analysant des séquences de codes binaires qui ont pour objectif de remplir la
mémoire avec des instructions ne manipulant aucun registre (comme le fameux
code 0x90 NOP et ses diverses substitutions en langage d'assemblage Intel).

Techniques de contrôle d'intégrité

La plupart des techniques d'attaques laissent volontairement ou non des traces :


modification/création de fichiers de logs, modification de certaines DLLs,
changement des attributs des fichiers…

Les techniques de contrôle d'intégrité se basent sur l'hypothèse que le système à


protéger est sain. Le contrôle d'intégrité effectue une photographie préalable de
tous les fichiers d'un système et génèrera une alerte en cas d'altération de l'un de ces
fichiers.

La détection d'anomalies

La détection d'anomalies consiste à détecter toute déviation par rapport à un modèle


qui correspondrait à un comportement normal. Cette technique analyse les flux
selon 3 axes principaux :

 Vérification de la conformité du trafic avec les RFCs liées aux différents


protocoles utilisés.
 Observation des champs et paramètres suspects liés à certains protocoles
de façon à s'assurer que ceux-ci ne sont pas utilisés à des fins malicieuses par
un attaquant. Ceci est à distinguer de la vérification de conformité car il est
bien rare que les éditeurs et constructeurs respectent à la lettre les RFCs et
autres normes. Les nombreuses améliorations apportées par ces éditeurs
découlent souvent d'une interprétation des RFCs!.
 La recherche heuristique : cette méthode, qui est surtout utilisée dans le
domaine de la lutte anti-virale, s'apparente à une recherche de singularités
au sein des fichiers analysés. Elle ne s'appuie pas sur la connaissance
particulière de l'ensemble des variantes d'un même virus, mais sur la
structure des fichiers analysés et sur la présence en nombre plus ou moins
conséquent d'instructions essentielles à l'ensemble d'une famille virale
(macro-virus, exécutables W32, etc.). Alors que la méthode générique
semble suffisante pour la majorité des virus écrits en langage interprété, la
recherche heuristique est particulièrement utile face aux virus programmes.

L'avantage majeur de la détection d'anomalies est que cette méthode permet de


détecter des attaques inconnues (comme des "0-day" par exemple) ou des variantes
d'attaques connues (shellcodes polymorphiques). La contrepartie est que les
messages d'alerte remontés via cette méthode sont parfois nébuleux. C'est pour
cette raison que la plupart des éditeurs fournissent tout de même une mise à jour de
la base de signatures quand une attaque a été détectée via de l'analyse d'anomalies.
L'objectif de ce type de mise à jour est d'avantage d'être capable de qualifier une
attaque (par son nom commun) que de fournir des contre mesures dans un mode
purement réactif.

tableau récapitulatif

2) L'approche comportementale
Contrairement à l'approche par scénario, la méthode comportementale consiste à
détecter une intrusion en fonction du comportement passé de l'utilisateur. L'idée
sous-jacente est de parvenir à dresser un profil utilisateur établi selon ses habitudes
de travail et à déclencher des alertes lorsque des évènements hors gabarit se
produisent.

L'analyse comportementale est encore trop peu implémentée dans les systèmes
actuellement disponibles sur le marché. Ceci est du essentiellement à sa complexité
et a son manque de fiabilité par rapport aux contraintes d'exploitation des
utilisateurs.

Approche probabiliste

Cette approche est quelquefois qualifiée de bayésienne : les réseaux bayésiens


permettent de modéliser des situations dans lesquelles la causalité joue un rôle,
mais où la connaissance de l'ensemble des relations entre les phénomènes est
incomplète, si bien qu'il est nécessaire de les décrire de manière probabiliste. Ainsi,
pour chaque élément du profil, on spécifie la probabilité de chaque évènement
susceptible de se produire par la suite. Les indications obtenues progressivement
sur l'état du système modélisé influent sur la confiance que l'on accorde à une
proposition donnée.
exemple :
Considérons le cas d'un utilisateur qui se connecte sur la page d'accueil du site Web
de la SNCF afin de consulter un horaire de train :

 Nous allons d'abord observer une connexion sur le port 80 du serveur Web
de la SNCF
source.4188 > [Link].80: S 247:247(0) win 64240 (DF)
 Il y a une forte probabilité (0.90) que cette demande de connexion soit
suivie de la requête suivante :
GET [Link] HTTP/1.0
 On peut de même estimer que celle-ci aura toutes les chances (0.80) d'être
suivie de :
HTTP/1.1 200 OK

Une alerte pourra être générée quand le nombre d'évènements ne correspondant pas
aux probabilités définies aura dépassé un certain seuil sur une période donnée. Il est
capital pour l'administrateur d'un système utilisant cette méthode de suivre
l'évolution du gabarit dans le temps et de s'assurer que celui ci se conforme aux
habitudes de travail des utilisateurs, sans quoi le taux de faux positifs (alerte
remontée ne correspondant pas réellement à une attaque) risque d'être très élevé.

Approche statistique

Cette approche diffère quelque peu de la technique précédente dans la mesure où


elle consiste à attribuer des valeurs statistiques aux différentes variables utilisées
pour définir le gabarit.

Plutôt que de dresser des relations de cause à effet entre les différentes requêtes de
l'utilisateur, l'idée ici est de quantifier de manière fine toute une série de paramètres
liés à l'utilisateur tels que :

 le taux d'occupation de la mémoire,


 l'utilisation des processeurs,
 la valeur de la charge réseau,
 le nombre d'accès à l'Intranet par jour,
 etc.

Il existe plusieurs branches de la recherche qui explorent activement les techniques


de modélisation de l'utilisateur et qui font appel notamment aux réseaux neuronaux
et au data mining. Cela permet de prendre en compte d'autres évènements
atomiques d'avantage liés à l'utilisateur tels que la vitesse moyenne de frappe au
clavier, les commandes préférées, le type de site Web le plus souvent visité… Ces
techniques ne sont toutefois pas encore implémentées au sein des systèmes de
détection actuels utilisés par les entreprises tant elles sont complexes à exploiter
(pour un niveau de fiabilité encore faible).
Autres méthodes

Il existe d'autres méthodes d'approches comportementales actuellement à l'étude,


parmi lesquelles on peut citer :

 L'immunologie : cette analogie avec l'immunologie biologique consiste à


construire un modèle de comportement normal des services (et non des
utilisateurs) au travers de courtes séquences d'appels système qui sont
considérées comme représentatives de l'exécution normale des services
considérés. L'objet de la méthode consiste donc à observer les services
pendant un temps suffisamment représentatif de manière à établir une base
des séquences d'appels normales.
 Les graphes : certaines approches théoriques utilisent des modèles à base de
graphes. Le but est de mettre en évidence des propriétés et des relations entre
ces propriétés. L'intérêt de cette approche est qu'elle permet de traiter plus
facilement des événements rares.

tableau récapitulatif

3) Conclusion

Il n'existe pas de méthode meilleure qu'une autre. Certaines attaques contre des
serveurs Web seront par exemple plus facilement détectées par de l'analyse de
motif alors que la propagation d'un ver mutant sera plus facilement identifiée par
une méthode statistique. Un système générique de détection des intrusions est
d'autant plus efficace qu'il implémente et corrèle toutes ces méthodes entre elles.

Solutions :
De 2000 à aujourd'hui : les sociétés sur le
marché
On peut séparer les solutions en 2 grandes familles, les logiciels libres et les
solutions commerciales.

a - les logiciels libres

SNORT : développement à partir de 1998

Prelude : plus récent que SNORT, d'où moins connu

b - sociétés commerciales

Internet Security System

l'offre de produit IDS se décline principalement dans la gamme RealSecure. En


2001, ISS rachète Network Ice, reconnue par ses développements dans la
détection à haut débit.

Symantec

Symantec est un autre éditeur important dans le domaine de la sécurité.

Cisco Systems

Après le rachat de Wheel Group, Cisco se différencie de ces concurrents en


proposant des sondes IDS intégrées dans leur gamme Catalyst des commutateurs.
Cisco finira par fournir des solutons NIDS et HIDS.

Enterasys Networks

Positionnement original puisque elle est à la fois un constructeur et un éditeur de


logiciels par le rachat de la société Networks Security Wizards, cela permet à
Enterasys Networks d'être en bonne position sur le marché des IDS.

McAfee / Network Associates

A l'ambition de jouer un rôle dans les IDS/IPS avec le rachat de 2 startups en 2003
qui travaillaient sur les HIDS pour l'une et les NIDS pour l'autre.

Vous aimerez peut-être aussi