utilisation des ids

50
Les systèmes de détection d'intrusions Par Jonathan Krier Date de publication : 21 juillet 2006 Si la sécurité devient aujourd'hui un domaine très en vogue, il reste néanmoins très vaste et souvent complexe à prendre en main. Ce document a pour but de vous aider à distinguer les différents types d'attaques informatiques existantes, mais il vise également à expliquer le fonctionnement et la mise en place de différents systèmes de détection d'intrusions. Ce document a été réalisé dans le cadre d'un sujet d'initiation à la recherche en Master Informatique. Il regroupe de nombreuses heures de recherches, sur les différents types d'attaques, les systèmes de détection d'intrusions, la mise en œuvre et comparaison de différents systèmes, ainsi qu'une explication des différents algorithmes de Pattern Matching.

Upload: youssef-ysf

Post on 25-Sep-2015

21 views

Category:

Documents


13 download

DESCRIPTION

Utilisation des IDS

TRANSCRIPT

  • Les systmes de dtection d'intrusions

    Par Jonathan Krier

    Date de publication : 21 juillet 2006

    Si la scurit devient aujourd'hui un domaine trs en vogue, il reste nanmoins trs vasteet souvent complexe prendre en main. Ce document a pour but de vous aider distinguerles diffrents types d'attaques informatiques existantes, mais il vise galement expliquerle fonctionnement et la mise en place de diffrents systmes de dtection d'intrusions.

    Ce document a t ralis dans le cadre d'un sujet d'initiation la recherche en MasterInformatique. Il regroupe de nombreuses heures de recherches, sur les diffrents typesd'attaques, les systmes de dtection d'intrusions, la mise en uvre et comparaison dediffrents systmes, ainsi qu'une explication des diffrents algorithmes de Pattern Matching.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 2 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    I - Introduction..............................................................................................................................................................4II - Les diffrents types d'attaques.............................................................................................................................. 4

    II-A - Anatomie d'une attaque................................................................................................................................ 4II-B - Les attaques rseau..................................................................................................................................... 5

    II-B-1 - Les techniques de scan....................................................................................................................... 5II-B-2 - IP Spoofing........................................................................................................................................... 6II-B-3 - ARP Spoofing (ou ARP Redirect)........................................................................................................ 6II-B-4 - DNS Spoofing.......................................................................................................................................6II-B-5 - Fragments attacks................................................................................................................................ 7II-B-6 - TCP Session Hijacking.........................................................................................................................7

    II-C - Les attaques applicatives............................................................................................................................. 7II-C-1 - Les problmes de configuration...........................................................................................................7II-C-2 - Les bogues...........................................................................................................................................8II-C-3 - Les buffer overflows............................................................................................................................. 8II-C-4 - Les scripts............................................................................................................................................ 8II-C-5 - Les injections SQL............................................................................................................................... 8II-C-6 - Man in the middle................................................................................................................................ 8

    II-D - Le Dni de service....................................................................................................................................... 9II-E - Actuellement..................................................................................................................................................9

    III - Dtection d'attaques : les IDS............................................................................................................................ 10III-A - Les diffrents types d'IDS..........................................................................................................................10

    III-A-1 - Les systmes de dtection d'intrusions (IDS)...................................................................................10III-A-2 - Les systmes de dtection d'intrusions rseau (NIDS)...............................................................10III-A-3 - Les systmes de dtection d'intrusions de type hte (HIDS)........................................................... 10III-A-4 - Les systmes de dtection d'intrusions hybrides ........................................................................11III-A-5 - Les systmes de prvention d'intrusions (IPS)................................................................................. 11III-A-6 - Les systmes de prvention d'intrusions kernel (KIDS/KIPS).....................................................12III-A-7 - Les firewalls.......................................................................................................................................12III-A-8 - Les technologies complmentaires................................................................................................... 12

    III-B - Les mthodes de dtection....................................................................................................................... 13III-B-1 - L'approche par scnario (misuse detection)..................................................................................... 13III-B-2 - L'approche comportementale (Anomaly Detection).......................................................................... 14III-B-3 - Les mthodes rpandues..................................................................................................................15

    III-C - Principes gnraux et installation technique............................................................................................. 15III-C-1 - Dploiement d'un NIDS.....................................................................................................................16III-C-2 - Problmes techniques.......................................................................................................................17III-C-3 - Complmentarit des IDS................................................................................................................. 18

    III-D - Normalisation............................................................................................................................................. 18III-E - Techniques antiIDS.................................................................................................................................... 19

    III-E-1 - Dtecter un IDS.................................................................................................................................19III-E-2 - Dni de services contre un IDS........................................................................................................ 20III-E-3 - Techniques d'insertion....................................................................................................................... 20III-E-4 - Techniques d'vasion........................................................................................................................ 20

    III-F - Critres de tests d'un IDS..........................................................................................................................22IV - Mise en uvre d'IDS......................................................................................................................................... 22

    IV-A - NIDS / NIPS : Snort...................................................................................................................................22IV-A-1 - Description.........................................................................................................................................22IV-A-2 - Installation......................................................................................................................................... 23IV-A-3 - Configuration..................................................................................................................................... 24IV-A-4 - Excution...........................................................................................................................................24IV-A-5 - Cration de nouvelles rgles............................................................................................................ 25IV-A-6 - La console BASE..............................................................................................................................26

    IV-B - NIDS : Bro..................................................................................................................................................27IV-B-1 - Description.........................................................................................................................................27IV-B-2 - Installation......................................................................................................................................... 27IV-B-3 - Configuration..................................................................................................................................... 28IV-B-4 - Excution...........................................................................................................................................28IV-B-5 - Cration de nouvelles rgles............................................................................................................ 28

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 3 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    IV-C - Comparatif Snort & Bro.............................................................................................................................29IV-D - NIPS : SnortSam....................................................................................................................................... 30IV-E - NIPS : Snort-Inline..................................................................................................................................... 31IV-F - HIDS : OSSEC...........................................................................................................................................31

    IV-F-1 - Description.........................................................................................................................................31IV-F-2 - Installation..........................................................................................................................................31IV-F-3 - Configuration..................................................................................................................................... 31IV-F-4 - Cration de nouvelles rgles............................................................................................................ 32

    IV-G - HIDS : SamHain........................................................................................................................................ 32IV-G-1 - Description........................................................................................................................................ 32IV-G-2 - Installation......................................................................................................................................... 32IV-G-3 - Configuration.....................................................................................................................................33

    IV-H - HIDS : RkHunter........................................................................................................................................34IV-H-1 - Description........................................................................................................................................ 34IV-H-2 - Installation......................................................................................................................................... 34

    IV-I - Comparatif HIDS......................................................................................................................................... 34IV-J - IDS Hybride : Prelude................................................................................................................................ 35IV-K - KIDS : LIDS............................................................................................................................................... 35

    V - Tests de dtection d'attaques..............................................................................................................................36V-A - Exploit phpBB............................................................................................................................................. 36V-B - Scan TCP SYN...........................................................................................................................................36V-C - Scan TCP Connect.....................................................................................................................................36V-D - Scan Null.................................................................................................................................................... 37V-E - Remarques sur les scans...........................................................................................................................37V-F - Exploit : Overflow HTTP d'Oracle 9i (win32).............................................................................................. 37V-G - Remarques sur les exploits Oracle 9i........................................................................................................38

    VI - Algorithmique : le Pattern Matching................................................................................................................... 38VI-A - Introduction................................................................................................................................................ 38VI-B - Algorithme naf (Brute Force Algorithm)....................................................................................................39VI-C - L'algorithme de Morris - Pratt....................................................................................................................39VI-D - L'algorithme de Knuth - Morris - Pratt.......................................................................................................41VI-E - Algorithme de Boyer - Moore.................................................................................................................... 42VI-F - Algorithme de Aho - Corasick................................................................................................................... 43VI-G - Snort et le pattern matching..................................................................................................................... 44VI-H - Conclusion................................................................................................................................................. 46

    VII - Conclusion......................................................................................................................................................... 46VIII - Bibliographie..................................................................................................................................................... 46IX - Annexe : Rappels essentiels concernant les protocoles....................................................................................48

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 4 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    I - Introduction

    Les systmes d'information sont aujourd'hui de plus en plus ouverts sur Internet. Cette ouverture, a priori bnfique,pose nanmoins un problme majeur : il en dcoule un nombre croissant d'attaques. La mise en place d'une politiquede scurit autour de ces systmes est donc primordiale.

    Outre la mise en place de pare-feu et de systmes d'authentification de plus en plus scuriss, il est ncessaire,pour complter cette politique de scurit, d'avoir des outils de surveillance pour auditer le systme d'information etdtecter d'ventuelles intrusions.

    Ce que nous appelons intrusion signifie pntration des systmes d'information, mais aussi tentatives des utilisateurslocaux d'accder de plus hauts privilges que ceux qui leur sont attribus, ou tentatives des administrateurs d'abuserde leurs privilges.

    Au cours de ce document, nous verrons comment se protger efficacement face ces intrusions, mais aussi lesproblmes techniques dduits de ces outils, nouvellement apparus dans le monde informatique.

    Mais avant cela, il est important, pour comprendre le rle prcis de ces systmes, de faire un rappel des principalesattaques existantes l'heure actuelle.

    II - Les diffrents types d'attaques

    L'informatique tant un domaine trs vaste, le nombre de vulnrabilits prsentes sur un systme peut donc treimportant. Ainsi, les attaques visant ces failles peuvent tre la fois trs varies et trs dangereuses. C'est pourquoinous allons dans un premier temps analyser ce que nous appellerons l'anatomie d'une attaque , puis dans unsecond temps, nous caractriserons ces attaques et observerons leur droulement.

    Un nombre important de termes techniques vont tre employs dans cette partie.

    Ceux-ci ne seront pas toujours dtaills, afin de ne pas surcharger la lecture ; mais une annexe comportant unrappel sur les notions fondamentales lies aux protocoles des rseaux (TCP, UDP et IP) est disponible la fin dece document.

    II-A - Anatomie d'une attaque

    Frquemment appels les 5 P dans la littrature, ces cinq verbes anglophones constituent le squelette de touteattaque informatique : Probe, Penetrate, Persist, Propagate, Paralyze.

    Observons le dtail de chacune de ces tapes :

    Probe : consiste en la collecte d'informations par le biais d'outils comme whois, Arin, DNS lookup. Lacollecte d'informations sur le systme cible peut s'effectuer de plusieurs manires, par exemple un scande ports grce au programme Nmap pour dterminer la version des logiciels utiliss, ou encore un scan devulnrabilits l'aide du programme Nessus.

    Pour les serveurs web, il existe un outil nomm Nikto qui permet de rechercher les failles connues ou les problmesde scurit.

    Des outils comme firewalk, hping ou SNMP Walk permettent quant eux de dcouvrir la

    nature d'un rseau ;

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 5 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Penetrate : utilisation des informations rcoltes pour pntrer un rseau. Des techniques comme le bruteforce ou les attaques par dictionnaires peuvent tre utilises pour outrepasser les protections par mot depasse. Une autre possibilit pour s'infiltrer dans un systme est d'utiliser des failles applicatives que nousverrons ci-aprs ;

    Persist : cration d'un compte avec des droits de super utilisateur pour pouvoir se rinfiltrer ultrieurement.Une autre technique consiste installer une application de contrle distance capable de rsister un reboot(ex. : un cheval de Troie) ;

    Propagate : cette tape consiste observer ce qui est accessible et disponible sur le rseau local ; Paralyze : cette tape peut consister en plusieurs actions. Le pirate peut utiliser le serveur pour mener une

    attaque sur une autre machine, dtruire des donnes ou encore endommager le systme d'exploitation dansle but de planter le serveur.

    Aprs ces cinq tapes, le pirate peut ventuellement tenter d'effacer ses traces, bien que cela ne soit rarementutile. En effet, les administrateurs rseau sont souvent surchargs de logs analyser. De plus, il est trs difficile desupprimer entirement des traces.

    II-B - Les attaques rseau

    Ce type d'attaque se base principalement sur des failles lies aux protocoles ou leur implmentation. Les RFC (1)ne sont parfois pas assez spcifiques, et un choix particulier d'implmentation dans les diffrents services ou clientspeut entraner un problme de scurit.

    Observons quelques attaques bien connues.

    II-B-1 - Les techniques de scan

    Les scans de ports ne sont pas des attaques proprement parler. Le but des scans est de dterminer quels sontles ports ouverts, et donc en dduire les services qui sont excuts sur la machine cible (ex. : port 80/TCP pour unservice HTTP). Par consquent, la plupart des attaques sont prcdes par un scan de ports lors de la phase Probequi est comme nous l'avons vu, la premire phase des 5P's dans le droulement d'une attaque.

    Il existe un nombre important de techniques de scan. Idalement, la meilleure technique de scan est celle qui estla plus furtive afin de ne pas alerter les soupons de la future victime. Voici une description des techniques de scanles plus rpandues :

    le scan simple : aussi appel le scan connect(), il consiste tablir une connexion TCP complte sur unesuite de ports. S'il arrive se connecter, le port est ouvert ; sinon, il est ferm. Cette mthode de scan est trsfacilement dtectable ;

    le scan furtif : aussi appel scan SYN, il s'agit d'une amlioration du scan simple. Ce scan essaie galementde se connecter sur des ports donns, mais il n'tablit pas compltement la connexion : pas de commandeACK (acquittement) aprs avoir reu l'accord de se connecter. Grce ceci, la mthode est bien plus furtiveque le scan normal ;

    les scans XMAS, NULL et FIN : se basent sur des dtails de la RFC du protocole TCP pour dterminer siun port est ferm ou non en fonction de la raction certaines requtes. Ces scans sont moins fiables que lescan SYN, mais ils sont un peu plus furtifs. La diffrence entre ces trois types de scan se situe au niveau desflags TCP utiliss lors de la requte ;

    le scan l'aveugle : s'effectue via une machine intermdiaire et avec du spoofing (voir plus bas). Le systmeattaqu pense que le scan est ralis par la machine intermdiaire et non par le pirate ;

    le scans passif : est la mthode la plus furtive. Consiste analyser les champs d'en-tte des paquets (TTL,ToS, MSS) et les comparer avec une base de signatures qui pourra dterminer les applications qui ontenvoy ces paquets.

    Remarque : l'utilitaire incontournable pour raliser des scans de ports se nomme Nmap.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 6 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    II-B-2 - IP Spoofing

    But : usurper l'adresse IP d'une autre machine.

    Finalit : se faire passer pour une autre machine en truquant les paquets IP. Cette technique peut tre utile dans lecas d'authentifications bases sur une adresse IP (services tels que rlogin ou ssh par exemple).

    Droulement : il existe des utilitaires qui permettent de modifier les paquets IP ou de crer ses propres paquets(ex. : hping2). Grce ces utilitaires, il est possible de spcifier une adresse IP diffrente de celle que l'on possde,et ainsi se faire passer pour une autre machine .

    Cependant, ceci pose un problme : en spcifiant une adresse IP diffrente de notre machine, nous ne recevrons pasles rponses de la machine distante, puisque celle-ci rpondra l'adresse spoofe. Il existe toutefois deux mthodespermettant de rcuprer les rponses :

    Source routing : technique consistant placer le chemin de routage directement dans le paquet IP. Cettetechnique ne fonctionne plus de nos jours, les routeurs rejetant cette option.

    Reroutage : cette technique consiste envoyer des paquets RIP aux routeurs afin de modifier les tables deroutage. Les paquets avec l'adresse spoofe seront ainsi envoys aux routeurs contrls par le pirate et lesrponses pourront tre galement reues par celui-ci.

    II-B-3 - ARP Spoofing (ou ARP Redirect)

    But : rediriger le trafic d'une machine vers une autre.

    Finalit : grce cette redirection, une personne mal intentionne peut se faire passer pour une autre. De plus, lepirate peut rerouter les paquets qu'il reoit vers le vritable destinataire, ainsi l'utilisateur usurp ne se rendra comptede rien. La finalit est la mme que l'IP spoofing, mais on travaille ici au niveau de la couche liaison de donnes.

    Droulement : pour effectuer cette usurpation, il faut corrompre le cache ARP de la victime. Ce qui signifie qu'il fautlui envoyer des trames ARP en lui indiquant que l'adresse IP d'une autre machine est la sienne. Les caches ARPtant rgulirement vids, il faudra veiller maintenir l'usurpation.

    II-B-4 - DNS Spoofing

    But : fournir de fausses rponses aux requtes DNS, c'est--dire indiquer une fausse adresse IP pour un nom dedomaine.

    Finalit : rediriger, leur insu, des internautes vers des sites pirates. Grce cette fausse redirection, l'utilisateurpeut envoyer ses identifiants en toute confiance par exemple.

    Droulement : il existe deux techniques pour effectuer cette attaque :

    DNS Cache Poisoning : les serveurs DNS possdent un cache permettant de garder pendant un certaintemps la correspondance entre un nom de machine et son adresse IP. Le DNS Cache Poisoning consiste corrompre ce cache avec de fausses informations. Ces fausses informations sont envoyes lors d'unerponse d'un serveur DNS contrl par le pirate un autre serveur DNS, lors de la demande de l'adresseIP d'un domaine (ex. : www.ledomaine.com). Le cache du serveur ayant demand les informations est alorscorrompu ;

    DNS ID Spoofing : pour communiquer avec une machine, il faut son adresse IP. On peut toutefois avoirson nom, et grce au protocole DNS, nous pouvons obtenir son adresse IP. Lors d'une requte pour obtenirl'adresse IP partir d'un nom, un numro d'identification est plac dans la trame afin que le client et leserveur puissent identifier la requte. L'attaque consiste ici rcuprer ce numro d'identification (en sniffant

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 7 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    le rseau) lors de la communication entre un client et un serveur DNS, puis envoyer des rponses falsifiesau client avant que le serveur DNS lui rponde.

    Remarque : une attaque que nous allons voir ci-aprs, le Dni de Service, peut aider ralentir le trafic du serveurDNS et ainsi permettre de rpondre avant lui.

    II-B-5 - Fragments attacks

    But : le but de cette attaque est de passer outre les protections des quipements de filtrage IP.

    Finalit : en passant outre les protections, un pirate peut par exemple s'infiltrer dans un rseau pour effectuer desattaques ou rcuprer des informations confidentielles.

    Droulement : deux types d'attaque sur les fragments IP peuvent tre distingus :

    Fragments overlapping : quand un message est mis sur un rseau, il est fragment en plusieurs paquetsIP. Afin de pouvoir reconstruire le message, chaque paquet possde un offset. Le but de l'attaque est deraliser une demande de connexion et de faire chevaucher des paquets en spcifiant des offsets incorrects.La plupart des filtres analysant les paquets indpendamment, ils ne dtectent pas l'attaque. Cependant, lorsde la dfragmentation, la demande de connexion est bien valide et l'attaque a lieu ;

    Tiny fragments : le but de l'attaque est de fragmenter une demande de connexion sur deux paquets IP : lepremier paquet de taille minimum (68 octets selon la RFC du protocole IP) ne contient que l'adresse et le portde destination. Le deuxime paquet contient la demande effective de connexion TCP. Le premier paquet estaccept par les filtres puisqu'il ne contient rien de suspect. Quand le deuxime paquet arrive, certains filtresne le vrifient pas, pensant que si le premier paquet est inoffensif, le deuxime l'est aussi. Mais lors de ladfragmentation sur le systme d'exploitation, la connexion s'tablit !

    De nos jours, une grande majorit des firewalls (2) sont capables de dtecter et stopper ce type d'attaques.

    II-B-6 - TCP Session Hijacking

    But : le but de cette attaque est de rediriger un flux TCP afin de pouvoir outrepasser une protection par mot de passe.

    Finalit : le contrle d'authentification s'effectuant uniquement l'ouverture de la session, un pirate russissant cetteattaque parvient prendre possession de la connexion pendant toute la dure de la session.

    Droulement : dans un premier temps, le pirate doit couter le rseau, puis lorsqu'il estime que l'authentification apu se produire (dlai de n secondes par exemple), il dsynchronise la session entre l'utilisateur et le serveur. Pource faire, il construit un paquet avec, comme adresse IP source, celle de la machine de l'utilisateur et le numrod'acquittement TCP attendu par le serveur. En plus de dsynchroniser la connexion TCP, ce paquet permet au pirated'injecter une commande via la session pralablement tablie.

    II-C - Les attaques applicatives

    Les attaques applicatives se basent sur des failles dans les programmes utiliss, ou encore des erreurs deconfiguration. Toutefois, comme prcdemment, il est possible de classifier ces attaques selon leur provenance.

    II-C-1 - Les problmes de configuration

    Il est trs rare que les administrateurs rseau configurent correctement un programme. En gnral, ils se contententd'utiliser les configurations par dfaut. Celles-ci sont souvent non scurises afin de faciliter l'exploitation du logiciel(ex. : login/mdp par dfaut d'un serveur de base de donnes).

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 8 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    De plus, des erreurs peuvent apparatre lors de la configuration d'un logiciel. Une mauvaise configuration d'un serveurpeut entraner l'accs des fichiers importants, ou mettant en jeu l'intgrit du systme d'exploitation. C'est pourquoiil est important de bien lire les documentations fournies par les dveloppeurs afin de ne pas crer de failles.

    II-C-2 - Les bogues

    Lis un problme dans le code source, ils peuvent amener l'exploitation de failles. Il n'est pas rare de voirl'exploitation d'une machine bloque suite une simple erreur de programmation. On ne peut toutefois rien fairecontre ce type de problmes, si ce n'est attendre un correctif de la part du dveloppeur.

    II-C-3 - Les buffer overflows

    Les buffer overflows, ou dpassement de la pile, sont une catgorie de bogue particulire.

    Issus d'une erreur de programmation, ils permettent l'exploitation d'un shellcode (3) distance.

    Ce shellcode permettra une personne mal intentionne d'excuter des commandes sur le systme distant, pouvantaller jusqu' sa destruction.

    L'erreur de programmation est souvent la mme : la taille d'une entre n'est pas vrifie et l'entre est directementcopie dans un buffer dont la taille est infrieure la taille de l'entre. On se retrouve donc en situation dedbordement, et l'exploitant peut ainsi accder la mmoire.

    II-C-4 - Les scripts

    Principalement web (ex. : Perl, PHP, ASP), ils s'excutent sur un serveur et renvoient un rsultat au client. Cependant,lorsqu'ils sont dynamiques (i.e. qu'ils utilisent des entres saisies par un utilisateur), des failles peuvent apparatresi les entres ne sont pas correctement contrles.

    L'exemple classique est l'exploitation de fichier distance, telle que l'affichage du fichier mot de passe du systmeen remontant l'arborescence depuis le rpertoire web.

    II-C-5 - Les injections SQL

    Tout comme les attaques de scripts, les injections SQL profitent de paramtres d'entre non vrifis. Comme leurnom l'indique, le but des injections SQL est d'injecter du code SQL dans une requte de base de donnes. Ainsi, ilest possible de rcuprer des informations se trouvant dans la base (exemple : des mots de passe) ou encore dedtruire des donnes.

    II-C-6 - Man in the middle

    Moins connue, mais tout aussi efficace, cette attaque permet de dtourner le trafic entre deux stations. Imaginons unclient C communiquant avec un serveur S. Un pirate peut dtourner le trafic du client en faisant passer les requtes deC vers S par sa machine P, puis transmettre les requtes de P vers S. Et inversement pour les rponses de S vers C.

    Totalement transparente pour le client, la machine P joue le rle de proxy. Elle accdera ainsi toutes lescommunications et pourra en obtenir les informations sans que l'utilisateur s'en rende compte.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 9 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    II-D - Le Dni de service

    voqu prcdemment, le dni de service est une attaque visant rendre indisponible un service. Ceci peuts'effectuer de plusieurs manires : par le biais d'une surcharge rseau, rendant ainsi la machine totalementinjoignable ; ou bien de manire applicative en crashant l'application distance.

    L'utilisation d'un buffer overflow peut permettre de planter l'application distance.

    Grce quelques instructions malicieuses et suite une erreur de programmation, une personne mal intentionnepeut rendre indisponible un service (serveur web, serveur de messagerie) voire un systme complet.

    Voici quelques attaques rseau connues permettant de rendre indisponible un service :

    SYN Flooding : exploite la connexion en trois phases de TCP (Three Way Handshake :

    SYN/SYN-ACK/ACK). Le principe est de laisser un grand nombre de connexions TCP en attente. Le pirate envoie denombreuses demandes de connexion (SYN), reoit les SYN-ACK, mais ne rpond jamais avec ACK. Les connexionsen cours occupent des ressources mmoire, ce qui va entraner une saturation et l'effondrement du systme ;

    UDP Flooding : le trafic UDP est prioritaire sur TCP. Le but est donc d'envoyer un grand nombre de paquetsUDP, ce qui va occuper toute la bande passante et ainsi rendre indisponibles toutes les connexions TCP.

    Exemple : faire une requte chargen (port 19/service de gnration de caractres) une machine en spoofantl'adresse et le port source, pour rediriger vers echo (port 7/service qui rpte la chane de caractres reue) d'uneautre machine ;

    Packet Fragment : utilise une mauvaise gestion de la dfragmentation au niveau ICMP.

    Exemple : ping of death. La quantit de donnes est suprieure la taille maximum d'un paquet IP.

    Remarque : pour rappel, nous avons vu que les techniques d'attaque se basant sur la fragmentation des paquetspeuvent aussi tre utilises pour outrepasser un filtre IP ;

    Smurfling : le pirate fait des requtes ICMP ECHO des adresses de broadcast en spoofant l'adressesource (en indiquant l'adresse de la machine cible). Cette machine cible va recevoir un nombre norme derponses, car toutes les machines vont lui rpondre, et ainsi utiliser toute sa bande passante ;

    Dni de service distribu : le but est ici de reproduire une attaque normale grande chelle. Pour cefaire, le pirate va tenter de se rendre matre d'un nombre important de machines. Grce des failles (bufferoverflows, failles RPC (4) ) il va pouvoir prendre le contrle de machines distance et ainsi pouvoir lescommander sa guise.

    Une fois ceci effectu, il ne reste plus qu' donner l'ordre d'attaquer toutes les machines en mme temps, demanire ce que l'attaque soit reproduite des milliers d'exemplaires. Ainsi, une simple attaque comme un SYNFlooding pourra rendre une machine ou un rseau totalement inaccessible.

    II-E - Actuellement

    La scurit contre les attaques distantes se renforce, notamment par le biais d'quipements rseau plus puissants(comme des firewalls plus intelligents), mais les attaques locales restent toutefois encore fort efficaces : l'ARPSpoofing, le vol de session restent souvent possibles.

    L'informatique volue, les applications sont de plus en plus complexes et les dlais laisss aux programmeurs etadministrateurs sont souvent trs (trop) courts. Les risques de failles applicatives sont, de ce fait, trs grands etpeuvent s'avrer dangereux pour des applications largement rpandues.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 10 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Les attaques distribues seront toujours redoutables si la plupart des machines personnelles ne sont pas protges.Ce qui nous amne notre seconde partie : comment dtecter et empcher ces attaques ?

    III - Dtection d'attaques : les IDS

    Afin de dtecter les attaques que peut subir un systme, il est ncessaire d'avoir un logiciel spcialis dont le rleserait de surveiller les donnes qui transitent sur ce systme, et qui serait capable de ragir si des donnes semblentsuspectes. Plus communment appels IDS (Intrusion Detection Systems), les systmes de dtection d'intrusionsconviennent parfaitement pour raliser cette tche.

    l'origine, les premiers systmes de dtection d'intrusions ont t initis par l'arme amricaine, puis par desentreprises. Plus tard, des projets open source ont t lancs et certains furent couronns de succs, par exempleSnort et Prelude que nous dtaillerons par aprs. Parmi les solutions commerciales, on retrouve les produits desentreprises spcialises en scurit informatique telles que Internet Security Systems, Symantec, Cisco Systems

    III-A - Les diffrents types d'IDS

    Comme nous l'avons vu, les attaques utilises par les pirates sont trs varies. Certaines utilisent des failles rseauet d'autres des failles de programmation. Nous pouvons donc facilement comprendre que la dtection d'intrusionsdoit se faire plusieurs niveaux.

    Ainsi, il existe diffrents types d'IDS dont nous dtaillons ci-dessous les caractristiques principales.

    III-A-1 - Les systmes de dtection d'intrusions (IDS)

    Dfinition : ensemble de composants logiciels et matriels dont la fonction principale est de dtecter et analysertoute tentative d'effraction (volontaire ou non).

    Fonctions : dtection des techniques de sondage (balayages de ports, fingerprinting), des tentatives decompromission de systmes, d'activits suspectes internes, des activits virales ou encore audit des fichiers dejournaux (logs).

    Remarque : utopiquement, il s'agit d'un systme capable de dtecter tout type d'attaque.

    Certains termes sont souvent employs quand on parle d'IDS :

    Faux positif : une alerte provenant d'un IDS, mais qui ne correspond pas une attaque relle. Faux ngatif : une intrusion relle qui n'a pas t dtecte par l'IDS

    III-A-2 - Les systmes de dtection d'intrusions rseau (NIDS)

    Objectif : analyser de manire passive les flux en transit sur le rseau et dtecter les intrusions en temps rel.

    Un NIDS coute donc tout le trafic rseau, puis l'analyse et gnre des alertes si des paquets semblent dangereux.

    Les NIDS tant les IDS plus intressants et les plus utiles du fait de l'omniprsence des rseaux dans notre viequotidienne, ce document se concentrera essentiellement sur ce type d'IDS.

    III-A-3 - Les systmes de dtection d'intrusions de type hte (HIDS)

    Un HIDS se base sur une unique machine, n'analysant cette fois plus le trafic rseau, mais l'activit se passant surcette machine. Il analyse en temps rel les flux relatifs une machine ainsi que les journaux.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 11 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Un HIDS a besoin d'un systme sain pour vrifier l'intgrit des donnes. Si le systme a t compromis par un pirate,le HIDS ne sera plus efficace. Pour parer ces attaques, il existe des KIDS (Kernel Intrusion Detection System)et KIPS (Kernel Intrusion PreventionSystem) qui sont fortement lis au noyau. Ces types d'IDS sont dcrits un peuplus loin.

    III-A-4 - Les systmes de dtection d'intrusions hybrides

    Gnralement utiliss dans un environnement dcentralis, ils permettent de runir les informations de diversessondes places sur le rseau. Leur appellation hybride provient du fait qu'ils sont capables de runir aussi biendes informations provenant d'un systme HIDS qu'un NIDS.

    L'exemple le plus connu dans le monde Open-Source est Prelude. Ce framework permet de stocker dans une base dedonnes des alertes provenant de diffrents systmes relativement varis. Utilisant Snort comme NIDS, et d'autreslogiciels tels que Samhain en tant que HIDS, il permet de combiner des outils puissants tous ensemble pour permettreune visualisation centralise des attaques.

    Remarque : nous parlerons de tous ces produits plus tard dans ce document, en voquant les spcificits etl'installation de chacun.

    III-A-5 - Les systmes de prvention d'intrusions (IPS)

    Dfinition : ensemble de composants logiciels et matriels dont la fonction principale est d'empcher toute activitsuspecte dtecte au sein d'un systme.

    Contrairement aux IDS simples, les IPS sont des outils aux fonctions actives , qui en plus de dtecter une intrusion,tentent de la bloquer. Cependant, les IPS ne sont pas la solution parfaite comme on pourrait le penser.

    Plusieurs stratgies de prvention d'intrusions existent :

    host-based memory and process protection :surveille l'excution des processus et les tue s'ils ont l'airdangereux (buffer overflow). Cette technologie est utilise dans les KIPS (Kernel Intrusion PreventionSystem) que nous dcrivons un peu plus loin ;

    session interception / session sniping : termine une session TCP avec la commande TCP Reset : RST . Ceci est utilis dans les NIPS (Network Intrusion Prevention System) ;

    gateway intrusion detection : si un systme NIPS est plac en tant que routeur, il bloque le trafic ; sinon ilenvoie des messages d'autres routeurs pour modifier leur liste d'accs.

    Un IPS possde de nombreux inconvnients. Le premier est qu'il bloque toute activit qui lui semble suspecte. Or, il estimpossible d'assurer une fiabilit 100 % dans l'identification des attaques. Un IPS peut donc malencontreusementbloquer du trafic inoffensif ! Par exemple, un IPS peut dtecter une tentative de dni de service alors qu'il s'agitsimplement d'une priode charge en trafic. Les faux positifs sont donc trs dangereux pour les IPS.

    Le deuxime inconvnient est qu'un pirate peut utiliser sa fonctionnalit de blocage pour mettre hors service unsystme. Prenons l'exemple d'un individu mal intentionn qui attaque un systme protg par un IPS, tout en spoofantson adresse IP. Si l'adresse IP spoofe est celle d'un nud important du rseau (routeur, service Web), lesconsquences seront catastrophiques. Pour pallier ce problme, de nombreux IPS disposent des white lists ,c'est--dire des listes d'adresses rseau qu'il ne faut en aucun cas bloquer.

    Et enfin, le troisime inconvnient et non le moindre : un IPS est peu discret. En effet, chaque blocage d'attaque, ilmontre sa prsence. Cela peut paratre anodin, mais si un pirate remarque la prsence d'un IPS, il tentera de trouverune faille dans celui-ci afin de ritrer son attaque mais cette fois en passant inaperu.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 12 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Voil pourquoi les IDS passifs sont souvent prfrs aux IPS. Cependant, il est intressant de noter que plusieursIDS (ex. : Snort, RealSecure, Dragon) ont t dots d'une fonctionnalit de raction automatique certains typesd'attaques.

    III-A-6 - Les systmes de prvention d'intrusions kernel (KIDS/KIPS)

    Nous l'voquions prcdemment dans le cadre du HIDS, l'utilisation d'un dtecteur d'intrusions au niveau noyau peuts'avrer parfois ncessaire pour scuriser une station.

    Prenons l'exemple d'un serveur web, sur lequel il serait dangereux qu'un accs en lecture/criture dans d'autresrpertoires que celui consultable via HTTP, soit autoris. En effet, cela pourrait nuire l'intgrit du systme. Grce un KIPS, tout accs suspect peut tre bloqu directement par le noyau, empchant ainsi toute modificationdangereuse pour le systme.

    Le KIPS peut reconnatre des motifs caractristiques du dbordement de mmoire, et peut ainsi interdire l'excutiondu code. Le KIPS peut galement interdire l'OS d'excuter un appel systme qui ouvrirait un shell de commandes.

    Puisqu'un KIPS analyse les appels systmes, il ralentit l'excution. C'est pourquoi ce sont des solutions rarementutilises sur des serveurs souvent sollicits.

    Exemple de KIPS : SecureIIS, qui est une surcouche du serveur IIS de Microsoft.

    III-A-7 - Les firewalls

    Les firewalls ne sont pas des IDS proprement parler, mais ils permettent galement de

    stopper des attaques. Nous ne pouvions donc pas les ignorer.

    Les firewalls sont bass sur des rgles statiques afin de contrler l'accs des flux. Ils travaillent en gnral au niveaudes couches basses du modle OSI (jusqu'au niveau 4), ce qui est insuffisant pour stopper une intrusion. Par exemple,lors de l'exploitation d'une faille d'un serveur Web, le flux HTTP sera autoris par le firewall puisqu'il n'est pas capablede vrifier ce que contiennent les paquets.

    Il existe trois types de firewalls :

    les systmes filtrage de paquets sans tat : analysent les paquets les uns aprs les autres, de maniretotalement indpendante ;

    les systmes maintien d'tat (stateful) : vrifient que les paquets appartiennent une session rgulire.Ce type de firewall possde une table d'tats o est stock un suivi de chaque connexion tablie, ce quipermet au firewall de prendre des dcisions adaptes la situation.

    Ces firewalls peuvent cependant tre outrepasss en faisant croire que les paquets appartiennent une sessiondj tablie ;

    les firewalls de type proxy : le firewall s'intercale dans la session et analyse l'information afin de vrifier queles changes protocolaires sont conformes aux normes.

    III-A-8 - Les technologies complmentaires

    Les scanners de vulnrabilits : systmes dont la fonction est d'numrer les vulnrabilits prsentes sur unsystme. Ces programmes utilisent une base de vulnrabilits connues (exemple : Nessus).

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 13 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Les systmes de leurre : le but est de ralentir la progression d'un attaquant, en gnrant des fausses rponses tellesque renvoyer une fausse bannire du serveur Web utilis.

    Les systmes de leurre et d'tude (Honeypots) : le pirate est galement leurr, mais en plus, toutes ses actions sontenregistres. Elles seront ensuite tudies afin de connatre les mcanismes d'intrusion utiliss par le hacker. Il seraainsi plus facile d'offrir des protections par la suite.

    Les systmes de corrlation et de gestion des intrusions (SIM - Security Information Manager) : centralisent etcorrlent les informations de scurit provenant de plusieurs sources (IDS, firewalls, routeurs, applications). Lesalertes sont ainsi plus faciles analyser.

    Les systmes distribus tolrance d'intrusion : l'information sensible est rpartie plusieurs endroits gographiques,mais des copies de fragments sont archives sur diffrents sites pour assurer la disponibilit de l'information.Cependant, si un pirate arrive s'introduire sur le systme, il n'aura qu'une petite partie de l'information et celle-cilui sera inutile.

    III-B - Les mthodes de dtection

    Pour bien grer un systme de dtection d'intrusions, il est important de comprendre comment celui-ci fonctionne. Unequestion simple se pose alors : comment une intrusion est-elle dtecte par un tel systme ? Quel critre diffrencieun flux contenant une attaque d'un flux normal ?

    Ces questions nous ont amens tudier le fonctionnement interne d'un IDS. De l, nous en avons dduit deuxtechniques mises en place dans la dtection d'attaques. La premire consiste dtecter des signatures d'attaquesconnues dans les paquets circulant sur le rseau. La seconde, consiste quant elle, dtecter une activit suspectedans le comportement de l'utilisateur.

    Ces deux techniques, aussi diffrentes soient-elles, peuvent tre combines au sein d'un mme systme afind'accrotre la scurit.

    III-B-1 - L'approche par scnario (misuse detection)

    Cette technique s'appuie sur la connaissance des techniques utilises par les attaquants pour dduire des scnariostypiques. Elle ne tient pas compte des actions passes de l'utilisateur et utilise des signatures d'attaques (= ensemblede caractristiques permettant d'identifier une activit intrusive : une chane alphanumrique, une taille de paquetinhabituelle, une trame formate de manire suspecte).

    Recherche de motifs (pattern matching)

    La mthode la plus connue et la plus facile comprendre. Elle se base sur la recherche de motifs (chanes decaractres ou suite d'octets) au sein du flux de donnes. L'IDS comporte une base de signatures o chaque signaturecontient les protocole et port utiliss par l'attaque ainsi que le motif qui permettra de reconnatre les paquets suspects.

    Le principal inconvnient de cette mthode est que seules les attaques reconnues par les signatures seront dtectes.Il est donc ncessaire de mettre jour rgulirement la base de signatures.

    Un autre inconvnient est que les motifs sont en gnral fixes. Or une attaque n'est pas toujours identique 100 %.Le moindre octet diffrent par rapport la signature provoquera la non-dtection de l'attaque.

    Pour les IDS utilisant cette mthode, il est ncessaire d'adapter la base de signatures en fonction du systme protger. Cela permet non seulement de diminuer les ressources ncessaires et donc augmenter les performances ;mais galement rduire considrablement le nombre de fausses alertes et donc faciliter le travail des administrateursrseau qui analyseront les fichiers d'alertes.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 14 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Cette technique est galement utilise dans les antivirus.

    Recherche de motifs dynamiques

    Le principe de cette mthode est le mme que prcdemment, mais les signatures des attaques voluentdynamiquement. L'IDS est de ce fait dot de fonctionnalits d'adaptation et d'apprentissage.

    Analyse de protocoles

    Cette mthode se base sur une vrification de la conformit (par rapport aux RFC) des flux, ainsi que sur l'observationdes champs et paramtres suspects dans les paquets. Cependant, les diteurs de logiciels et les constructeursrespectent rarement la lettre les RFC et cette mthode n'est pas toujours trs performante.

    L'analyse protocolaire est souvent implmente par un ensemble de prprocesseurs, o chaque prprocesseur estcharg d'analyser un protocole particulier (FTP, HTTP, ICMP). Du fait de la prsence de tous ces prprocesseurs,les performances dans un tel systme s'en voient fortement dgrades.

    L'intrt fort de l'analyse protocolaire est qu'elle permet de dtecter des attaques inconnues, contrairement au patternmatching qui doit connatre l'attaque pour pouvoir la dtecter.

    Analyse heuristique et dtection d'anomalies

    Le but de cette mthode est, par une analyse intelligente, de dtecter une activit suspecte ou

    toute autre anomalie.

    Par exemple : une analyse heuristique permet de gnrer une alarme quand le nombre de sessions destinationd'un port donn dpasse un seuil dans un intervalle de temps prdfini.

    III-B-2 - L'approche comportementale (Anomaly Detection)

    Cette technique consiste dtecter une intrusion en fonction du comportement pass de l'utilisateur. Pour cela, il fautpralablement dresser un profil utilisateur partir de ses habitudes et dclencher une alerte lorsque des vnementshors profil se produisent.

    Cette technique peut tre applique non seulement des utilisateurs, mais aussi des applications et services.Plusieurs mtriques sont possibles : la charge CPU, le volume de donnes changes, le temps de connexion surdes ressources, la rpartition statistique des protocoles et applications utiliss, les heures de connexion

    Cependant elle possde quelques inconvnients :

    peu fiable : tout changement dans les habitudes de l'utilisateur provoque une alerte ; ncessite une priode de non-fonctionnement pour mettre en uvre les mcanismes

    d'autoapprentissage : si un pirate attaque pendant ce moment, ses actions seront assimiles un profilutilisateur, et donc passeront inaperues lorsque le systme de dtection sera compltement mis en place ;

    l'tablissement du profil doit tre souple afin qu'il n'y ait pas trop de fausses alertes : le pirate peutdiscrtement intervenir pour modifier le profil de l'utilisateur afin d'obtenir aprs plusieurs jours ou semaines,un profil qui lui permettra de mettre en place son attaque sans qu'elle ne soit dtecte.

    Plusieurs approches peuvent tre utilises pour la mthode de dtection comportementale :

    Approche probabiliste

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 15 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Des probabilits sont tablies permettant de reprsenter une utilisation courante d'une application ou d'un protocole.Toute activit ne respectant pas le modle probabiliste provoquera la gnration d'une alerte.

    Exemple : Avec le protocole HTTP, il y a une probabilit de 0.9 qu'une commande GET soit faite aprs une connexionsur le port 80. Il y a ensuite une probabilit de 0.8 que la rponse cette commande GET soit HTTP/1.1 200 OK .

    Approche statistique

    Le but est de quantifier les paramtres lis l'utilisateur : taux d'occupation de la mmoire, utilisation des processeurs,valeur de la charge rseau, nombre d'accs l'Intranet par jour, vitesse de frappe au clavier, sites les plus visits

    Cette mthode est trs difficile mettre en place. Elle n'est actuellement prsente que dans le domaine de larecherche, o les chercheurs utilisent des rseaux neuronaux et le data mining pour tenter d'avoir des rsultatsconvaincants.

    Autres mthodes

    D'autres mthodes existent, mais ne sont pas encore rpandues. Parmi celles-ci, nous pouvons noter :

    l'utilisation de l'immunologie, c'est--dire construire un modle de comportement normal des services ; la prsentation d'une activit habituelle sous forme de graphe.

    III-B-3 - Les mthodes rpandues

    En gnral, les IDS mlangent les diffrentes techniques de dtection par scnario en proposant du pattern matching,de l'analyse protocolaire et de la dtection d'anomalies.

    De nombreuses techniques et algorithmes sont utiliss dans la dtection d'intrusions :

    Pattern Matchingalgorithmes de recherche de motifs (ex. : Boyer-Moore),algorithmes de comptage,algorithmes gntiques ;

    Analyse Protocolaireconformit aux RFC ;

    Dtection d'anomaliesmthodes heuristiques ;

    Analyse statistiquemodles statistiques ;

    Analyse probabilisterseaux baysiens ;

    Autres analyses comportementalesrseaux de neurones, systmes experts + data mining, immunologie, graphes

    Il est bien sr impossible de dtailler chacun des algorithmes mis en uvre dans les IDS.

    Nous avons cependant ddi le chapitre 6 aux algorithmes de pattern matching.

    III-C - Principes gnraux et installation technique

    Jusqu' prsent, nous avons vu les types d'IDS existants et les mthodes de dtection qu'ils utilisent. Nous allonsmaintenant dtailler une tape importante dans la mise en place d'un IDS : l'installation technique.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 16 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Lors de la mise en place d'un systme de dtection d'intrusions au sein d'un rseau, il est important de ledployer correctement d'une part, mais aussi de comprendre son fonctionnement interne pour pouvoir le configurerefficacement. Toute erreur lors de l'installation d'un IDS pourra le rendre inefficace ou inutilisable.

    III-C-1 - Dploiement d'un NIDS

    Il faut tout d'abord prendre conscience qu'un NIDS n'est pas suffisant pour assurer la scurit. En plus d'installer unNIDS, il ne faudra pas oublier les actions habituelles :

    les systmes et les applications doivent tre mises jour rgulirement (patches de scurit) ; les systmes utilisant Internet doivent tre dans un rseau isol (DMZ (5) ) ; chaque utilisateur doit tre averti de l'importance de la scurit de ses mots de passe ; les fonctionnalits des services qui ne sont pas utilises doivent tre dsactives.

    Lors du dploiement d'un IDS, il faut le configurer correctement : par exemple, si le rseau est sous Windows,les rgles destines Unix ne sont pas ncessaires. Il faut donc faire une configuration en fonction de l'OS, desapplications et du matriel utiliss.

    L'emplacement du senseur (6) est trs important :

    l'emplacement B, seul le trafic entre les systmes de la DMZ et Internet est analys. Le trafic entre lerseau interne et Internet n'est pas analys. Pour cela, il faudra galement placer un senseur au point A.

    l'emplacement C, le trafic entre Internet et le rseau interne ou la DMZ est analys. Par contre, le traficentre le rseau interne et la DMZ est invisible.

    Il est impensable de vouloir analyser tout le trafic d'un rseau. Il faut donc donner la priorit aux systmes risque :ceux qui offrent des services accessibles par Internet (HTTP, FTP).

    De plus, il est souvent prfrable de placer le senseur aprs le firewall du ct interne. Ainsi, seuls les flux acceptspar le firewall sont analyss, ce qui rduit fortement la charge de la sonde IDS.

    Lors de l'installation d'un NIDS, le choix matriel a galement une grande importance.

    Puisqu'une sonde NIDS doit tre capable d'analyser le trafic rseau quel que soit le destinataire, elle devra recevoirelle-mme tous les paquets. Pour cela, le NIDS devra jouer le rle d'un sniffer (7) , mais le matriel rseau poseparfois problme :

    un switch simple (commutateur) : en utilisant un tel quipement, la conversation avec l'IDS est impossible dufait de la nature d'un switch : il commute les paquets directement au destinataire. Il est ds lors impossibled'installer une sonde qui analysera le trafic global ;

    un hub (concentrateur) => la conversation avec l'IDS est possible, car les hubs rptent les paquets en lesmettant toutes les machines connectes. Cependant, les hubs sont peu fiables et sont donc viter ;

    il existe des switches professionnels qui copient le trafic et l'envoie sur un port spcifi (o sera plac leNIDS) : SPAN port (Switch Port Analyzer). Attention : pour ce port, il faudra utiliser une connexion rapide(ex. : Gigabits) capable d'analyser entirement le trafic provenant ou destination des diffrents sousrseaux.

    Un autre problme doit tre pris en considration : lorsque les flux sont crypts (ex. : par SSL, c'est le cas pour lesVPN (8) ), il est impossible pour l'IDS de dcrypter ces flux. Il faut dans ce cas utiliser un proxy SSL comme illustrci-dessous.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 17 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    Nous savons donc maintenant que l'emplacement des sondes et le matriel rseau utiliss sont trs importants.Cependant, un autre point ne doit pas tre oubli : la scurisation du senseur et des logs d'alerte. En effet, si lasonde elle-mme ou si les alertes qu'elles gnrent ne sont pas scurises, un pirate pourrait trs bien rendre l'IDScompltement inefficace.

    Pour scuriser les sondes et les fichiers d'alertes, il est par exemple possible de mettre en place un rseau demanagement trs contrl, avec son propre firewall. Ce systme sera primordial pour la scurit du rseau etplusieurs mesures devront tre prises pour assurer son fonctionnement :

    le systme d'exploitation du senseur devra tenu jour ; un systme d'authentification robuste (ex. : PKI) pourra tre mis en place pour renforcer la scurit ; tous les mots de passe devront tre changs rgulirement ; il est galement possible d'utiliser deux interfaces rseaux pour le senseur : la premire pour gnrer les

    alertes et contrler le trafic, et la deuxime, compltement invisible, en tant que point de monitoring. Ce genred'interface est communment appele stealth interface.

    III-C-2 - Problmes techniques

    Le premier problme est de configurer correctement l'IDS afin qu'il n'inonde pas les rapports d'alertes avec des fauxpositifs. La prsence de faux positifs semble inoffensive. Or, s'ils sont trop nombreux, les rapports d'alertes serontlongs analyser. Par consquent, les administrateurs passeront beaucoup de temps distinguer un faux positifd'une vritable intrusion. Et de plus, en voyant toutes ces fausses alertes, ils auront tendance minimiser le risqued'attaque.

    Bien sr, il faut galement veiller ce que l'affinement de la configuration ne gnre pas des faux ngatifs, car touteintrusion non dtecte peut avoir des consquences dramatiques.

    Le deuxime problme provient des dbits actuels sur les rseaux : ces dbits augmentent de plus en plus, et lesIDS ont de plus en plus de paquets traiter et analyser.

    En plus d'avoir un quipement rseau performant, l'IDS doit utiliser des algorithmes adapts et

    optimiss.

    Afin de bien comprendre comment amliorer les performances d'un NIDS, il faut comprendre les diffrentes tapes.Chaque paquet de donnes trait par l'IDS va subir une suite de traitements :

    capture de la trame par l'interface en mode promiscuit (promiscous mode) ; analyse de la trame et filtrage ventuel en bas niveau ; dtection de la prsence de fragments ou non et passage ventuel un moteur de reconstruction ; transfert de la trame vers le systme d'exploitation ; filtrage ventuel ; applications de divers prprocesseurs en fonction du type de requte afin de contrer des techniques

    d'vasion d'attaques (voir plus loin) ; passage vers le moteur d'analyse (protocole, pattern matching, statistique).

    Pour amliorer les performances de l'IDS, il peut donc tre judicieux de rpartir les charges. Par exemple, il estenvisageable de sparer les flux analyser en fonction du protocole de niveau 4 : une sonde pour l'analyse des fluxWeb, une autre pour l'analyse des flux FTP et une analyse des requtes SQL.

    Un autre problme est la corrlation des informations provenant de plusieurs types de

    sondes. Voici les actions raliser pour regrouper ces informations :

    agrgation : rassembler les informations des diffrentes sondes ;

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 18 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    fusion : fusionner en supprimant les doublons (mme attaque dtecte par plusieurs sondes) ; corrlation : dfinir un motif commun, c'est--dire interprter une suite d'vnements et les rsumer.

    Une corrlation intressante serait de ne garder que les alertes qui concernent une faille probable du systme. Pourcela il faut utiliser un scanner de vulnrabilits par exemple, ou ne pas afficher les alertes concernant IIS si on possdeApache, ce qui entranera moins de faux positifs.

    Nanmoins, l'utilisation d'un scanner de vulnrabilits n'est pas parfaite, car il est difficile d'changer des informationsentre un scanner de vulnrabilits et un IDS. Cependant, depuis peu, des consoles de corrlation entre IDS etscanners de vulnrabilits sont proposes (ex. : Nevo de Tenable Network Security).

    Enfin, un dernier problme est qu'il n'y a aucune interoprabilit entre les diffrents IDS

    du march, mis part la possibilit d'exporter les informations dans des formats standard.

    Pourtant, des normes ont t tablies, comme nous allons le voir.

    III-C-3 - Complmentarit des IDS

    Nous avons vu qu'il existe plusieurs types d'IDS, dont leur rle est compltement diffrent. Plus exactement, leursrles sont complmentaires. En effet, un NIDS ne fera qu'analyser le trafic rseau. Mais complt par un HIDS, desintrusions non dtectes sur le rseau pourront l'tre lorsqu'elles atteindront la machine cible.

    En gnral, un seul NIDS par rseau est suffisant. Mais il est possible de placer des sondes diffrents endroitsdu rseau afin de rpartir la charge.

    L'idal pour les HIDS serait d'en dployer sur toutes les machines du parc informatique, mais cela n'est rarement faitpour des raisons de cot et d'exploitation. Un compromis souvent choisi est d'installer des agents HIDS sur toutesles machines de la DMZ, ainsi que sur les serveurs importants.

    Les KIDS/KIPS ralentissant normment l'excution des programmes, ils sont souvent dlaisss ou configurs defaon n'utiliser que les fonctionnalits de base. Pourtant, ils sont les seuls pouvoir dtecter de manire efficaceles tentatives de buffer overflows. Ils sont donc trs conseills sur les machines sensibles.

    III-D - Normalisation

    Il y a quelques annes, un comit du DARPA a dfini quatre briques fonctionnelles pour dcrire

    l'architecture globale d'un IDS :

    gnrateur d'vnements (bote E) : envoie des vnements la bote A ; analyseur d'vnements (bote A) : produit des alertes ; base de donnes vnementielle (bote D) ; systme de rponse (bote R) : rponse en temps rel face aux attaques.

    Ce comit a aussi dfini un langage de description des intrusions (CISL - Common Intrusion Specification Language)qui utilise des expressions verbales (ex. : ouvrir session , effacer objet ). Cependant, ce langage n'a jamaist utilis, mais il a inspir d'autres comits.

    L'IDWG (Intrusion Detection Working Group) a effectu la plupart des travaux dans le domaine de la standardisationdes IDS :

    norme IDMEF (Intrusion Detection Message Exchange Format) : dfinit le format des messages changs dans unIDS ;

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 19 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    protocole IDXP (Intrusion Detection eXchange Protocol) : procdures de transport entre les entits de l'IDS.

    Selon l'IDWG, un IDS est ensemble de plusieurs senseurs, analyseurs et managers :

    C'est un schma thorique, rarement implment de cette faon dans les IDS. La norme IDMEF prconise unereprsentation en XML des messages o dans chaque message, on retrouve l'ID de l'analyseur, le type d'alerte,l'emplacement (le nud rseau), le jour et l'heure, l'adresse, la classification de l'attaque

    III-E - Techniques antiIDS

    Comme tout systme informatique, ou presque, il existe des failles dans les IDS, ou plutt des techniques quipermettent d'outrepasser ces systmes sans se faire reprer. Si un pirate dtecte la prsence d'un IDS, il peut ledsactiver, ou mieux encore, gnrer de fausses attaques pendant qu'il commettra son forfait tranquillement.

    Il existe trois catgories d'attaques contre les IDS :

    attaque par dni de service : rendre l'IDS inoprant en le saturant ; attaque par insertion : le pirate, pour viter d'tre repr, injecte des paquets de leurres qui seront ignors par

    le systme d'exploitation de la cible, mais pris en compte par l'IDS : l'IDS ne dtecte rien d'anormal, alors quesur le systme cible, l'attaque a bien lieu puisque les paquets superflus sont ignors ;

    attaque par vasion : il s'agit de la technique inverse l'attaque par insertion. Ici, des donnes superfluessont ignores par l'IDS, mais prises en compte par le systme d'exploitation. Nous dtaillons un peu plus loinquelques techniques d'vasion Web.

    III-E-1 - Dtecter un IDS

    Comme nous l'avons dj signal, il est trs dangereux que la prsence d'un IDS soit remarque par un pirate. Cardans ce cas, il tentera d'obtenir un maximum d'informations sur l'IDS install (ex. : la version utilise) pour pouvoirl'outrepasser et attaquer sans se faire remarquer. Voici quelques techniques qui permettent de dtecter un IDS :

    usurpation d'adresse MAC : les NIDS mettent l'interface de capture en mode promiscuit (promiscuous mode), ilest donc possible de dtecter l'IDS en envoyant par exemple un ICMP echo request la machine souponned'tre un NIDS avec une adresses MAC inexistante.

    Si la machine rpond alors elle est en mode promiscuous et peut donc tre un NIDS ;

    mesure des temps de latence : puisque l'interface est en mode promiscuous, les temps de

    rponse sont plus longs. Voici une mthode pour exploiter ces temps de latence :

    le pirate gnre une srie de pings vers l'adresse tester, puis il mesure et note les temps de rponse ; le pirate sature ensuite le rseau en broadcast (9) dans le but de ralentir l'IDS, qui recevra tous les paquets.

    Enfin, le pirate rmet la mme srie de pings en mesurant les nouveaux temps de rponse. S'ils sont bienplus levs que les premiers temps obtenus, il est fort possible que la machine soit en mode promiscous ;

    exploiter les mcanismes de rponses actives : les IPS ragissent certaines attaques (fermer session, bloquerport), mais en faisant cela, ils laissent souvent des empreintes (header des paquets) permettant d'identifier le typed'IPS ;

    observation des requtes DNS : Les IDS gnrent souvent des requtes DNS lors des alertes.

    En observant le DNS primaire lors de fausses attaques, on peut dtecter qu'il y a un IDS.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 20 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    III-E-2 - Dni de services contre un IDS

    Le but est de dsactiver l'IDS en saturant ses ressources (ex. : SYN Flood ou paquets fragments incomplets). L'IDSsera ds lors incapable d'excuter sa fonctionnalit de dtection, et le pirate pourra raliser son attaque.

    III-E-3 - Techniques d'insertion

    Comme nous l'avons vu, ces techniques consistent injecter des donnes supplmentaires de telle sorte que :

    l'IDS les estime inoffensives ; la cible ne les dcode pas ;

    Voici quelques mthodes permettant d'utiliser des techniques d'insertion :

    - en utilisant la fragmentation IP qui est gre de manire diffrente selon l'OS lors de cas anormaux (ex. :recouvrement de paquets) : soit les fragments anciens sont favoriss, soit les nouveaux le sont. Par exemple, ilest donc possible que les IDS favorisent les anciens paquets alors que le systme d'exploitation utilis favorise lesnouveaux.

    Pour utiliser le recouvrement de fragments (fragmentation overlap), il faut modifier artificiellement les champs longueur et dcalage (offset) des fragments IP ;

    - en utilisant l'crasement de fragments (fragmentation overwrite) : mme principe que prcdemment, mais desfragments entiers sont remplacs, et non seulement des parties de paquets ;

    - en utilisant le timeout de fragmentation : les systmes conservent en gnral les fragments pendant 60 secondespour le rassemblage ; mais les IDS les gardent souvent moins longtemps. On peut donc espacer les fragments dansle temps pour ne pas se faire reprer par l'IDS tout en ralisant une attaque complte sur le systme d'exploitation ;

    - dcoupage de sessions TCP (session splicing) : la requte TCP est divise en paquets, tout en modifiant le numrode squence pour crer des recouvrements : mme principe qu'avec la fragmentation IP + possibilit de timeout(Apache Linux : 5 min dans tampon, IIS : 10 min). L'un des outils pour raliser ce genre d'attaques se nommefragroute ;

    - insrer un faux paquet avec checksum erron : certains IDS ne verront pas l'attaque, car peu d'IDS vrifient lechecksum. Le systme, par contre, rejettera le paquet erron.

    Attention : de nos jours, les routeurs rejettent souvent les paquets errons ; il faut donc utiliser un autre champ quele checksum, par exemple le TTL.

    III-E-4 - Techniques d'vasion

    Nous prsentons maintenant quelques techniques d'vasion. Pour rappel, ces techniques ont pour but d'insrer desdonnes qui seront ignores par l'IDS, mais qui ne gneront nullement l'attaque.

    Evasions HTTP : le principe est de modifier la syntaxe des URL, mais sans changer la smantique. La premirepersonne avoir prsent ce genre d'attaques avait pour pseudonyme Rain Forrest Puppy qui est l'auteur du trsclbre outil Whisker, un scanner de vulnrabilits Web.

    Voici quelques exemples d'vasion HTTP qui permettaient une poque d'outrepasser les signatures de nombreuxNIDS, tout en mettant des requtes HTTP valides. Bien sr, les NIDS prennent maintenant en compte cestechniques.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 21 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    => faire une requte HEAD au lieu de GET.

    => encoder les URL en hexadcimal, cette forme d'encodage tant tout fait valide selon la RFC du protocole HTTP.

    exemple : www%2Emonsite%2Ecom%2Fcgi%2Fscript

    => utiliser des doubles slashes au lieu de slashes simples

    exemple : www.monsite.com//cgi//script

    => traverser des rpertoires fantmes

    exemple : www.monsite.com/repFantome/../cgi/script

    => utiliser des autorfrences

    exemple : www.monsite.com/cgi/./././script

    => simuler la fin d'une requte prmature avec le caractre de fin de chane %00 ou bien avec les caractres defin de requte HTTP : %0D%0A

    => utiliser des URL longues : certains IDS n'analysaient qu'une partie de l'URL

    => utiliser la syntaxe MS DOS / Windows : remplacer les caractres / par \

    exemple : www.monsite.com\cgi\script

    => dcouper la requte HTTP sur plusieurs paquets

    => remplacer les espaces par des tabulations

    Shellcodes polymorphiques : parmi les attaques dcrites prcdemment, nous avons vu les tentatives de bufferoverflow. Celles-ci peuvent tre dcomposes en trois grandes parties :

    - des instructions pour remplir le buffer. Assez souvent, ce sont des instructions assembleurs NOP, dont le code est0x90 sur architecture IA32.

    - le shellcode, c'est--dire le code qui sera excut sur la machine et qui permettra de donner accs un shell decommandes.

    - une adresse de retour de procdure (qui pointe souvent vers les NOP) qui permettra lors du dpassement de bufferd'excuter le shellcode.

    De nombreux IDS sont capables de dtecter les tentatives de buffer overflow. La premire mthode est de surveillerla prsence importante d'instructions NOP. La deuxime est de dtecter la chane bin/sh qui est souvent prsentedans les shellcodes pour Unix. La troisime mthode est d'avoir des signatures compltes de shellcodes rpandussur Internet.

    Cependant, il est facilement possible de camoufler une tentative de buffer overflow.

    Voici quelques techniques simples, mais efficaces :

    - mettre une autre instruction que des NOP pour remplir le buffer (ex. : DAA, AAA, XOR, INC) ;

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 22 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.

    http://dbprog.developpez.com/securite/ids/

    - crire les instructions par des quivalences, comme par exemple rcrire une instruction MOV EAX, 0 par XOREAX,EAX ou bien encore SUB EAX, EAX qui auront toutes les trois pour effet de mettre le registre EAX 0 ;

    - raliser un cryptage (XOR) du shellcode et ainsi le rendre polymorphique. Dans ce cas, le dcodeur et la cl doiventtre prsents dans le shellcode pour pouvoir le dcrypter lors de son excution chez la victime.

    Nous pouvons remarquer qu'il devient trs difficile pour un IDS de dtecter un shellcode en utilisant des signatures.Le seul moyen efficace est de dtecter le buffer overflow lors de son excution et l'empcher au dernier moment delancer un shellcode. Pour cela, seuls les KIPS (Kernel Intrusion Prevention System) se montrent adapts puisqu'ilssurveillent les appels systmes.

    III-F - Critres de tests d'un IDS

    Lors de la mise en place d'un IDS, il est ncessaire de prendre en considration plusieurs critres qui permettrontde choisir au mieux l'IDS.

    Tester un IDS avec des scanners de vulnrabilit est une mesure ncessaire pour valuer un IDS, mais est loin d'tresuffisante. D'autres critres doivent tre pris en compte :

    Mthodes et capacits de dtection : estimer le taux de faux positifs et la qualit d'information fournie parl'IDS ;

    Rapidit : tester l'IDS en condition de charge leve. Il est important de tester cela de manire raliste, etnon pas en utilisant des gnrateurs de paquets ;

    Ouverture : il faut que l'IDS permette de modifier les signatures afin d'viter certains faux positifs, mais aussid'ajouter de nouvelles signatures spcifiques l'environnement ;

    Rsistance aux techniques d'vasion : utiliser des outils tels que Whisker, Nikto, Babelweb, Fragroute ouMendax pour observer le comportement de l'IDS ;

    Architecture logicielle : pour les grandes entreprises, il est intressant de pouvoir sparer les fonctionsd'administration ;

    Exploitabilit des donnes : il faut disposer d'outils permettant de retrouver et analyser facilement lesvnements suspects, car le volume gnr par les IDS est important. Afin de centraliser les donnes, il peuttre intressant de disposer de consoles de reporting ou de tableaux de bord.

    Ergonomie : on retrouve diffrents types d'interfaces dans les IDS. Tout d'abord, les interfaces graphiquesqui sont adaptes aux particuliers ou aux PME. Ensuite, les interfaces de type Web ou encore les interfacesen ligne de commandes rserves aux spcialistes. Dans tous les cas, l'interface doit offrir de nombreusesfonctionnalits.

    D'autres critres, comme la ractivit de l'diteur (mises jour des signatures, correctifs), ou le prix (solution libreou non) rentrent en jeu. Pour valuer un IDS, il est intressant de pondrer chacun de ces critres selon l'importancequ'on leur attribue, et donner une note l'IDS pour chaque critre.

    IV - Mise en uvre d'IDS

    Maintenant que nous connaissons le but, le fonctionnement, mais aussi les faiblesses des IDS, nous pouvonsdcouvrir plusieurs solutions logicielles existantes.

    IV-A - NIDS / NIPS : Snort

    IV-A-1 - Description

    Snort est un NIDS/NIPS provenant du monde Open Source. Avec plus de 2 millions de tlchargements, il s'estimpos comme le systme de dtection d'intrusions le plus utilis. Sa version commerciale, plus complte en fonctionsde monitoring, lui a donn bonne rputation auprs des entreprises.

  • Les systmes de dtection d'intrusions par Jonathan Krier

    - 23 -Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de

    prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2013 Jonathan Krier. Aucune reproduction,mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisationexpresse de l'auteur. Sinon vous encourez se