32
TER Detection d’anomalies sur le réseau Elaboré par: Jabou Chaouki Schillings Michaël Hantach Anis Encadré par : Mr Osman Salem 2008/2009 2 Remerciement Nous avons l’honneur d’exprimer nos profondes gratitudes et nos sentiments les plus sincères de respect et de reconnaissance à tous ceux qui nous ont aidés de près ou de loin à l’achèvement de ce projet TER et à l’élaboration du présent rapport. Nous remercions en particulier : Mr. Osman Salem, notre encadreur, pour ses suggestions et ses précieux conseils qui nous ont guidés tout au long de notre projet TER. Nos reconnaissances vont également à nos amis pour leurs aides qui nous ont été d’un grand apport tout au long de ce travail. 3

TER Detection

Embed Size (px)

Citation preview

Page 1: TER Detection

TER Detectiondrsquoanomalies sur le reacuteseauElaboreacute par Jabou ChaoukiSchillings MichaeumllHantach AnisEncadreacute par Mr Osman Salem200820092

RemerciementNous avons lrsquohonneur drsquoexprimer nos profondes gratitudeset nos sentiments les plus sincegraveres de respect et dereconnaissance agrave tous ceux qui nous ont aideacutes de pregraves ou deloin agrave lrsquoachegravevement de ce projet TER et agrave lrsquoeacutelaboration dupreacutesent rapportNous remercions en particulier Mr Osman Salem notre encadreur pour sessuggestions et ses preacutecieux conseils qui nous ont guideacutestout au long de notre projet TERNos reconnaissances vont eacutegalement agrave nos amis pourleurs aides qui nous ont eacuteteacute drsquoun grand apport tout au longde ce travail3

Table des matiegraveresI Introduction ______________________________________________________________________ 6II Attaques et techniques de protection __________________________________________________ 81 Introduction ____________________________________________________________________ 8‐2 Les Attaques ____________________________________________________________________ 8‐21 Les diffeacuterentes eacutetapes drsquoune attaque _____________________________________________ 822 Les diffeacuterents types drsquoattaques __________________________________________________ 9

3 Les outils ______________________________________________________________________ 10‐31 TFN (Tribal Flood Network) _____________________________________________________ 1132 TFN2K _____________________________________________________________________ 1133 Trin00 _____________________________________________________________________ 114 Protection du systegraveme ___________________________________________________________ 12‐41 Pare feux ___________________________________________________________________ 1242 Systegravemes de deacutetection dintrusions ______________________________________________ 135 Conclusion ____________________________________________________________________ 13‐III Systegraveme de deacutetection drsquointrusions ____________________________________________________ 141 Introduction ___________________________________________________________________ 14‐2 Classification des systegravemes de deacutetection drsquointrusions __________________________________ 14‐21 Approche comportementale ___________________________________________________ 1422 Approche par sceacutenario ________________________________________________________ 1523 Autres critegraveres _______________________________________________________________ 163 Les diffeacuterents types drsquoIDS _________________________________________________________ 16‐4 Quelques systegravemes de deacutetection dintrusions _________________________________________ 17‐41 Prelude NIDS ________________________________________________________________ 18‐42 Snort NIDS _________________________________________________________________ 18‐45 Quelques algorithmes de deacutetection drsquointrusions _______________________________________ 19‐51 Algorithme agrave seuil adaptatif (adaptive threshold) ___________________________________ 1952 CUSUM ____________________________________________________________________ 196 Reacutesultats obtenus _______________________________________________________________ 20‐7 Conclusion ____________________________________________________________________ 22‐IV Algorithme CUSUM _______________________________________________________________ 231 Introduction ___________________________________________________________________ 23‐2 Fonctionnement ________________________________________________________________ 23‐21 Premiegravere version de lalgorithme ________________________________________________ 2422 Deuxiegraveme version de lalgorithme _______________________________________________ 253 Conclusion ____________________________________________________________________ 26‐V Interface et base de donneacutees ________________________________________________________ 271 Introduction ___________________________________________________________________ 27‐2 Conception ____________________________________________________________________ 27‐21 Meacutethode de conception utiliseacutee _________________________________________________ 2722 Diagrammes ________________________________________________________________ 283 Outils et mateacuteriaux de reacutealisation __________________________________________________ 29‐4 Base de donneacutees MySQL _________________________________________________________ 31‐41 Comment faire une sauvegarde de base des donneacutees _______________________________ 3142 Comment restaurer les donneacutees des sauvegardes _________________________________ 3243 Automatisation de sauvegarde de base donneacutee ____________________________________ 345 Interface PHP __________________________________________________________________ 34‐6 Conclusion ____________________________________________________________________ 39‐VI Conclusion ______________________________________________________________________ 40VII Bibliographie ____________________________________________________________________ 41VIII Annexe ________________________________________________________________________ 425

Table des FiguresFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme 24Figure 3 table flow 25Figure 2 table alerte 25Figure 4 Diagramme de cas drsquoutilisation 28Figure 5 Diagramme de classe 29

Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamique 30Figure 7 Script drsquoexport de la base 32Figure 8 Script drsquoimport de la base 33Figure 9 page drsquoajout drsquoun utilisateur 34Figure 10 page de suppression drsquoun utilisateur 35Figure 11 page de renommage drsquoun utilisateur 35Figure 12 page de statistics 36Figure 13 page Prefix IP Verification 36Figure 14 page Verifie Anomalie ndashNet Scan 37Figure 15 page Verifie Anomalie ndashPort Scan 37Figure 16 page Verifie Anomalie ndashDos Attack 38Figure 17 page Verifie Anomalie ndashDdoS Attack 386

I Introduction Internet relie des centaines de millions dordinateurs agrave travers le monde en fonctionnantsur plusieurs plateformes mateacuterielles et logicielles Il sert dinnombrables besoins personnels etprofessionnels pour les personnes et les socieacuteteacutes Cependant cette interconnexion desordinateurs permet eacutegalement aux utilisateurs malveillants dutiliser ces ressources agrave des finsabusives et de lancer par exemple des attaques dites de deacuteni de service (DoS) agrave lencontre deserveurs webDans une attaque par deacuteni de service un utilisateur exploite la connectiviteacute dInternetpour paralyser les services offerts par le site cibleacute Cela se traduit souvent pas une inondation(flood) de la victime avec de tregraves nombreuses requecirctes Une attaque DoS peut ecirctre soiteffectueacutee par une source unique soit par plusieurs sources ougrave de multiples programmes secoordonnent pour lancer leurs attaques simultaneacutement on parle alors de DDoS (DistributedDenial of Service) Plusieurs outils sophistiqueacutes qui automatisent les proceacutedures dattaques sontfacilement disponibles sur Internet et des instructions deacutetailleacutees permettent mecircme agrave unamateur de les utiliser efficacement Chaque anneacutee les attaques de deacuteni de service causentdimportants dommages financiers de sorte quil est essentiel de mettre au point destechniques de deacutetection et de reacutepondre aux attaques rapidement Le deacuteveloppement de cestechniques exige une bonne connaissance des attaquesAujourdhui les outils de suivi permettent de deacutetecter une attaque et didentifier lesproprieacuteteacutes de base telles que le taux de trafic et les types de paquets Toutefois caracteacuteriser lesattaques comme eacutetant simples ou multi source et identifier le nombre dattaquants est difficile‐Tout au long de ce document nous deacuteveloppons le travail reacutealiseacute dans le cadre de notreprojetDans un premier temps notre tacircche a eacuteteacute de nous informer sur les types dattaquesutiliseacutees sur Internet et connaicirctre leur mode opeacuteratoire Nous avons donc eacutetudieacute plusieursoutils dattaques parmi les plus ceacutelegravebres notamment ceux utilisant des attaques de type deacutenide service La compreacutehension de leur fonctionnement eacutetait une eacutetape neacutecessaire et en toutelogique nous avons poursuivi notre travail sur leacutetude de meacutethodes de protectionLa mise au point dun systegraveme de deacutetection dintrusions eacutetant le principal sujet de ce travailnous avons consacreacute une grande partie de notre temps agrave la recherche dalgorithmes et demeacutethodes de deacutetection en essayant de trouver les plus efficaces afin den tirer des ideacutees pourlameacutelioration de CUSUMLa deuxiegraveme partie de ce rapport preacutesente donc les systegravemes de deacutetection dintrusionsdiffeacuterentes approches diffeacuterents algorithmes pour les mettre en oeuvre en concluant sur leursavantages et inconveacutenients par rapport agrave dautres outils de protection7

Dans la troisiegraveme partie nous preacutesentons en deacutetails lalgorithme CUSUM sonfonctionnement concret et plus speacutecialement son impleacutementation dans le cadre de notre projeten expliquant les eacutetapes de deacuteveloppement et le reacutesultat que lon obtientEnfin pour permettre une meilleure administration du programme CUSUM et pour offrir demeilleures options dexploitation des reacutesultats nous avons deacuteveloppeacute une interface PHP eninteraction avec une base de donneacutees La derniegravere partie de ce rapport explique lefonctionnement de cette interface et les choix qui ont eacuteteacute faits concernant les fonctionnaliteacutesde la base de donneacutees et de linterface8

II Attaques et techniques de protection1‐Introduction De nos jours la seacutecuriteacute du reacuteseau informatique est devenue indispensable face auxattaques qui se multiplient rapidement Pour contrarier ces attaques les systegravemes de seacutecuriteacutevisent agrave preacutevenir de ces derniegraveres et agrave corriger les vulneacuterabiliteacutes exploiteacutees Il est alorsneacutecessaire drsquoeacutetablir lrsquoidentification des menaces potentielles et de connaicirctre les diffeacuterentsproceacutedeacutes des attaquants afin de seacutecuriser le reacuteseau La compreacutehension des techniquesdrsquointrusion permet de deacutefinir des meacutethodes efficaces de surveillance et de deacutetection desattaquesDans la premiegravere partie de ce chapitre nous exposons les diffeacuterentes eacutetapes types etoutils dattaques sur le reacuteseau informatique ensuite nous preacutesentons les solutions possibles deprotection contre ces attaques

2‐ Les AttaquesUne attaque est lexploitation dune faille dun systegraveme informatique connecteacute agrave unreacuteseauPour reacuteussir leur exploit les attaquants tentent dappliquer un plan dattaque bien preacutecis pouraboutir agrave des objectifs distincts21 Les diffeacuterentes eacutetapes drsquoune attaque La plupart des attaques de la plus simple agrave la plus complexe fonctionnent suivant lemecircme scheacutema ‐ Identification de la cible cette eacutetape est indispensable agrave toute attaque organiseacutee ellepermet de reacutecolter un maximum de renseignements sur la cible en utilisant desinformations publiques et sans engager drsquoactions hostiles On peut citer par exemplelrsquointerrogation des serveurs DNShellip‐ Le scanning lrsquoobjectif est de compleacuteter les informations reacuteunies sur une cible viseacutees Ilest ainsi possible drsquoobtenir les adresses IP utiliseacutees les services accessibles de mecircmeqursquoun grand nombre drsquoinformations de topologie deacutetailleacutee (OS versions des servicesregravegles de pare feuhellip)‐9‐ Lrsquoexploitation cette eacutetape permet agrave partir des informations recueillies drsquoexploiter lesfailles identifieacutees sur les eacuteleacutements de la cible que ce soit au niveau protocolaire desservices et applications ou des systegravemes drsquoexploitation preacutesents sur le reacuteseau‐ La progression il est temps pour lrsquoattaquant de reacutealiser son objectif Le but ultimeeacutetant drsquoobtenir les droits de lrsquoutilisateur root sur un systegraveme afin de pouvoir y faire toutce qursquoil souhaite (inspection de la machine reacutecupeacuteration drsquoinformations nettoyage destraces)22 Les diffeacuterents types drsquoattaques Une personne mal intentionneacutee dispose dune panoplie dattaques pour srsquoapproprierbloquer ou modifier des ressources En voici quelques unes

Le sniffing gracircce agrave un logiciel appeleacute sniffer il est possible drsquointercepter toutes les tramesque notre carte reacuteseau reccediloit et qui ne nous sont pas destineacutees Si quelqursquoun se connecte parTelnet par exemple agrave ce moment lagrave son mot de passe transitant en clair sur le net il sera aiseacute‐de le lire De mecircme il est facile de savoir agrave tout moment quelles pages web regardent lespersonnes connecteacutees au reacuteseau les sessions ftp en cours les mails en envoi ou reacuteception Uninconveacutenient de cette technique est de se situer sur le mecircme reacuteseau que la machine cibleacuteeLrsquoIP spoofing cette attaque est difficile agrave mettre en oeuvre et neacutecessite une bonneconnaissance du protocole TCP Elle consiste le plus souvent agrave se faire passer pour une autremachine en falsifiant son adresse IP de maniegravere agrave acceacuteder agrave un serveur ayant une relation deconfiance avec la machine spoofeacuteeLes programmes cacheacutes ou virus il existe une grande varieacuteteacute de virus On ne classe cependantpas les virus drsquoapregraves leurs deacutegacircts mais selon leur mode de propagation et de multiplication Onrecense donc les vers (capables de se propager dans le reacuteseau) les troyens (creacuteant des faillesdans un systegraveme) Les bombes logiques (se lanccedilant suite agrave un eacuteveacutenement du systegraveme (appeldrsquoune primitive date speacuteciale))Les scanners un scanner est un programme qui permet de savoir quels ports sont ouverts surune machine donneacutee Les Hackers utilisent les scanners pour savoir comment ils vont proceacutederpour attaquer une machine Leur utilisation nest heureusement pas seulement malsaine carles scanners peuvent aussi permettre de preacutevenir une attaque Le plus connu des scannersreacuteseau est laquo Nmap raquoSYN Flooding une connexion TCP seacutetablie en trois phases Le SYN Flooding exploite cemeacutecanisme deacutetablissement en trois phases Les trois eacutetapes sont lenvoi dun SYN la reacuteceptiondun SYN ACK et lenvoi dun ACK Le principe est de laisser sur la machine cible un nombre‐important de connexions TCP en attentes Pour cela lrsquoattaquant envoie un tregraves grand nombre10de demandes de connexion la machine cible renvoie les SYN ACK en reacuteponse au SYN reccedilus‐Lrsquoattaquant ne reacutepondra jamais avec un ACK et donc pour chaque SYN reccedilu la cible aura uneconnexion TCP en attenteEtant donneacute que ces connexions semi ouvertes consomment des ressources meacutemoires au bout‐dun certain temps la machine est satureacutee et ne peut plus accepter de connexion Ce type dedeacuteni de service naffecte que la machine cibleDDoS Distributed Denial of Service ou deacuteni de service distribueacute est un type dattaque tregraveseacutevolueacute visant agrave faire planter ou agrave rendre muette une machine en la submergeant de traficinutile Plusieurs machines agrave la fois sont agrave lorigine de cette attaque (cest une attaquedistribueacutee) qui vise agrave aneacuteantir des serveurs des sous reacuteseaux etc Dautre part elle reste tregravesdifficile agrave contrer ou agrave eacuteviter Cest pour cela que cette attaque repreacutesente une menace quebeaucoup craignentbull Mode opeacuteratoire Les DDoS sont devenus agrave la porteacutee de tout un chacun depuis quelques ans En effet dans lespremiers temps cette attaque restait assez compliqueacutee et neacutecessitait de bonnesconnaissances de la part des attaquants mais ceux ci ont alors deacuteveloppeacute des outils pour‐organiser et mettre en place lattaque Ainsi le processus de recherche des hocirctessecondaires (ou zombies) a eacuteteacute automatiseacute On cherche en geacuteneacuteral des failles courantes(buffer overflows sur wu ftpd les RPCs) sur un grand nombre de machines sur Internet et‐lattaquant finit par se rendre maicirctre (accegraves administrateur) de centaines voir de milliers demachines non proteacutegeacutees Il installe ensuite les clients pour lattaque secondaire et essaye

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 2: TER Detection

3 Les outils ______________________________________________________________________ 10‐31 TFN (Tribal Flood Network) _____________________________________________________ 1132 TFN2K _____________________________________________________________________ 1133 Trin00 _____________________________________________________________________ 114 Protection du systegraveme ___________________________________________________________ 12‐41 Pare feux ___________________________________________________________________ 1242 Systegravemes de deacutetection dintrusions ______________________________________________ 135 Conclusion ____________________________________________________________________ 13‐III Systegraveme de deacutetection drsquointrusions ____________________________________________________ 141 Introduction ___________________________________________________________________ 14‐2 Classification des systegravemes de deacutetection drsquointrusions __________________________________ 14‐21 Approche comportementale ___________________________________________________ 1422 Approche par sceacutenario ________________________________________________________ 1523 Autres critegraveres _______________________________________________________________ 163 Les diffeacuterents types drsquoIDS _________________________________________________________ 16‐4 Quelques systegravemes de deacutetection dintrusions _________________________________________ 17‐41 Prelude NIDS ________________________________________________________________ 18‐42 Snort NIDS _________________________________________________________________ 18‐45 Quelques algorithmes de deacutetection drsquointrusions _______________________________________ 19‐51 Algorithme agrave seuil adaptatif (adaptive threshold) ___________________________________ 1952 CUSUM ____________________________________________________________________ 196 Reacutesultats obtenus _______________________________________________________________ 20‐7 Conclusion ____________________________________________________________________ 22‐IV Algorithme CUSUM _______________________________________________________________ 231 Introduction ___________________________________________________________________ 23‐2 Fonctionnement ________________________________________________________________ 23‐21 Premiegravere version de lalgorithme ________________________________________________ 2422 Deuxiegraveme version de lalgorithme _______________________________________________ 253 Conclusion ____________________________________________________________________ 26‐V Interface et base de donneacutees ________________________________________________________ 271 Introduction ___________________________________________________________________ 27‐2 Conception ____________________________________________________________________ 27‐21 Meacutethode de conception utiliseacutee _________________________________________________ 2722 Diagrammes ________________________________________________________________ 283 Outils et mateacuteriaux de reacutealisation __________________________________________________ 29‐4 Base de donneacutees MySQL _________________________________________________________ 31‐41 Comment faire une sauvegarde de base des donneacutees _______________________________ 3142 Comment restaurer les donneacutees des sauvegardes _________________________________ 3243 Automatisation de sauvegarde de base donneacutee ____________________________________ 345 Interface PHP __________________________________________________________________ 34‐6 Conclusion ____________________________________________________________________ 39‐VI Conclusion ______________________________________________________________________ 40VII Bibliographie ____________________________________________________________________ 41VIII Annexe ________________________________________________________________________ 425

Table des FiguresFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme 24Figure 3 table flow 25Figure 2 table alerte 25Figure 4 Diagramme de cas drsquoutilisation 28Figure 5 Diagramme de classe 29

Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamique 30Figure 7 Script drsquoexport de la base 32Figure 8 Script drsquoimport de la base 33Figure 9 page drsquoajout drsquoun utilisateur 34Figure 10 page de suppression drsquoun utilisateur 35Figure 11 page de renommage drsquoun utilisateur 35Figure 12 page de statistics 36Figure 13 page Prefix IP Verification 36Figure 14 page Verifie Anomalie ndashNet Scan 37Figure 15 page Verifie Anomalie ndashPort Scan 37Figure 16 page Verifie Anomalie ndashDos Attack 38Figure 17 page Verifie Anomalie ndashDdoS Attack 386

I Introduction Internet relie des centaines de millions dordinateurs agrave travers le monde en fonctionnantsur plusieurs plateformes mateacuterielles et logicielles Il sert dinnombrables besoins personnels etprofessionnels pour les personnes et les socieacuteteacutes Cependant cette interconnexion desordinateurs permet eacutegalement aux utilisateurs malveillants dutiliser ces ressources agrave des finsabusives et de lancer par exemple des attaques dites de deacuteni de service (DoS) agrave lencontre deserveurs webDans une attaque par deacuteni de service un utilisateur exploite la connectiviteacute dInternetpour paralyser les services offerts par le site cibleacute Cela se traduit souvent pas une inondation(flood) de la victime avec de tregraves nombreuses requecirctes Une attaque DoS peut ecirctre soiteffectueacutee par une source unique soit par plusieurs sources ougrave de multiples programmes secoordonnent pour lancer leurs attaques simultaneacutement on parle alors de DDoS (DistributedDenial of Service) Plusieurs outils sophistiqueacutes qui automatisent les proceacutedures dattaques sontfacilement disponibles sur Internet et des instructions deacutetailleacutees permettent mecircme agrave unamateur de les utiliser efficacement Chaque anneacutee les attaques de deacuteni de service causentdimportants dommages financiers de sorte quil est essentiel de mettre au point destechniques de deacutetection et de reacutepondre aux attaques rapidement Le deacuteveloppement de cestechniques exige une bonne connaissance des attaquesAujourdhui les outils de suivi permettent de deacutetecter une attaque et didentifier lesproprieacuteteacutes de base telles que le taux de trafic et les types de paquets Toutefois caracteacuteriser lesattaques comme eacutetant simples ou multi source et identifier le nombre dattaquants est difficile‐Tout au long de ce document nous deacuteveloppons le travail reacutealiseacute dans le cadre de notreprojetDans un premier temps notre tacircche a eacuteteacute de nous informer sur les types dattaquesutiliseacutees sur Internet et connaicirctre leur mode opeacuteratoire Nous avons donc eacutetudieacute plusieursoutils dattaques parmi les plus ceacutelegravebres notamment ceux utilisant des attaques de type deacutenide service La compreacutehension de leur fonctionnement eacutetait une eacutetape neacutecessaire et en toutelogique nous avons poursuivi notre travail sur leacutetude de meacutethodes de protectionLa mise au point dun systegraveme de deacutetection dintrusions eacutetant le principal sujet de ce travailnous avons consacreacute une grande partie de notre temps agrave la recherche dalgorithmes et demeacutethodes de deacutetection en essayant de trouver les plus efficaces afin den tirer des ideacutees pourlameacutelioration de CUSUMLa deuxiegraveme partie de ce rapport preacutesente donc les systegravemes de deacutetection dintrusionsdiffeacuterentes approches diffeacuterents algorithmes pour les mettre en oeuvre en concluant sur leursavantages et inconveacutenients par rapport agrave dautres outils de protection7

Dans la troisiegraveme partie nous preacutesentons en deacutetails lalgorithme CUSUM sonfonctionnement concret et plus speacutecialement son impleacutementation dans le cadre de notre projeten expliquant les eacutetapes de deacuteveloppement et le reacutesultat que lon obtientEnfin pour permettre une meilleure administration du programme CUSUM et pour offrir demeilleures options dexploitation des reacutesultats nous avons deacuteveloppeacute une interface PHP eninteraction avec une base de donneacutees La derniegravere partie de ce rapport explique lefonctionnement de cette interface et les choix qui ont eacuteteacute faits concernant les fonctionnaliteacutesde la base de donneacutees et de linterface8

II Attaques et techniques de protection1‐Introduction De nos jours la seacutecuriteacute du reacuteseau informatique est devenue indispensable face auxattaques qui se multiplient rapidement Pour contrarier ces attaques les systegravemes de seacutecuriteacutevisent agrave preacutevenir de ces derniegraveres et agrave corriger les vulneacuterabiliteacutes exploiteacutees Il est alorsneacutecessaire drsquoeacutetablir lrsquoidentification des menaces potentielles et de connaicirctre les diffeacuterentsproceacutedeacutes des attaquants afin de seacutecuriser le reacuteseau La compreacutehension des techniquesdrsquointrusion permet de deacutefinir des meacutethodes efficaces de surveillance et de deacutetection desattaquesDans la premiegravere partie de ce chapitre nous exposons les diffeacuterentes eacutetapes types etoutils dattaques sur le reacuteseau informatique ensuite nous preacutesentons les solutions possibles deprotection contre ces attaques

2‐ Les AttaquesUne attaque est lexploitation dune faille dun systegraveme informatique connecteacute agrave unreacuteseauPour reacuteussir leur exploit les attaquants tentent dappliquer un plan dattaque bien preacutecis pouraboutir agrave des objectifs distincts21 Les diffeacuterentes eacutetapes drsquoune attaque La plupart des attaques de la plus simple agrave la plus complexe fonctionnent suivant lemecircme scheacutema ‐ Identification de la cible cette eacutetape est indispensable agrave toute attaque organiseacutee ellepermet de reacutecolter un maximum de renseignements sur la cible en utilisant desinformations publiques et sans engager drsquoactions hostiles On peut citer par exemplelrsquointerrogation des serveurs DNShellip‐ Le scanning lrsquoobjectif est de compleacuteter les informations reacuteunies sur une cible viseacutees Ilest ainsi possible drsquoobtenir les adresses IP utiliseacutees les services accessibles de mecircmeqursquoun grand nombre drsquoinformations de topologie deacutetailleacutee (OS versions des servicesregravegles de pare feuhellip)‐9‐ Lrsquoexploitation cette eacutetape permet agrave partir des informations recueillies drsquoexploiter lesfailles identifieacutees sur les eacuteleacutements de la cible que ce soit au niveau protocolaire desservices et applications ou des systegravemes drsquoexploitation preacutesents sur le reacuteseau‐ La progression il est temps pour lrsquoattaquant de reacutealiser son objectif Le but ultimeeacutetant drsquoobtenir les droits de lrsquoutilisateur root sur un systegraveme afin de pouvoir y faire toutce qursquoil souhaite (inspection de la machine reacutecupeacuteration drsquoinformations nettoyage destraces)22 Les diffeacuterents types drsquoattaques Une personne mal intentionneacutee dispose dune panoplie dattaques pour srsquoapproprierbloquer ou modifier des ressources En voici quelques unes

Le sniffing gracircce agrave un logiciel appeleacute sniffer il est possible drsquointercepter toutes les tramesque notre carte reacuteseau reccediloit et qui ne nous sont pas destineacutees Si quelqursquoun se connecte parTelnet par exemple agrave ce moment lagrave son mot de passe transitant en clair sur le net il sera aiseacute‐de le lire De mecircme il est facile de savoir agrave tout moment quelles pages web regardent lespersonnes connecteacutees au reacuteseau les sessions ftp en cours les mails en envoi ou reacuteception Uninconveacutenient de cette technique est de se situer sur le mecircme reacuteseau que la machine cibleacuteeLrsquoIP spoofing cette attaque est difficile agrave mettre en oeuvre et neacutecessite une bonneconnaissance du protocole TCP Elle consiste le plus souvent agrave se faire passer pour une autremachine en falsifiant son adresse IP de maniegravere agrave acceacuteder agrave un serveur ayant une relation deconfiance avec la machine spoofeacuteeLes programmes cacheacutes ou virus il existe une grande varieacuteteacute de virus On ne classe cependantpas les virus drsquoapregraves leurs deacutegacircts mais selon leur mode de propagation et de multiplication Onrecense donc les vers (capables de se propager dans le reacuteseau) les troyens (creacuteant des faillesdans un systegraveme) Les bombes logiques (se lanccedilant suite agrave un eacuteveacutenement du systegraveme (appeldrsquoune primitive date speacuteciale))Les scanners un scanner est un programme qui permet de savoir quels ports sont ouverts surune machine donneacutee Les Hackers utilisent les scanners pour savoir comment ils vont proceacutederpour attaquer une machine Leur utilisation nest heureusement pas seulement malsaine carles scanners peuvent aussi permettre de preacutevenir une attaque Le plus connu des scannersreacuteseau est laquo Nmap raquoSYN Flooding une connexion TCP seacutetablie en trois phases Le SYN Flooding exploite cemeacutecanisme deacutetablissement en trois phases Les trois eacutetapes sont lenvoi dun SYN la reacuteceptiondun SYN ACK et lenvoi dun ACK Le principe est de laisser sur la machine cible un nombre‐important de connexions TCP en attentes Pour cela lrsquoattaquant envoie un tregraves grand nombre10de demandes de connexion la machine cible renvoie les SYN ACK en reacuteponse au SYN reccedilus‐Lrsquoattaquant ne reacutepondra jamais avec un ACK et donc pour chaque SYN reccedilu la cible aura uneconnexion TCP en attenteEtant donneacute que ces connexions semi ouvertes consomment des ressources meacutemoires au bout‐dun certain temps la machine est satureacutee et ne peut plus accepter de connexion Ce type dedeacuteni de service naffecte que la machine cibleDDoS Distributed Denial of Service ou deacuteni de service distribueacute est un type dattaque tregraveseacutevolueacute visant agrave faire planter ou agrave rendre muette une machine en la submergeant de traficinutile Plusieurs machines agrave la fois sont agrave lorigine de cette attaque (cest une attaquedistribueacutee) qui vise agrave aneacuteantir des serveurs des sous reacuteseaux etc Dautre part elle reste tregravesdifficile agrave contrer ou agrave eacuteviter Cest pour cela que cette attaque repreacutesente une menace quebeaucoup craignentbull Mode opeacuteratoire Les DDoS sont devenus agrave la porteacutee de tout un chacun depuis quelques ans En effet dans lespremiers temps cette attaque restait assez compliqueacutee et neacutecessitait de bonnesconnaissances de la part des attaquants mais ceux ci ont alors deacuteveloppeacute des outils pour‐organiser et mettre en place lattaque Ainsi le processus de recherche des hocirctessecondaires (ou zombies) a eacuteteacute automatiseacute On cherche en geacuteneacuteral des failles courantes(buffer overflows sur wu ftpd les RPCs) sur un grand nombre de machines sur Internet et‐lattaquant finit par se rendre maicirctre (accegraves administrateur) de centaines voir de milliers demachines non proteacutegeacutees Il installe ensuite les clients pour lattaque secondaire et essaye

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 3: TER Detection

Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamique 30Figure 7 Script drsquoexport de la base 32Figure 8 Script drsquoimport de la base 33Figure 9 page drsquoajout drsquoun utilisateur 34Figure 10 page de suppression drsquoun utilisateur 35Figure 11 page de renommage drsquoun utilisateur 35Figure 12 page de statistics 36Figure 13 page Prefix IP Verification 36Figure 14 page Verifie Anomalie ndashNet Scan 37Figure 15 page Verifie Anomalie ndashPort Scan 37Figure 16 page Verifie Anomalie ndashDos Attack 38Figure 17 page Verifie Anomalie ndashDdoS Attack 386

I Introduction Internet relie des centaines de millions dordinateurs agrave travers le monde en fonctionnantsur plusieurs plateformes mateacuterielles et logicielles Il sert dinnombrables besoins personnels etprofessionnels pour les personnes et les socieacuteteacutes Cependant cette interconnexion desordinateurs permet eacutegalement aux utilisateurs malveillants dutiliser ces ressources agrave des finsabusives et de lancer par exemple des attaques dites de deacuteni de service (DoS) agrave lencontre deserveurs webDans une attaque par deacuteni de service un utilisateur exploite la connectiviteacute dInternetpour paralyser les services offerts par le site cibleacute Cela se traduit souvent pas une inondation(flood) de la victime avec de tregraves nombreuses requecirctes Une attaque DoS peut ecirctre soiteffectueacutee par une source unique soit par plusieurs sources ougrave de multiples programmes secoordonnent pour lancer leurs attaques simultaneacutement on parle alors de DDoS (DistributedDenial of Service) Plusieurs outils sophistiqueacutes qui automatisent les proceacutedures dattaques sontfacilement disponibles sur Internet et des instructions deacutetailleacutees permettent mecircme agrave unamateur de les utiliser efficacement Chaque anneacutee les attaques de deacuteni de service causentdimportants dommages financiers de sorte quil est essentiel de mettre au point destechniques de deacutetection et de reacutepondre aux attaques rapidement Le deacuteveloppement de cestechniques exige une bonne connaissance des attaquesAujourdhui les outils de suivi permettent de deacutetecter une attaque et didentifier lesproprieacuteteacutes de base telles que le taux de trafic et les types de paquets Toutefois caracteacuteriser lesattaques comme eacutetant simples ou multi source et identifier le nombre dattaquants est difficile‐Tout au long de ce document nous deacuteveloppons le travail reacutealiseacute dans le cadre de notreprojetDans un premier temps notre tacircche a eacuteteacute de nous informer sur les types dattaquesutiliseacutees sur Internet et connaicirctre leur mode opeacuteratoire Nous avons donc eacutetudieacute plusieursoutils dattaques parmi les plus ceacutelegravebres notamment ceux utilisant des attaques de type deacutenide service La compreacutehension de leur fonctionnement eacutetait une eacutetape neacutecessaire et en toutelogique nous avons poursuivi notre travail sur leacutetude de meacutethodes de protectionLa mise au point dun systegraveme de deacutetection dintrusions eacutetant le principal sujet de ce travailnous avons consacreacute une grande partie de notre temps agrave la recherche dalgorithmes et demeacutethodes de deacutetection en essayant de trouver les plus efficaces afin den tirer des ideacutees pourlameacutelioration de CUSUMLa deuxiegraveme partie de ce rapport preacutesente donc les systegravemes de deacutetection dintrusionsdiffeacuterentes approches diffeacuterents algorithmes pour les mettre en oeuvre en concluant sur leursavantages et inconveacutenients par rapport agrave dautres outils de protection7

Dans la troisiegraveme partie nous preacutesentons en deacutetails lalgorithme CUSUM sonfonctionnement concret et plus speacutecialement son impleacutementation dans le cadre de notre projeten expliquant les eacutetapes de deacuteveloppement et le reacutesultat que lon obtientEnfin pour permettre une meilleure administration du programme CUSUM et pour offrir demeilleures options dexploitation des reacutesultats nous avons deacuteveloppeacute une interface PHP eninteraction avec une base de donneacutees La derniegravere partie de ce rapport explique lefonctionnement de cette interface et les choix qui ont eacuteteacute faits concernant les fonctionnaliteacutesde la base de donneacutees et de linterface8

II Attaques et techniques de protection1‐Introduction De nos jours la seacutecuriteacute du reacuteseau informatique est devenue indispensable face auxattaques qui se multiplient rapidement Pour contrarier ces attaques les systegravemes de seacutecuriteacutevisent agrave preacutevenir de ces derniegraveres et agrave corriger les vulneacuterabiliteacutes exploiteacutees Il est alorsneacutecessaire drsquoeacutetablir lrsquoidentification des menaces potentielles et de connaicirctre les diffeacuterentsproceacutedeacutes des attaquants afin de seacutecuriser le reacuteseau La compreacutehension des techniquesdrsquointrusion permet de deacutefinir des meacutethodes efficaces de surveillance et de deacutetection desattaquesDans la premiegravere partie de ce chapitre nous exposons les diffeacuterentes eacutetapes types etoutils dattaques sur le reacuteseau informatique ensuite nous preacutesentons les solutions possibles deprotection contre ces attaques

2‐ Les AttaquesUne attaque est lexploitation dune faille dun systegraveme informatique connecteacute agrave unreacuteseauPour reacuteussir leur exploit les attaquants tentent dappliquer un plan dattaque bien preacutecis pouraboutir agrave des objectifs distincts21 Les diffeacuterentes eacutetapes drsquoune attaque La plupart des attaques de la plus simple agrave la plus complexe fonctionnent suivant lemecircme scheacutema ‐ Identification de la cible cette eacutetape est indispensable agrave toute attaque organiseacutee ellepermet de reacutecolter un maximum de renseignements sur la cible en utilisant desinformations publiques et sans engager drsquoactions hostiles On peut citer par exemplelrsquointerrogation des serveurs DNShellip‐ Le scanning lrsquoobjectif est de compleacuteter les informations reacuteunies sur une cible viseacutees Ilest ainsi possible drsquoobtenir les adresses IP utiliseacutees les services accessibles de mecircmeqursquoun grand nombre drsquoinformations de topologie deacutetailleacutee (OS versions des servicesregravegles de pare feuhellip)‐9‐ Lrsquoexploitation cette eacutetape permet agrave partir des informations recueillies drsquoexploiter lesfailles identifieacutees sur les eacuteleacutements de la cible que ce soit au niveau protocolaire desservices et applications ou des systegravemes drsquoexploitation preacutesents sur le reacuteseau‐ La progression il est temps pour lrsquoattaquant de reacutealiser son objectif Le but ultimeeacutetant drsquoobtenir les droits de lrsquoutilisateur root sur un systegraveme afin de pouvoir y faire toutce qursquoil souhaite (inspection de la machine reacutecupeacuteration drsquoinformations nettoyage destraces)22 Les diffeacuterents types drsquoattaques Une personne mal intentionneacutee dispose dune panoplie dattaques pour srsquoapproprierbloquer ou modifier des ressources En voici quelques unes

Le sniffing gracircce agrave un logiciel appeleacute sniffer il est possible drsquointercepter toutes les tramesque notre carte reacuteseau reccediloit et qui ne nous sont pas destineacutees Si quelqursquoun se connecte parTelnet par exemple agrave ce moment lagrave son mot de passe transitant en clair sur le net il sera aiseacute‐de le lire De mecircme il est facile de savoir agrave tout moment quelles pages web regardent lespersonnes connecteacutees au reacuteseau les sessions ftp en cours les mails en envoi ou reacuteception Uninconveacutenient de cette technique est de se situer sur le mecircme reacuteseau que la machine cibleacuteeLrsquoIP spoofing cette attaque est difficile agrave mettre en oeuvre et neacutecessite une bonneconnaissance du protocole TCP Elle consiste le plus souvent agrave se faire passer pour une autremachine en falsifiant son adresse IP de maniegravere agrave acceacuteder agrave un serveur ayant une relation deconfiance avec la machine spoofeacuteeLes programmes cacheacutes ou virus il existe une grande varieacuteteacute de virus On ne classe cependantpas les virus drsquoapregraves leurs deacutegacircts mais selon leur mode de propagation et de multiplication Onrecense donc les vers (capables de se propager dans le reacuteseau) les troyens (creacuteant des faillesdans un systegraveme) Les bombes logiques (se lanccedilant suite agrave un eacuteveacutenement du systegraveme (appeldrsquoune primitive date speacuteciale))Les scanners un scanner est un programme qui permet de savoir quels ports sont ouverts surune machine donneacutee Les Hackers utilisent les scanners pour savoir comment ils vont proceacutederpour attaquer une machine Leur utilisation nest heureusement pas seulement malsaine carles scanners peuvent aussi permettre de preacutevenir une attaque Le plus connu des scannersreacuteseau est laquo Nmap raquoSYN Flooding une connexion TCP seacutetablie en trois phases Le SYN Flooding exploite cemeacutecanisme deacutetablissement en trois phases Les trois eacutetapes sont lenvoi dun SYN la reacuteceptiondun SYN ACK et lenvoi dun ACK Le principe est de laisser sur la machine cible un nombre‐important de connexions TCP en attentes Pour cela lrsquoattaquant envoie un tregraves grand nombre10de demandes de connexion la machine cible renvoie les SYN ACK en reacuteponse au SYN reccedilus‐Lrsquoattaquant ne reacutepondra jamais avec un ACK et donc pour chaque SYN reccedilu la cible aura uneconnexion TCP en attenteEtant donneacute que ces connexions semi ouvertes consomment des ressources meacutemoires au bout‐dun certain temps la machine est satureacutee et ne peut plus accepter de connexion Ce type dedeacuteni de service naffecte que la machine cibleDDoS Distributed Denial of Service ou deacuteni de service distribueacute est un type dattaque tregraveseacutevolueacute visant agrave faire planter ou agrave rendre muette une machine en la submergeant de traficinutile Plusieurs machines agrave la fois sont agrave lorigine de cette attaque (cest une attaquedistribueacutee) qui vise agrave aneacuteantir des serveurs des sous reacuteseaux etc Dautre part elle reste tregravesdifficile agrave contrer ou agrave eacuteviter Cest pour cela que cette attaque repreacutesente une menace quebeaucoup craignentbull Mode opeacuteratoire Les DDoS sont devenus agrave la porteacutee de tout un chacun depuis quelques ans En effet dans lespremiers temps cette attaque restait assez compliqueacutee et neacutecessitait de bonnesconnaissances de la part des attaquants mais ceux ci ont alors deacuteveloppeacute des outils pour‐organiser et mettre en place lattaque Ainsi le processus de recherche des hocirctessecondaires (ou zombies) a eacuteteacute automatiseacute On cherche en geacuteneacuteral des failles courantes(buffer overflows sur wu ftpd les RPCs) sur un grand nombre de machines sur Internet et‐lattaquant finit par se rendre maicirctre (accegraves administrateur) de centaines voir de milliers demachines non proteacutegeacutees Il installe ensuite les clients pour lattaque secondaire et essaye

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 4: TER Detection

Dans la troisiegraveme partie nous preacutesentons en deacutetails lalgorithme CUSUM sonfonctionnement concret et plus speacutecialement son impleacutementation dans le cadre de notre projeten expliquant les eacutetapes de deacuteveloppement et le reacutesultat que lon obtientEnfin pour permettre une meilleure administration du programme CUSUM et pour offrir demeilleures options dexploitation des reacutesultats nous avons deacuteveloppeacute une interface PHP eninteraction avec une base de donneacutees La derniegravere partie de ce rapport explique lefonctionnement de cette interface et les choix qui ont eacuteteacute faits concernant les fonctionnaliteacutesde la base de donneacutees et de linterface8

II Attaques et techniques de protection1‐Introduction De nos jours la seacutecuriteacute du reacuteseau informatique est devenue indispensable face auxattaques qui se multiplient rapidement Pour contrarier ces attaques les systegravemes de seacutecuriteacutevisent agrave preacutevenir de ces derniegraveres et agrave corriger les vulneacuterabiliteacutes exploiteacutees Il est alorsneacutecessaire drsquoeacutetablir lrsquoidentification des menaces potentielles et de connaicirctre les diffeacuterentsproceacutedeacutes des attaquants afin de seacutecuriser le reacuteseau La compreacutehension des techniquesdrsquointrusion permet de deacutefinir des meacutethodes efficaces de surveillance et de deacutetection desattaquesDans la premiegravere partie de ce chapitre nous exposons les diffeacuterentes eacutetapes types etoutils dattaques sur le reacuteseau informatique ensuite nous preacutesentons les solutions possibles deprotection contre ces attaques

2‐ Les AttaquesUne attaque est lexploitation dune faille dun systegraveme informatique connecteacute agrave unreacuteseauPour reacuteussir leur exploit les attaquants tentent dappliquer un plan dattaque bien preacutecis pouraboutir agrave des objectifs distincts21 Les diffeacuterentes eacutetapes drsquoune attaque La plupart des attaques de la plus simple agrave la plus complexe fonctionnent suivant lemecircme scheacutema ‐ Identification de la cible cette eacutetape est indispensable agrave toute attaque organiseacutee ellepermet de reacutecolter un maximum de renseignements sur la cible en utilisant desinformations publiques et sans engager drsquoactions hostiles On peut citer par exemplelrsquointerrogation des serveurs DNShellip‐ Le scanning lrsquoobjectif est de compleacuteter les informations reacuteunies sur une cible viseacutees Ilest ainsi possible drsquoobtenir les adresses IP utiliseacutees les services accessibles de mecircmeqursquoun grand nombre drsquoinformations de topologie deacutetailleacutee (OS versions des servicesregravegles de pare feuhellip)‐9‐ Lrsquoexploitation cette eacutetape permet agrave partir des informations recueillies drsquoexploiter lesfailles identifieacutees sur les eacuteleacutements de la cible que ce soit au niveau protocolaire desservices et applications ou des systegravemes drsquoexploitation preacutesents sur le reacuteseau‐ La progression il est temps pour lrsquoattaquant de reacutealiser son objectif Le but ultimeeacutetant drsquoobtenir les droits de lrsquoutilisateur root sur un systegraveme afin de pouvoir y faire toutce qursquoil souhaite (inspection de la machine reacutecupeacuteration drsquoinformations nettoyage destraces)22 Les diffeacuterents types drsquoattaques Une personne mal intentionneacutee dispose dune panoplie dattaques pour srsquoapproprierbloquer ou modifier des ressources En voici quelques unes

Le sniffing gracircce agrave un logiciel appeleacute sniffer il est possible drsquointercepter toutes les tramesque notre carte reacuteseau reccediloit et qui ne nous sont pas destineacutees Si quelqursquoun se connecte parTelnet par exemple agrave ce moment lagrave son mot de passe transitant en clair sur le net il sera aiseacute‐de le lire De mecircme il est facile de savoir agrave tout moment quelles pages web regardent lespersonnes connecteacutees au reacuteseau les sessions ftp en cours les mails en envoi ou reacuteception Uninconveacutenient de cette technique est de se situer sur le mecircme reacuteseau que la machine cibleacuteeLrsquoIP spoofing cette attaque est difficile agrave mettre en oeuvre et neacutecessite une bonneconnaissance du protocole TCP Elle consiste le plus souvent agrave se faire passer pour une autremachine en falsifiant son adresse IP de maniegravere agrave acceacuteder agrave un serveur ayant une relation deconfiance avec la machine spoofeacuteeLes programmes cacheacutes ou virus il existe une grande varieacuteteacute de virus On ne classe cependantpas les virus drsquoapregraves leurs deacutegacircts mais selon leur mode de propagation et de multiplication Onrecense donc les vers (capables de se propager dans le reacuteseau) les troyens (creacuteant des faillesdans un systegraveme) Les bombes logiques (se lanccedilant suite agrave un eacuteveacutenement du systegraveme (appeldrsquoune primitive date speacuteciale))Les scanners un scanner est un programme qui permet de savoir quels ports sont ouverts surune machine donneacutee Les Hackers utilisent les scanners pour savoir comment ils vont proceacutederpour attaquer une machine Leur utilisation nest heureusement pas seulement malsaine carles scanners peuvent aussi permettre de preacutevenir une attaque Le plus connu des scannersreacuteseau est laquo Nmap raquoSYN Flooding une connexion TCP seacutetablie en trois phases Le SYN Flooding exploite cemeacutecanisme deacutetablissement en trois phases Les trois eacutetapes sont lenvoi dun SYN la reacuteceptiondun SYN ACK et lenvoi dun ACK Le principe est de laisser sur la machine cible un nombre‐important de connexions TCP en attentes Pour cela lrsquoattaquant envoie un tregraves grand nombre10de demandes de connexion la machine cible renvoie les SYN ACK en reacuteponse au SYN reccedilus‐Lrsquoattaquant ne reacutepondra jamais avec un ACK et donc pour chaque SYN reccedilu la cible aura uneconnexion TCP en attenteEtant donneacute que ces connexions semi ouvertes consomment des ressources meacutemoires au bout‐dun certain temps la machine est satureacutee et ne peut plus accepter de connexion Ce type dedeacuteni de service naffecte que la machine cibleDDoS Distributed Denial of Service ou deacuteni de service distribueacute est un type dattaque tregraveseacutevolueacute visant agrave faire planter ou agrave rendre muette une machine en la submergeant de traficinutile Plusieurs machines agrave la fois sont agrave lorigine de cette attaque (cest une attaquedistribueacutee) qui vise agrave aneacuteantir des serveurs des sous reacuteseaux etc Dautre part elle reste tregravesdifficile agrave contrer ou agrave eacuteviter Cest pour cela que cette attaque repreacutesente une menace quebeaucoup craignentbull Mode opeacuteratoire Les DDoS sont devenus agrave la porteacutee de tout un chacun depuis quelques ans En effet dans lespremiers temps cette attaque restait assez compliqueacutee et neacutecessitait de bonnesconnaissances de la part des attaquants mais ceux ci ont alors deacuteveloppeacute des outils pour‐organiser et mettre en place lattaque Ainsi le processus de recherche des hocirctessecondaires (ou zombies) a eacuteteacute automatiseacute On cherche en geacuteneacuteral des failles courantes(buffer overflows sur wu ftpd les RPCs) sur un grand nombre de machines sur Internet et‐lattaquant finit par se rendre maicirctre (accegraves administrateur) de centaines voir de milliers demachines non proteacutegeacutees Il installe ensuite les clients pour lattaque secondaire et essaye

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 5: TER Detection

Le sniffing gracircce agrave un logiciel appeleacute sniffer il est possible drsquointercepter toutes les tramesque notre carte reacuteseau reccediloit et qui ne nous sont pas destineacutees Si quelqursquoun se connecte parTelnet par exemple agrave ce moment lagrave son mot de passe transitant en clair sur le net il sera aiseacute‐de le lire De mecircme il est facile de savoir agrave tout moment quelles pages web regardent lespersonnes connecteacutees au reacuteseau les sessions ftp en cours les mails en envoi ou reacuteception Uninconveacutenient de cette technique est de se situer sur le mecircme reacuteseau que la machine cibleacuteeLrsquoIP spoofing cette attaque est difficile agrave mettre en oeuvre et neacutecessite une bonneconnaissance du protocole TCP Elle consiste le plus souvent agrave se faire passer pour une autremachine en falsifiant son adresse IP de maniegravere agrave acceacuteder agrave un serveur ayant une relation deconfiance avec la machine spoofeacuteeLes programmes cacheacutes ou virus il existe une grande varieacuteteacute de virus On ne classe cependantpas les virus drsquoapregraves leurs deacutegacircts mais selon leur mode de propagation et de multiplication Onrecense donc les vers (capables de se propager dans le reacuteseau) les troyens (creacuteant des faillesdans un systegraveme) Les bombes logiques (se lanccedilant suite agrave un eacuteveacutenement du systegraveme (appeldrsquoune primitive date speacuteciale))Les scanners un scanner est un programme qui permet de savoir quels ports sont ouverts surune machine donneacutee Les Hackers utilisent les scanners pour savoir comment ils vont proceacutederpour attaquer une machine Leur utilisation nest heureusement pas seulement malsaine carles scanners peuvent aussi permettre de preacutevenir une attaque Le plus connu des scannersreacuteseau est laquo Nmap raquoSYN Flooding une connexion TCP seacutetablie en trois phases Le SYN Flooding exploite cemeacutecanisme deacutetablissement en trois phases Les trois eacutetapes sont lenvoi dun SYN la reacuteceptiondun SYN ACK et lenvoi dun ACK Le principe est de laisser sur la machine cible un nombre‐important de connexions TCP en attentes Pour cela lrsquoattaquant envoie un tregraves grand nombre10de demandes de connexion la machine cible renvoie les SYN ACK en reacuteponse au SYN reccedilus‐Lrsquoattaquant ne reacutepondra jamais avec un ACK et donc pour chaque SYN reccedilu la cible aura uneconnexion TCP en attenteEtant donneacute que ces connexions semi ouvertes consomment des ressources meacutemoires au bout‐dun certain temps la machine est satureacutee et ne peut plus accepter de connexion Ce type dedeacuteni de service naffecte que la machine cibleDDoS Distributed Denial of Service ou deacuteni de service distribueacute est un type dattaque tregraveseacutevolueacute visant agrave faire planter ou agrave rendre muette une machine en la submergeant de traficinutile Plusieurs machines agrave la fois sont agrave lorigine de cette attaque (cest une attaquedistribueacutee) qui vise agrave aneacuteantir des serveurs des sous reacuteseaux etc Dautre part elle reste tregravesdifficile agrave contrer ou agrave eacuteviter Cest pour cela que cette attaque repreacutesente une menace quebeaucoup craignentbull Mode opeacuteratoire Les DDoS sont devenus agrave la porteacutee de tout un chacun depuis quelques ans En effet dans lespremiers temps cette attaque restait assez compliqueacutee et neacutecessitait de bonnesconnaissances de la part des attaquants mais ceux ci ont alors deacuteveloppeacute des outils pour‐organiser et mettre en place lattaque Ainsi le processus de recherche des hocirctessecondaires (ou zombies) a eacuteteacute automatiseacute On cherche en geacuteneacuteral des failles courantes(buffer overflows sur wu ftpd les RPCs) sur un grand nombre de machines sur Internet et‐lattaquant finit par se rendre maicirctre (accegraves administrateur) de centaines voir de milliers demachines non proteacutegeacutees Il installe ensuite les clients pour lattaque secondaire et essaye

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 6: TER Detection

eacutegalement deffacer ses traces (corruption des fichiers logs installation de rootkits) Unefois le reacuteseau en place il ny a plus quagrave donner lordre pour inonder la victime finale depaquets inutiles Il est inteacuteressant de noter que les victimes dans ce type dattaques ne sontpas que celles qui subissent le deacuteni de service tous les hocirctes secondaires sont eacutegalementdes machines compromises jusquau plus haut niveau (accegraves root) tout comme lhocirctemaicirctre La menace provient du fait que les outils automatisant le processus ont eacuteteacute tregraveslargement diffuseacutes sur Internet Il ny a plus besoin davoir des connaissances pointues pourla mettre en place il suffit de cliquer sur le bouton

3‐ Les outilsDans cette partie nous preacutesentons quelques outils dattaque reacuteseaux Nous avons choisi lesplus utiliseacutes servant agrave effectuer une attaque de deacuteni de service Dans le cas dune attaquedistribueacutee un reacuteseau typique se compose dun point central et de nombreux hocirctes distantsencore appeleacutes deacutemons Pendant le deacuteroulement de lattaque le hacker se connecte au pointcentral qui envoie alors un ordre agrave tous les hocirctes distants (via UDP TCP ou ICMP) Ensuite leshocirctes distants vont attaquer la cible finale suivant la technique choisie par lattaquant1131 TFN (Tribal Flood Network)Cest le premier outil dattaque de type Deacuteni de Service qui a obtenue une largevisibiliteacute Il utilise une architecture agrave deux couches Un client qui controcircle des agentsdeacutemonsCes agents reacutealisent lattaque distribueacutee sur la victimecible et avec le type dattaque deacutesireacute parle client Les agents TFN fonctionnent comme des services reacuteseaux cacheacutes sur les machinespirateacutees capables de recevoir les commandes du client noyeacutees parmi le flux courant descommunications du reacuteseau Les adresses du client et des agents sont falsifieacutees dans tous lescommunications et les attaquesArchitecture du TFN Protocole de la communication entre ClientAgent ICMP‐ Lrsquoattaque sur les protocoles IP TCP UDP ICMP‐

Le TFN client est exeacutecuteacute agrave travers la commande ligne pour envoyer des commandes aux TFNAgents32 TFN2KCest la version eacutevolueacutee de TFN au deacutebut sur une architecture agrave deux couches (troiscouches deacutesormais) mais avec lajout de chiffrement BlowFish de ces communications entre leclient et ses agents qui le rend plus dur agrave deacutetecter Larchitecture du TFN2K ressemble agrave celledu TFN Les communications entre maitre et agent se font en TCP UDP ICMP ou un protocole‐

aleacuteatoire entre les trois Les meacutethodes dattaque sont TCP UDP ICMP paquet flood‐ Len tecircte du paquet entre maicirctre et agent est aleacuteatoire sauf pour ICMP‐ ‐ Le client renvoie chaque commande 20 fois pour sassurer que le deacutemon la recevra au‐

moins une fois Toutes les commandes sont chiffreacutees en utilisant lalgorithme CAST 256 La cleacute est‐ ‐

deacutefinie au moment de compilation et utiliseacutee comme mot de passe pour lancer tfn2kclient33 Trin00Trin00 sappuie sur une architecture agrave trois couches avec un client qui envoie descommandes agrave des serveurs maicirctres qui se chargent chacun dun sous reacuteseau dagents Cettecouche intermeacutediaire rend plus difficile agrave identifier lorigine de lattaque Cependant Trin0012reacuteussi moins bien agrave dissimuler ses communications au sein du trafic reacuteseau Trin00 nutilise

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 7: TER Detection

quune seule forme dattaque DoS (UDP) contrairement agrave TFN

4‐ Protection du systegravemeLa varieacuteteacute et la disponibiliteacute des outils dattaques augmentent le risque des intrusions Parconseacutequent les administrateurs sappuient sur diverses solutions comme les pare feux les‐systegravemes de deacutetection dintrusions dans le but de maintenir la protection du reacuteseauinformatique Nous deacutetaillons dans la suite chacune de ces meacutethodes et nous soulignons leurslimites41 Pare feuxUn pare feu (Firewall) est un systegraveme physique ou logique qui inspecte les paquets‐entrants et sortants du reacuteseau afin dautoriser ou dinterdire leur passage en se basant sur unensemble de regravegles appeleacutees ACL Il existe principalement trois types de pare feux ‐ Pare feu avec filtrage des paquets ce pare feu filtre les paquets en utilisant des regravegles‐ ‐

statiques qui testent les champs des protocoles jusquau niveau transport Pare feu agrave filtrage des paquets avec meacutemoire deacutetats ce modegravele conserve les‐ ‐

informations des services utiliseacutes et des connexions ouvertes dans une table deacutetats Ildeacutetecte alors les situations anormales suite agrave des violations des standards de protocole Pare feu proxy ce pare feu joue le rocircle dune passerelle applicative En analysant les‐ ‐

donneacutees jusquau niveau applicatif il est capable de valider les requecirctes et les reacuteponseslors de lexeacutecution des services reacuteseauxMalgreacute leurs grands inteacuterecircts les pare feux preacutesentent quelques lacunes En effet un attaquant‐peut exploiter les ports laisseacutes ouverts pour peacuteneacutetrer le reacuteseau local Ce type daccegraves estpossible mecircme agrave travers des pare feux proxy Il suffit dutiliser un protocole autoriseacute tel que‐HTTP pour transporter dautres types de donneacutees refuseacuteesAinsi lopeacuteration suppleacutementaire dencapsulationdeacutecapsulation des donneacutees permet agravelattaquant de contourner le pare feu Les scripts constituent aussi des sources dintrusion queles pare feux eacutechouent agrave deacutetecter1342 Systegravemes de deacutetection dintrusionsUn systegraveme de deacutetection dintrusions (IDS) tente didentifier les menaces dirigeacutees contrele reacuteseau de lentreprise Il sappuie sur plusieurs sources dinformations comme les fichiersdaudit les journaux de seacutecuriteacute et le trafic reacuteseauIl sest aveacutereacute que loutil mentionneacute preacuteceacutedemment ne peut pas preacutevenir toutes les attaques etpar suite assurer seul une seacutecuriteacute ideacuteale du reacuteseau Eacutetant donneacutee limpossibiliteacute de stoppertoutes les attaques les systegravemes de deacutetection dintrusions constituent une bonne solution pourdeacutetecter celles qui passent inaperccedilues Placeacutes apregraves les pare feux les IDS constituent la‐derniegravere barriegravere de seacutecuriteacute Ils analysent le trafic qui passe agrave travers les pare feux et‐supervisent les activiteacutes des utilisateurs sur le reacuteseau local Par ailleurs placeacutes avant les parefeuxles IDS deacutecouvrent les attaques agrave lentreacutee du reacuteseau Les IDS sappuient geacuteneacuteralement surdeux sources dinformation les paquets transitant sur le reacuteseau et les informations collecteacuteessur les machinesOn parle alors de deux types de systegravemes de deacutetection dintrusions les IDS baseacutes reacuteseau et lesIDS baseacutes hocircte Ces deux cateacutegories dIDS emploient geacuteneacuteralement deux principes de deacutetectionlapproche comportementale et lapproche baseacutee sur la connaissance

5‐ ConclusionDans ce chapitre nous avons vu comment un attaquant peut compromettre un systegravemeinformatique en suivant une strateacutegie bien deacutefinie et en utilisant des outils adapteacutes Pourremeacutedier agrave ces problegravemes des solutions de seacutecuriteacute efficaces sont mises en oeuvre par les

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 8: TER Detection

administrateurs Dans une optique doptimisation de cette seacutecurisation les systegravemes dedeacutetection dintrusions preacutesentent un bon moyen de garantir cette seacutecuriteacute des reacuteseauxCest pourquoi nous entamerons dans le chapitre suivant leacutetude des diffeacuterents systegravemes dedeacutetection dintrusions leur fonctionnement et leurs limites14

III Systegraveme de deacutetection drsquointrusions1‐ IntroductionUn IDS (Intrusion Detection System) est un outil qui permet drsquoeacutecouter le traffic reacuteseau defaccedilon furtive dans le but de deacutetecter des activiteacutes anormales qui pourraient ecirctre assimileacutees agravedes intrusions et permettant ainsi davoir une action de preacutevention Malgreacute le grand inteacuterecirct desIDSs lrsquoeacutevolution des techniques drsquoattaques et drsquoautre part la complexiteacute des donneacutees limitentlrsquoefficaciteacute de preacutevention de ces derniers Etant dans lrsquoincapaciteacute drsquoarrecircter toutes les attaquesla deacutetection dintrusions tente de percevoir celles que les autres systegravemes de seacutecuriteacute nrsquoarriventpas agrave deacutecelerAgrave travers ce chapitre nous commenccedilons par classifier les systegravemes de deacutetection drsquointrusionsselon deux approches Par la suite nous preacutesentons quelques IDSs parmi les plus connus ainsique quelques algorithmes

2‐ Classification des systegravemes de deacutetection drsquointrusions Plusieurs critegraveres permettent de classer les systegravemes de deacutetection drsquointrusions la meacutethodedanalyse eacutetant le principal Deux meacutethodes deacuterivant de cette derniegravere existent aujourdhui lapproche comportementale et lapproche par sceacutenariosOn peut citer aussi dautres critegraveres de classification des IDSs la freacutequence dutilisation lessources de donneacutees agrave analyser le comportement de lIDS apregraves intrusion21 Approche comportementaleLapproche comportementale est fondeacutee sur une description statistique des sujetsLobjectif est de deacutetecter les actions anormales effectueacutees par ces sujets (par exemple desheures de connexion anormales un nombre anormal de fichiers supprimeacutes ou un nombreanormal de mots de passe incorrects fournis au cours dune connexion)Le comportement normal des sujets est appris en observant le systegraveme pendant une peacuteriodedonneacutee appeleacutee phase drsquoapprentissage (par exemple un mois) Le comportement normalappeleacute comportement sur le long terme est enregistreacute dans la base de donneacutees et compareacuteavec le comportement preacutesent des sujets appeleacute comportement agrave court terme Une alerte estgeacuteneacutereacutee si une deacuteviation entre ces comportements est observeacutee Dans cette approche lecomportement sur le long terme est en geacuteneacuteral mis agrave jour peacuteriodiquement pour prendre encompte les eacutevolutions possibles des comportements des sujetsNous consideacuterons traditionnellement que lavantage principal de lapproche comportementaleest de pouvoir ecirctre utiliseacutee pour deacutetecter de nouvelles attaques Autrement dit en signalant15toute deacuteviation par rapport au profil il est possible de deacutetecter a priori toute attaque qui violece profil mecircme dans le cas ougrave cette attaque neacutetait pas connue au moment de la constructiondu profilCependant cette approche preacutesente eacutegalement plusieurs inconveacutenients Tout dabord lediagnostic fournit par une alerte est souvent flou et neacutecessite une analyse compleacutementaireEnsuite cette approche geacutenegravere souvent de nombreux faux positifs car une deacuteviation ducomportement normal ne correspond pas toujours agrave loccurrence dune attaque Citons agrave titredrsquoexemples en cas de modifications subites de lenvironnement de lentiteacute modeacuteliseacutee cetteentiteacute changera sans doute brutalement de comportement Des alarmes seront doncdeacuteclancheacutees

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 9: TER Detection

Pour autant ce nest peut ecirctre quune reacuteaction normale agrave la modification de lenvironnement‐En outre les donneacutees utiliseacutees en apprentissage doivent ecirctre exemptes dattaques ce qui nrsquoestpas toujours le cas Enfin un utilisateur malicieux peut habituer le systegraveme (soit pendant laphase dapprentissage soit en exploitation si lapprentissage est continu) agrave des actionsmalveillantes qui ne donneront donc plus lieu agrave des alertes Le problegraveme de la deacutetectiondintrusions est couramment approcheacute dune faccedilon radicalement diffeacuterente qui est lrsquoapprochepar sceacutenario22 Approche par sceacutenarioLa deacutetection dintrusions peut eacutegalement seffectuer selon une approche par sceacutenario Ilsagit de recueillir des sceacutenarios dattaques pour alimenter une base dattaques Le principecommun agrave toutes les techniques de cette classe consiste agrave utiliser une base de donneacuteescontenant des speacutecifications de sceacutenario dattaques (on parle de signatures dattaque et debase de signatures) Le deacutetecteur dintrusions compare le comportement observeacute du systegraveme agravecette base et remonte une alerte si ce comportement correspond agrave une signature preacutedeacutefinie Leprincipal avantage dune approche par sceacutenario est la preacutecision des diagnostics quelle fournitpar rapport agrave ceux avanceacutes par lapproche comportementale Il est bien entendu quelinconveacutenient majeur de cette approche est quelle ne peut deacutetecter que des attaques dont elledispose de leur signature Or deacutefinir de faccedilon exhaustive la base de signatures est une desprincipales difficulteacutes agrave laquelle se heurte cette approche La geacuteneacuteration de faux neacutegatifs est agravecraindre en preacutesence des nouvelles attaques En effet contrairement agrave un systegraveme dedeacutetection danomalies ce type de deacutetecteur dintrusions neacutecessite une maintenance active puisque par nature il ne peut deacutetecter que les attaques dont les signatures sont dans sa base dedonneacutees cette base doit ecirctre reacuteguliegraverement (sans doute quotidiennement) mise agrave jour enfonction de la deacutecouverte de nouvelles attaques Aucune nouvelle attaque ne peut pardeacutefinition ecirctre deacutetecteacuteeDrsquoautre part il existe de nombreuses attaques difficiles agrave deacutetecter car elles neacutecessitent decorreacuteler plusieurs eacuteveacutenements Dans la plupart des produits commerciaux ces attaqueseacutelaboreacutees sont deacutecomposeacutees en plusieurs signatures eacuteleacutementaires Cette deacutecomposition peut16geacuteneacuterer de nombreux faux positifs si un meacutecanisme plus global nest pas deacuteveloppeacute pourcorreacuteler les alertes correspondant agrave ces diffeacuterentes signatures eacuteleacutementaires Chacune de cesdeux approches peut conduire agrave des faux positifs (deacutetection drsquoattaque en absence drsquoattaque)‐ou agrave des faux neacutegatifs (absence de deacutetection en preacutesence drsquoattaque)‐23 Autres critegraveresParmi les autres critegraveres de classification existants nous pouvons citer entre autres ndash les sources de donneacutees agrave analyser Les sources possibles de donneacutees agrave analyser sont une caracteacuteristique essentielle dessystegravemes de deacutetection dintrusions Les donneacutees proviennent soit de fichiers geacuteneacutereacutespar le systegraveme dexploitation soit de fichiers geacuteneacutereacutes par des applications soit encoredinformations obtenues en eacutecoutant le trafic sur le reacuteseaundash le comportement de lrsquoIDS apregraves intrusion Une autre faccedilon de classer les systegravemes de deacutetection dintrusions consiste agrave voir quelleest leur reacuteaction lorsquune attaque est deacutetecteacutee Certains se contentent de deacuteclencherune alarme (reacuteponse passive)ndash la freacutequence drsquoutilisation Une autre caracteacuteristique des systegravemes de deacutetection dintrusions est leur freacutequencedutilisation peacuteriodique ou continue Certains systegravemes de deacutetection dintrusionsanalysent peacuteriodiquement les traces drsquoaudit agrave la recherche dune eacuteventuelle intrusion ouanomalie passeacutee Cela peut ecirctre suffisant dans des contextes peu sensibles

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 10: TER Detection

La plupart des systegravemes de deacutetection dintrusions reacutecents effectuent leur analyse des tracesdrsquoaudit ou des paquets reacuteseau de maniegravere continue afin de proposer une deacutetection en quasitemps reacuteel Cela est neacutecessaire dans des contextes sensibles (confidentialiteacute) ou commerciaux(confidentialiteacute disponibiliteacute) Cest toutefois un processus coucircteux en temps de calcul car ilfaut analyser agrave la voleacutee tout ce qui se passe sur le systegraveme

3‐ Les diffeacuterents types drsquoIDSUn IDS a pour fonction drsquoanalyser en temps reacuteel ou diffeacutereacute les eacutevegravenements en provenancedes diffeacuterents systegravemes de deacutetecter et de preacutevenir en cas drsquoattaque Les buts sont nombreux ndash collecter des informations sur les intrusionsndash gestion centraliseacutee des alertes17ndash effectuer un premier diagnostic sur la nature de lrsquoattaque permettant une reacuteponserapide et efficaceLes systegravemes de deacutetection drsquointrusion ou IDS peuvent se classer selon trois cateacutegories majeuresselon qursquoils srsquoattachent agrave surveiller ndash le trafic reacuteseau on parle drsquoIDS reacuteseau ou NIDS (Network based IDS)ndash lrsquoactiviteacute des machines on parle drsquoIDS Systegraveme ou HIDS (Host based IDS)ndash une application particuliegravere sur la machine on parle drsquoIDS Application (Applicationbased IDS)Les NIDS ces outils analysent le trafic reacuteseau ils comportent geacuteneacuteralement une sonde quieacutecoute sur le segment de reacuteseau agrave surveiller et un moteur qui reacutealise lrsquoanalyse du trafic afinde deacutetecter les signatures drsquoattaques ou les divergences face au modegravele de reacutefeacuterence Les IDSreacuteseaux agrave base de signatures sont confronteacutes actuellement agrave un problegraveme majeur qui estlrsquoutilisation grandissante du cryptage En effet le cryptage rend lrsquoanalyse du contenu despaquets presque impossible La plupart des NIDS sont aussi dits IDS inline car ils analysent leflux en temps reacuteel Pour cette raison la question des performances est tregraves importanteDe tels IDS doivent ecirctre de plus en plus performants afin drsquoanalyser les volumes de donneacutees deplus en plus importants pouvant transiter sur les reacuteseauxLes HIDS les IDS Systegravemes analysent quant agrave eux le fonctionnement ou lrsquoeacutetat des machines surlesquelles ils sont installeacutes afin de deacutetecter les attaques Pour cela ils auront pour missiondrsquoanalyser les journaux systegravemes de controcircler lrsquoaccegraves aux appels systegravemes de veacuterifierlrsquointeacutegriteacute des systegravemes de fichiers Ils sont tregraves deacutependants du systegraveme sur lequel ils sontinstalleacutes Il faut donc des outils speacutecifiques en fonction des systegravemes deacuteployeacutes Ces IDS peuventsrsquoappuyer sur des fonctionnaliteacutes drsquoaudit propres ou non au systegraveme drsquoexploitation pour enveacuterifier lrsquointeacutegriteacute et geacuteneacuterer des alertes Il faut cependant noter qursquoils sont incapables dedeacutetecter les attaques exploitant les faiblesses de la pile IP du systegraveme typiquement les Deacutenisde service comme SYN FLOOD ou autre

4‐ Quelques systegravemes de deacutetection dintrusionsActuellement ils existent plusieurs systegravemes de deacutetections certains sontcommercialiseacutes drsquoautres sont encore dans les laboratoires de recherche Dans ce qui suitenous allons deacutecrire deux systegravemes de deacutetection dintrusion SNORT et PRELUDE Il est agrave noterque ces outils sont distribueacutes comme logiciels libres1841 Prelude‐NIDSPrelude NIDS est lrsquoun des deacutetecteurs dintrusions les plus connus Prelude est disponibleet libre sur les plateformes Linux FreeBSD et Windows Prelude possegravede une architecture

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 11: TER Detection

modulaire et distribueacutee Modulaire car ses composants sont indeacutependants et peuvent ecirctrefacilement mis agrave jour Distribueacutee car ces composants indeacutependants interagissent les uns avecles autres Cela permet davoir divers composants installeacutes sur diffeacuterentes machines et dereacuteduire ainsi la surcharge dapplications Ces diffeacuterents composants sont les sondes et lesmanagers Les sondes peuvent ecirctre de deux types reacuteseau ou local Une sonde reacuteseau analysetout le trafic pour y deacutetecter deacuteventuelles signatures dattaques La sonde locale assure lasurveillance dune seule machine il analyse le comportement du systegraveme pour y deacutetecter destentatives dexploitation de vulneacuterabiliteacutes internes Les sondes signalent les tentativesdattaques par des alertes Ces alertes sont reccedilues par le manager qui les interpregravete et lesstocke Nous pouvons eacutegalement deacutecrire un autre systegraveme de deacutetection aussi connu qui estSnort42 Snort‐NIDSSnort est un NIDS eacutecrit par Martin Roesch disponible sous licence GNU son code sourceest accessible et modifiable Il permet drsquoanalyser le trafic reacuteseau de type IP Snort peut ecirctreconfigureacute pour fonctionner en quatre modes bull Le mode sniffer dans ce mode Snort analyse les paquets circulant sur le reacuteseau et lesaffiche drsquoune faccedilon continue sur lrsquoeacutecran bull Le mode laquo packet logger raquo dans ce mode Snort journalise le trafic reacuteseau dans desreacutepertoires sur le disque bull Le mode deacutetecteur drsquointrusion reacuteseau (NIDS) dans ce mode Snort analyse le trafic dureacuteseau compare ce trafic agrave des regravegles deacutejagrave deacutefinies par lrsquoutilisateur et eacutetabli des actionsagrave exeacutecuter bull Le mode Preacutevention des intrusions reacuteseau (IPS) crsquoest SNORT inline Il analyse du trafic‐en temps reacuteelPlusieurs autres IDS existent comme Haystack MIDAS et IDES Ces IDS utilisent des techniquesdiffeacuterentes dans le but drsquoameacuteliorer la capaciteacute de deacutetection Parmi les techniques utiliseacutees nouspouvons citer le data mining et lrsquoagent mobile19

5‐ Quelques algorithmes de deacutetection drsquointrusionsPlusieurs eacutetudes se sont inteacuteresseacutees aux problegravemes de deacutetection danomalies Danscette partie nous preacutesentons deux algorithmes Un algorithme agrave seuil adaptatif (adaptivethreshold) et celui de la somme cumulative (CUmulative SUM CUSUM) pour la deacutetection depoint de rupture Les deux algorithmes apprennent de maniegravere adaptative le comportementnormal Par conseacutequent ils nexigent pas de speacutecification de signatures dattaques51 Algorithme agrave seuil adaptatif (adaptive threshold)Cest un algorithme plutocirct simple qui deacutetecte les anomalies baseacute sur le deacutepassementdun seuil qui est deacutefini drsquoune maniegravere adaptative en utilisant des mesures reacutecentes du traficet il se base sur une eacutevaluation du nombre moyen de paquets SYN Lalgorithme considegravereseulement les deacutepassements du seuil et pas leur intensiteacuteUne application directe de cette meacutethode rapporterait un taux eacuteleveacute de faux positifs (faussesalertes) Une alarme est signaleacutee apregraves un certain nombre de deacutepassements conseacutecutifs duseuil52 CUSUMCUSUM est un algorithme employeacute couramment pour la deacutetection danomalies qui sebase sur la theacuteorie de deacutetection de point de rupture En particulier une alarme est signaleacuteequand un volume accumuleacute dans un intervalle de temps preacutecis deacutepasse un seuil bien deacutefini Cecomportement est similaire agrave celui de lalgorithme agrave seuil adaptatif Agrave la diffeacuterence de cedernier qui considegravere seulement les deacutepassements du seuil lalgorithme CUSUM considegravere levolume excessif envoyeacute au dessus du volume normal et par conseacutequent explique lintensiteacute des

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 12: TER Detection

violations20

6‐ Reacutesultats obtenusPour une meilleure interpreacutetation des resultats de notre algorithme nous avons traceacute lesgraphes suivants qui montre les variations de trafic selon le nombre drsquooctets de paquets ou deflux en fonction du tempsCourbes de variation pour tout le trafic 21Courbes de variation pour lrsquoadresse destination 100011048790 Nous pouvons remarquer sur les trois courbes preacuteceacutedentes une augmentation brusquedu trafic (point de rupture) ce qui nous megravene agrave conclure que cette adresse est attaqueacutee22

7‐ ConclusionLa plupart des IDS sont fiables ce qui explique quils sont souvent inteacutegreacutes dans lessolutions de seacutecuriteacute Les avantages quils preacutesentent face aux autres outils de seacutecuriteacutes lesfavorisent mais dun autre cocircteacute cela nempecircche pas que les meilleurs IDS preacutesentent aussi deslacunes et quelques inconveacutenients Nous comprenons donc bien quils sont neacutecessaires mais nepeuvent pas se passer de lutilisation dautres outils de seacutecuriteacute visant agrave combler leurs deacutefautsPar exemple les systegravemes de deacutetection dintrusions fournissent une bonne seacutecuriteacute mais quinest pas automatiseacutee Cela signifie que lutilisation des IDS se fait toujours conjointement agrave uneexpertise humaine23

IV Algorithme CUSUM1‐ IntroductionEacutetant une meacutethode non parameacutetrique lalgorithme CUSUM deacutetecte les points de rupturecest agrave dire le passage agrave linstant t inconnu dun fonctionnement normal (hypothegravese 1) agrave unfonctionnement anormal (hypothegravese 2) du systegraveme sous surveillance Ainsi le deacutepassementdun seuil h fixeacute apregraves une seacuterie de tests visant agrave minimiser le taux de fausses alertes vaengendrer une alarmeDans ce chapitre nous allons expliquer le fonctionnement de cet algorithme et les diffeacuterentstests effectueacutes en appliquant ce dernier sur les traces qui nous ont eacuteteacute fourniesLa premiegravere version de notre algorithme sest limiteacutee agrave la surveillance du trafic agrave la deacutetection etagrave laffichage des alertes sur la console Dans la deuxiegraveme version nous avons rajouteacute laconnexion agrave la base de donneacutees afin de sauvegarder les diffeacuterents flux et les alertes remonteacuteespar lalgorithme que nous allons utiliser dans linterface PHP pour les classifier les veacuterifier et lesafficher

2‐ FonctionnementComme dit preacuteceacutedemment lalgorithme CUSUM se base sur le principe de la sommecumulative qui se preacutesente sous cette formule Si = [ Si‐1 + (Xi ndash kμ) ]+

Ougrave Si est la somme cumulative positive qui est initialiseacutee agrave 0 lors du lancement de lalgorithmeCe qui signifie que si elle est neacutegative elle est immeacutediatement mise agrave 0Xi est la variable repreacutesentant soit le nombre de flux de paquets ou drsquooctetsμ est la moyenne des Si calculeacutee agrave linstant t (i allant de 0 agrave t)La moyenne se calcule selon la formule suivante μi = 05μi‐1 + 05Si‐124k est un paramegravetre agrave faire varier pour ameacuteliorer les performances de la deacutetection (reacuteduire le

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 13: TER Detection

nombre de fausses alertes)Lorsque Si deacutepasse un certain seuil h (Si ge h) une alarme se deacuteclenche et reacuteinitialise Si agrave 0sachant que nous pouvons modifier le seuil jusquagrave trouver la valeur optimale avec laquelle ona le minimum de fausses alertes21 Premiegravere version de lalgorithmeApregraves la programmation et la compilation de lalgorithme nous lavons appliqueacute sur lestraces dun trafic qui nous eacutetaient fournies pour deacutetecter les diffeacuterentes anomalies preacutesentesdans ces derniegraveresNous preacutesentons par la suite quelques captures deacutecrans de lexeacutecution du programmeFigure 1 Capture drsquoeacutecran de lrsquoexeacutecution du programme2522 Deuxiegraveme version de lalgorithmeDans cette version nous avons ajouteacute linteraction de lalgorithme avec la base dedonneacuteesDans un premier temps le programme se connecte agrave la base Une fois connecteacute il insegraverechaque flux dans la table laquoflowraquo Parallegravelement si une anomalie est deacutetecteacutee lalgorithmeinsegravere une ligne dans la table laquoalerteraquo en preacutecisant ladresse IP destination le type dalerte etlintervalle de temps sur lequel lanomalie a eacuteteacute deacutetecteacuteeFigure 2 table alerteFigure 3 table flow26

3‐ ConclusionLalgorithme CUSUM preacutesente plusieurs avantages notamment la rapiditeacute de deacutetectionainsi que la minimisation du taux de fausses alertes ce qui nest pas le cas de tous les systegravemesde deacutetection dintrusionsMalgreacute lefficaciteacute de cet algorithme il preacutesente diverses limites Par exemple la neacutecessiteacutedavoir un controcircle humain pour verifier les diffeacuterentes attaques Il est eacutegalement impossible deconnaicirctre le type dattaque ce qui sera combleacute dans la suite gracircce agrave la classification faite auniveau de linterface PHP27

V Interface et base de donneacutees1‐ IntroductionDans le cadre de notre projet une interface PHP lieacutee agrave une base de donneacutees est neacutecessairepour afficher les diffeacuterentes alertes geacuteneacutereacutees par CUSUM drsquoune part et drsquoautre part pourpouvoir faire des traitements sur les tables (flow et alerte) comme la classification laveacuterificationhellipNous commenccedilons par une eacutetape de conception dans laquelle nous utiliserons la meacutethode UMLpour pouvoir scheacutematiser les diffeacuterentes tables de la base Par la suite nous preacutesenteronslinterface PHP puis la base de donneacutees

2‐ ConceptionLa conception eacutetait une phase neacutecessaire pour la reacutealisation de notre application Toutdrsquoabord nous avons choisis la meacutethode utiliseacutee puis nous avons deacutecrit lrsquoapplication agrave traversdes diagrammes21 Meacutethode de conception utiliseacuteeLes meacutethodes objet proposent de structurer un systegraveme sans centrer lrsquoanalyseuniquement sur les donneacutees ou uniquement sur les traitements mais sur les deux (donneacutees ettraitements) agrave la foisPour la conception de notre systegraveme on a adopteacute le langage de modeacutelisation unifieacute UML

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 14: TER Detection

UML est lrsquoacronyme de Unified Modeling Language (ou en franccedilais Langage de ModeacutelisationUnifieacute) Il est neacute de la fusion des trois meacutethodes qui ont le plus influenceacute la modeacutelisation objetau milieu des anneacutees 90 OMT Booch et OOSENormaliseacute en fin 1997 par LOMG (Object Management Group) le langage UML a plusieursavantages 1048790 Il donne une dimension meacutethodologique agrave lapproche objet permettant une meilleuremaicirctrise de sa richesse1048790 Il peut ecirctre inteacutegreacute agrave nimporte quel processus de deacuteveloppement de logiciel de maniegraveretransparente281048790 Il nimpose pas de meacutethode de travail particuliegravere1048790 Il permet dameacuteliorer progressivement les meacutethodes de travail tout en preacuteservant lesmodes de fonctionnement22 Diagrammes221 Diagramme de cas drsquoutilisationFigure 4 Diagramme de cas drsquoutilisation29222 Diagramme de classeFigure 5 Diagramme de classe

3‐ Outils et mateacuteriaux de reacutealisationDans cette partie nous allons preacutesenter les principaux outils utiliseacutes pour la mise enplace de notre applicationLa reacutealisation de cette application a eacuteteacute faite sous la plateforme drsquoEasyPHP qui permetdrsquointeacutegrer le langage de script PHP MYSQL et le serveur Web Apache bull EasyPHP est un environnement simple et facilement utilisable de deacuteveloppement webavec MySQL et PHP Il est important de noter que PHP est un langage qui srsquoexeacutecute auniveau du serveur Web Apache30Figure 6 interaction entre les eacuteleacutements drsquoune application web dynamiquebull PHP PHP est un langage de script qui permet de geacuteneacuterer des pages HTML Le but dulangage PHP est de permettre aux deacuteveloppeurs de site web deacutecrire rapidement despages web dynamiquesIl offre aussi les possibiliteacutes suivantes - Interagir avec une base de donneacutees par lrsquointermeacutediaire de fonctions- Construire les requecirctes en utilisant un script PHP- Afficher les reacutesultats des requecirctes avec HTML- Envoyer des requecirctes SQL au serveurbull MYSQL est un systegraveme de gestion de bases de donneacutees relationnelles il permet - La creacuteation de base de donneacutees- Lrsquointeacutegration de requecircte SQL pour la gestion et manipulation de donneacutees de la base31

4‐ Base de donneacutees MySQLDrsquohabitude de larges volumes de donneacutees sont gardeacutes dans des bases construites selonune approche standardiseacutee et structureacutee ce qui permet de geacuterer des donneacutees de la maniegravere laplus efficaceNous avons besoin de sauvegarder une base de tregraves grande taille dans un fichier exteacuterieur vuque le volume des donneacutees tregraves important occasionnerait un ralentissement de lrsquoaccegraves agrave labase41 Comment faire une sauvegarde de base des donneacutees

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 15: TER Detection

Nous utilisons un script Shell afin de creacuteer une sauvegarde de toutes les bases dedonneacuteesCe script reacutealise la sauvegarde des donneacutees sous un fichier CSV qui peut ecirctre ulteacuterieurementrestaureacute et il effectue eacutegalement la compression des donneacutees sauvegardeacutees sous formedarchive gzCommandes utiliseacutees - MySQL dump qui permet dexporter une base vers un fichier texte pour lasauvegarde mysqldump ndashuser=$MYSQLUSER ‐‐password=$MYSQLPASSWORD- gzip permet de compresser le fichier de sauvegarde afin de reacuteduire sa taille$DATABASE | gzip gt $ARCHIVEPATH$SAVEDIR32Nous preacutesentons une capture deacutecrans du script de sauvegarde des donneacutees de la table flows Figure 7 Script drsquoexport de la base

42 Comment restaurer les donneacutees des sauvegardes Il est possible drsquoimporter ces sauvegardes par la creacuteation drsquoun script Shell qui permet de bull Restaurer les donneacutees archiveacutees pendant la phase de sauvegardebull Creacuteer une table temporaire qui permet de manipuler les donneacutees importeacuteesbull Reacutecupeacuterer les donneacutees de fichier de sauvegarde33Commandes utiliseacutees - gunzip qui permet de deacutecompresser les fichiers de sauvegardegunzip $ARCHIVEPATH$DATE2flows‐$DATE2csvgzmysqlimport qui permet drsquoimporter des donneacutees depuis des fichiers textemysqlimport ‐‐user=$MYSQLUSER ‐‐password=$MYSQLPASSWORD ‐‐fields‐terminated‐by= ‐‐local ‐‐lines‐terminated‐by=n $DATABASE $ARCHIVEPATH$DATE2flows_$DATE2csvNous preacutesentons une capture deacutecrans du script de restauration des donneacutees des sauvegardes Figure 8 Script drsquoimport de la base3443 Automatisation de sauvegarde de base donneacuteeLa sauvegarde de base de donneacutees est automatiseacutee par lrsquoutilisation de Cron Daily qui estun daemon utiliseacute pour programmer des tacircches qui doivent ecirctre exeacutecuteacutees agrave un moment preacutecisChaque utilisateur a un fichier crontab lui permettant dindiquer les actions (et agrave quellespeacuteriodes) elles devront ecirctre exeacutecuteacuteesIl faut pour cela lancer le logiciel crontab dans une console puis taper la commandesuivante m h j M a root backupCSVshLes paramegravetres m (minute) h (heure) j (jour) M (mois) et a (anneacutee) servent agrave indiquer lesdates auxquelles le script devra ecirctre lanceacute Par exemple pour lancer la commande agrave minuit tousles jours de tous les mois de chaque anneacutee il suffit de taper laquo 0 0 root backupCSVsh raquo

5‐ Interface PHPDans cette partie nous allons preacutesenter lrsquointerface PHP qui va offrir a lrsquoadministrateur dureacuteseau quelques options en plus telles que veacuterifier classifier ainsi que plein drsquoautres fonctionsApregraves la phase drsquoauthentification lrsquoutilisateur a accegraves agrave plusieurs fonctionnaliteacutes Parmi elles lagestion des utilisateurs qui reacuteserveacutee agrave lrsquoadministrateur lui permet de rajouter supprimermodifier lister des utilisateurs

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 16: TER Detection

Les trois figures suivantes montrent un aperccedilu de ces fonctionnaliteacutesFigure 9 page drsquoajout drsquoun utilisateur35Figure 10 page de suppression drsquoun utilisateurFigure 11 page de renommage drsquoun utilisateur36Le menu laquo statistics raquo que lrsquoon peut voir sur la capture drsquoeacutecran suivante nous offre lapossibiliteacute drsquoexploiter la base de donneacutees et plus preacuteciseacutement la table laquo flow raquo afin drsquoenextraire des informations statistiques sur lrsquoadresse IP destination lrsquoadresse IP source ou le portdestination ordonneacutees selon le nombre de paquets le nombre SYN FIN RST BYTE ou lenombre de ACKFigure 12 page de statisticsLa capture drsquoeacutecran suivante preacutesente le menu laquo Prefix IP verification raquo Crsquoest une option quipermet drsquoexploiter la table flow de la base de donneacutees pour seacutelectionner les informationsconcernant les adresses commenccedilant par un preacutefix saisi Cet affichage peut ecirctre ordonneacute selonle nombre de paquets le nombre de SYN etchellipFigure 13 page Prefix IP Verification37Apregraves le lancement drsquoune alerte le menu laquo Veacuterifier anomalie raquo permet agrave lrsquoadministrateur deconfirmer que cette attaque nrsquoest pas une fausse alerte Cette veacuterification peut srsquoeffectuer pourquatre types drsquoattaques qui sont les suivants - Net scan lrsquoadministrateur est inviteacute agrave saisir lrsquoadresse IP source et le port destinationpour connaicirctre lrsquoadresse IP destination sur laquelle le port est ouvert et est attaqueacutepar lrsquoadresse IP source saisieFigure 14 page Verifie Anomalie ndashNet Scan- Port scan la saisie de lrsquoadresse IP source et de lrsquoadresse IP destination donnera lapossibiliteacute agrave lrsquoadministrateur de veacuterifier si lrsquoadresse IP destination subit un port scanpar lrsquoadresse IP sourceFigure 15 page Verifie Anomalie ndashPort Scan38- DoS apregraves la saisie des adresses IP source et destination ainsi que le portdestination lrsquoadministrateur peut savoir si la machine posseacutedant lrsquoadresse IPdestination saisie subit une attaque de type DoS sur le port correspondantFigure 16 page Verifie Anomalie ndashDos Attack- DDoS dans ce cas la veacuterification srsquoeffectue de la mecircme faccedilon que pour le DoS agravelrsquoexception pregraves qursquoaucune adresse IP source ne doit ecirctre indiqueacutee vu qursquouneattaque DDoS est lanceacutee par plusieurs sources agrave destination drsquoune mecircme machineFigure 17 page Verifie Anomalie ndashDdoS Attack39

6‐ ConclusionPour valoriser notre travail une interface eacutetait neacutecessaire afin de preacutesenter les diffeacuterentesinformations telles que les anomalies et plus geacuteneacuteralement les donneacutees stockeacutees dans la baseElle permet aussi doffrir la possibiliteacute agrave ladministrateur dexploiter et interpreacuteter ces donneacuteesafin de laider agrave deacutecouvrir par exemple quel est le type dune attaque son origine et dautresinformationsAgrave ceci nous avons rajouteacute une option darchivage qui eacutetait indispensable vu que linsertion desflows du trafic dans la base de donneacutees fait augmenter sa taille tregraves rapidement De plus nousavons impleacutementeacute loption inverse cest agrave dire la reacutecupeacuteration de la base sauvegardeacutee40

VI Conclusion

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 17: TER Detection

Sur Internet les pirates emploient de plus en plus diverses strateacutegies pour dissimulerleurs caractegraveres intrusifs Par conseacutequent la deacutetection de la reconnaissance active devient plusdifficile mais indispensable afin de comprendre les intentions des attaquantsNous avons suivi dans le cadre de notre projet TER plusieurs eacutetapes afin de parvenir agrave notrebut celui de seacutecuriser le reacuteseau contre les attaquesDans le premier chapitre la protection du reacuteseau eacutetait notre but premier ce qui nous a meneacutes agraveeacutetudier les proceacutedeacutes mis en oeuvre par les attaquants ainsi que les outils quils utilisent pourlancer les attaques Nous avons tout naturellement enchaineacute sur leacutetude de quelquestechniques de protection comme les pare feu et les systegravemes de deacutetection dintrusions que lon‐a deacutetailleacutes par la suiteDans le second chapitre nous avons pu eacutetudier les systegravemes de deacutetection dintrusions leurscritegraveres de classification et les diffeacuterents types que lon peut trouver Cette eacutetude nous a eacuteteacuteneacutecessaire pour eacutelaborer une solution adeacutequate que nous avons deacuteveloppeacutee dans le chapitresuivantLe deacuteveloppement de lalgorithme CUSUM eacutetait lobjectif du troisiegraveme chapitre dans lequelnous avons deacutetailleacute le fonctionnement les eacutetapes de limpleacutementation ses avantages et seslimitesLa neacutecessiteacute de stocker les traces des anomalies produites par CUSUM nous a pousseacutes agrave reacutealiserune base de donneacutees et par la suite une interface pour lexploiter Nous avons deacuteveloppeacute desfonctionnaliteacutes au sein de cette interface pour permettre agrave un administrateur dexploiter labase Cette derniegravere eacutetant tregraves volumineuse des besoins darchivage se sont fait sentir et nousavons remeacutedieacute agrave cela en impleacutementant un script qui effectue cet archivage et sexeacutecutantautomatiquement Tout ceci a eacuteteacute exposeacute dans le dernier chapitreCe travail nous a beaucoup apporteacute dans le domaine de la seacutecuriteacute des reacuteseaux Cetteapplication que nous avons eacutelaboreacutee preacutesente des avantages comme la deacutetection rapide desanomalies ainsi quun taux de fausses alertes limiteacute41

VII Bibliographie[1] Silvia Farraposo Philippe Owezarski Edmundo Monteiro laquo Deacutetection classification etidentification drsquoanomalies de trafic raquo[2] Ghislain Verdier Nadine Hilgert et Jean Pierre Vila laquo Une meacutethode statistique de deacutetection‐drsquoanomalie pour les modegraveles `a espace drsquoacuteetat non lineacuteaires raquo[3] J AUSSIBAL P BORGNAT Y LABIT G DEWAELE N LARRIEU L GALLON P OWEZARSKI PABRY KBOUDAOUD laquo Base de traces drsquoanomalies leacutegitimes et Illeacutegitimes raquo[4] Yuefeng Li Mark Looi Ning Zhong laquoAdvances in intelligent ITraquo[5] Alexander Clemm Lisandro Zambenedetti Granille Rolf Stadler International laquo Managingvirtualization of networks and services raquo[6] Eric Cole laquo Hackers beware raquo[7] Cornel Marius Matei Jacques Duchecircne Igor Nikiforov laquo Deacutetection de ruptures dans les‐signaux eacutelectromyographiques raquo[8] Nadine Hilgert Ghislain Verdier amp Jean Pierre Vila laquo Filtrage et deacutetection de rupture dans‐les modegraveles agrave espace drsquoeacutetat raquo[9] Sheng Ya Lin Jyn Charn Liu Wei Zhao laquo Adaptive CUSUM for Anomaly Detection and Its‐ ‐Application to Detect Shared Congestion raquo[10] B BENMAMMAR C LEacuteVY LEDUC F ROUEFF laquo Algorithme de deacutetection drsquoattaques de ‐type(SYN Flooding) raquo[11] httpwwweastman watchcndistributed denial of service attacks tfn2k attacks‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐andiptables‐

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137

Page 18: TER Detection

filtering test‐[12] httphackersparadisesynthasitecomsoftwarephp42

VIII AnnexeCourbes de variation pour lrsquoadresse destination 88123111137