WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Inspection du trafic pour la détection et la prévention d'intrusions


par Frèse YABOUI
Ecole Supérieure de Technologie et de Management (ESTM) - Licence en Téléinformatique  2018
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    REPUBLIQUE DU SENEGAL

    Année académique : 2018-2019

    Un peuple - un but - une foi

    Ministère de l'enseignement supérieur, de la recherche et de l'innovation

    Direction générale de l'enseignement supérieur
    Direction de l'enseignement supérieur privé
    Ecole supérieure de technologie et de management

    Mémoire de fin de cycle pour l'obtention de la licence en Téléinformatique
    Option : Génie logiciel et Administration réseaux

    Intitulé

    Inspection du trafic pour la détection et la prévention d'intrusions

    Présenté et soutenu par : Sous la direction de :

    M. Frèse YABOUI M. Youssef KHLIL

    Spécialité : Cryptographie

    I

    Dédicace

    Dédicace à mes chers parents M. Emmanuel YABOUI et Mme Julienne OKOUYA en guise de reconnaissance et de gratitude pour leur amour, leur patience, leur soutien, leur encouragement et leur sacrifice. Aucun mot, aucune dédicace ne pourrait exprimer mon respect, ma considération, ainsi que l'expression de mon profond amour. Puisse Dieu vous accordé santé, bonheur et longue vie afin que je puisse un jour combler de joie vos vieux jours.

    Je dédie également ce travail à mon père spirituel Dr. Cyrille KINHOEGBE qui m'a soutenu moralement dans l'élaboration de ce travail. Son encouragement m'a permis de garder le cap afin d'atteindre mon objectif.

    II

    Remerciements

    Tout d'abord, je tiens à remercier Dieu le Père de notre Seigneur Jésus-Christ de m'avoir donné la force, la volonté et le courage pour arriver à l'achèvement de ce travail.

    De plus, j'ai la fierté et le plaisir de présenter mes sincères remerciements à mon encadreur M. Youssef KHILL, pour m'avoir guidé tout au long de mon travail, m'aider à trouver des solutions pour avancer et le temps qu'il m'a accordé pour mon encadrement.

    Je tiens à remercier tous les enseignants qui ont contribué à la formation pendant tout mon cycle. En effet, leur aide m'a été précieuse pour arriver au terme de ce travail.

    Je tiens aussi à remercier le Directeur des Etudes de ESTM, M. Félix KAMPAL pour m'avoir accepté au sein de cet établissement. Permettez-moi de vous exprimer mon admiration pour vos qualités humaines et professionnelles.

    J'exprime également mes remerciements à mes frères Régis NDOSSANI, Hanniel COULIDIATI SOUANDAMBA, Grâce GOTRON, Fortunet GUINDOGBA WEMON, Juste Emmanuel YABOUI et à mes soeurs Christen GUIMBETY, Jeannice ROBOTY, Fulberte KPODE, NZASSI Sheirole, Juliema YABOUI, Frèsia YABOUI et Karina YABOUI Zinnia qui m'ont soutenu moralement dans l'élaboration de ce travail. Leur encouragement m'ont permis de garder le cap afin d'atteindre mon objectif.

    J'associe nos remerciements aux membres du Jury pour avoir accepté de siéger pour la perfection de ce mémoire.

    Enfin, je tiens à remercier tous ceux qui ont participé de près ou de loin à l'élaboration de ce mémoire.

    III

    Avant-propos

    L'Ecole Supérieure de Technologie et de Management a été créée en 2002. Spécialisée entre autres dans les domaines de l'informatique, de la télécommunication et du management des entreprises, elle a pour missions de former les étudiants qui ont toujours su se faire distinguer sur le marché du travail, de par leurs connaissances et compétences acquises à l'issue de leur formation. Forte de son expérience, elle a toujours su se hisser parmi les meilleures écoles de la place évoluant dans le même secteur d'activité. Les diplômes délivrés sont la licence et le master homologués par les institutions académiques (CAMES) africaines.

    Pour l'obtention de la licence en téléinformatique, l'ESTM exige à ses étudiants l'élaboration d'un mémoire de fin de cycle. C'est dans cette perspective que nous avons rédigé ce document qui s'intitule Inspection du trafic pour la détection et la prévention d'intrusions.

    Dans ce sujet il s'agira de mettre en place un système de détection et de prévention d'intrusions en utilisant des outils libres. Ce système de sécurité permettra de détecter et d'y remédier aux intrusions sur le réseau aussi bien que sur les équipements du système d'information.

    Ce document représente notre premier travail de recherche. A cet effet, nous sollicitons de la part du jury beaucoup d'indulgence quant à l'évaluation.

    IV

    Sommaire

    Introduction générale 1

    I. Cadre théorique et méthodologique 3

    1.1. Cadre méthodologique 3

    1.1.1. Présentation de l'ESTM 3

    1.1.2. Problématique 4

    1.1.3. Objectifs 4

    1.1.4. Délimitation du sujet 4

    1.2. La sécurité informatique 5

    1.2.1. Qu'est-ce que la sécurité ? 5

    1.2.2. Objectifs de la sécurité 5

    1.2.3. Les enjeux de la sécurité 6

    1.2.4. Les vulnérabilités 6

    1.2.5. Les menaces 7

    1.2.6. Les logiciels malveillants 7

    1.2.7. Les intrusions 7

    1.2.8. Les attaques 8

    1.2.9. Les moyens de sécuriser un réseau 15

    1.2.10. Mise en oeuvre d'une politique de sécurité 21

    II. Cadre conceptuel 22

    2.3. Système de détection et de prévention d'intrusions 23

    2.3.1. Système de détection d'intrusions (IDS) 23

    2.3.2. Systèmes de prévention d'intrusions (IPS) 38

    2.4. Etude des solutions 44

    2.4.1. Systèmes de détection d'intrusions basée sur l'hôte (RIDS) 44

    2.4.2. Systèmes de détection d'intrusions réseau (NIDS) 47

    2.4.3. Choix des solutions 50

    2.4.4. Présentation générale de SNORT 50

    2.4.5. Présentation générale d'OSSEC 57

    III. Mise en oeuvre 63

    3.5. Architecture et prérequis 63

    3.5.1. Architecture 63

    V

    3.5.2. Prérequis 64

    3.6. Configuration et tests 65

    3.6.1. SNORT 65

    3.6.2. Installation de Barnyard2 69

    3.6.3. Installation de PulledPork 72

    3.6.4. Création de Scripts SystemD 74

    3.6.5. Installation de B.A.S.E 75

    3.6.6. OSSEC 76

    3.6.7. Tests d'intrusions 79

    Conclusion générale 82

    VI

    Glossaire

    ACID: Analyse Consol for Intrusions Database

    ADODB: Active DATA Objects DATA Base

    ARP: Address Resolution Protocol

    ASA: Adaptive Security Appliance

    CD ROM: Compact Disc Read OnlyMemory

    CERT: Computer Emergency Response Team

    CIDR: Classless Inter-Domain Routing

    CGI: Information Systems and Management Consultants

    CIS: Center for Internet Security

    CPU: Central Processing Unit

    DAQ: Data Acquisition

    DDoS: Distributed Denial of Service

    DHCP: Dynamic Host Configuration Protocol

    DMZ: DeMilitarized Zone

    DNS: Domain Name Service

    DVD: Digital Versatile Disc

    ESTM: Ecole Supérieure de Technologie et de Management

    FTP: File Transfer Protocol

    H-IDS: Host Based Intrusions Detection System

    HIPS: Host Kernel Intrusion Prevention System

    HTTP: HyperText Transfer Protocol

    HTTPS: HyperText Transfer Protocol Secure

    ICMP: Internet Control Message Protocol

    IDS: Intrusions Detection System

    IDWG: Intrusions Detection exchange formatWorking Group

    IETF: Internet Engineering Task Force

    IGRP: Interior Gateway Routing Protocol

    IOS: Internetwork Operating System

    IPS: Intrusions Prevention System

    IPSec: Internet Protocol Security

    IPX: Internetwork Packet Exchange

    ISS: Internet Secure System

    VII

    KIPS: Kernel Intrusion Prevention System

    LAN: Local Area Network

    NFS: Network File System

    NNIDS: Node Network Intrusion Detection System

    NIPS: Network Intrusion Prevention System

    NMAP: Network Mapper

    NTP: Network Time Protocol

    OSPF: Open Shortest Path First

    OSI: Open Systems Interconnection

    PCI: Peripheral Component Interconnect

    PHP: Hypertext Preprocessor

    POP3: Post Office Protocol Version 3

    PSSI: Politique de Sécurité des Systèmes d'Information

    RIP: Routing Information Protocol

    RPC: Remote Procedure Call

    SI: Système d'Information

    SIEM: Security Information and Event Management

    SGBD: Système de Gestion de Base de Données

    SIM: Security Information Management

    SMB: Server message block

    SMTP: Simple Mail Transfer Protocol

    SNMP: Simple Network Management Protocol

    SSH: Secure Shell

    SSI: Sécurité des Systèmes d'Information

    SSL: Secure Socket Layer

    SUID: Set User IDentifier

    TCP/IP: Transmission Control Protocol /Internet Protocol

    TLS: Transport Layer Security

    TTL: Time-To-Live

    UDP: User Datagram Protocol

    URI: Uniform Resource Identifier

    URL: Uniform Resource Locator

    USB: Universal Serial Bus

    VPN: Virtual Private Network

    VIII

    Liste des figures

    Figure 1.1 : Architecture du réseau de l'ESTM 3

    Figure 2.1 : Attaque directe 9

    Figure 2.2 : Attaque indirecte par rebond 9

    Figure 2.3: Attaque indirecte par réponse 10

    Figure 2.4: Attaque par interruption 10

    Figure 2.5: Attaque par interception 11

    Figure 2.6: Attaque par modification 11

    Figure 2.7: Attaque par fabrication 12

    Figure 2.8: L'attaque SYN Flood 12

    Figure 2.9: DDos attaque 13

    Figure 2.10: Firewall 16

    Figure 2.11: Architecture DMZ 17

    Figure 2.12: Principe d'un VPN 18

    Figure 2.13: Système de détection d'intrusions 18

    Figure 2.14: Système de prévention d'intrusions 19

    Figure 2.15: Un tunnel IPSec entre deux sites d'entreprise 21

    Figure 4.1: Différentes positions possible de SNORT dans un réseau informatiques 51

    Figure 4.2: Architecture de SNORT 52

    Figure 4.3: Les différents champs d'une règle SNORT 54

    Figure 4.4: architecture d'OSSEC 59

    Figure 5.1 : Architecture du projet 64

    Figure 6.1: Test du binaire SNORT 66

    Figure 6.2: Validation du fichier de configuration 69

    Figure 6.3: Validation de la nouvelle règle 69

    Figure 6.4: Test d'installation de Barnyard2 70

    Figure 6.5: Vérification d'enregistrement des événements par Barnyard2 72

    Figure 6.6: Oinkcode 72

    Figure 6.7: Test de fonctionnement de PulledPork 73

    Figure 6.8: Exécution manuelle de PulledPork 74

    Figure 6.9: Installation de l'agent OSSEC sur la machine Ubuntu 77

    Figure 6.10: Ajout de la machine Ubuntu comme agent du serveur OSSEC 77

    Figure 6.11: Extraction de la clé pour la machine Ubuntu 78

    Figure 6.12: Ajout de la clé sur la machine Ubuntu 78

    Figure 6.13: Agent connecté 79

    Figure 6.14 : Ping de la machine Windows XP vers la machine Ubuntu 79

    Figure 6.15 : Détection du ping par la machine Ubuntu 80

    Figure 6.16 : Connection SSH à la machine Ubuntu 80

    Figure 6.17 : Accès au compte root de la machine Ubuntu 81

    Figure 6.18 : Connection SSH détectée par le serveur OSSEC via le Dashboard Kibana 81

    Figure 6.19 : Connection SSH détectée par le serveur OSSEC via le fichier alerts.log 82

    IX

    Liste des tableaux

    Tableau 3.1: Avantages et inconvénient de l'approche comportementale 33

    Tableau 3.2: Avantages et inconvénient de l'approche par scénario 34

    Tableau 3.3 : Avantages et limites d'un IDS 38

    Tableau 4.1: Comparaison des HIDS 46

    Tableau 4.2 : Comparaison des NIDS 49

    Tableau 4.3 : Systèmes et périphériques pris en charge par OSSEC 62

    Inspection du trafic pour la détection et la prévention d'intrusions

    Introduction générale

    Les réseaux informatiques sont devenus beaucoup plus important qu'ils en aient il y a quelques années. De nos jours les entreprises dès leur création n'hésitent pas à mettre en place un réseau informatique pour faciliter la gestion de leur infrastructure, c'est pour cela que la sécurité de ces réseaux constitue un enjeu crucial. Vu le nombre sans cesse croissant d'attaques et d'incidents, et à titre d'exemple de WannaCry en 2017 dont 200 000 ordinateurs auraient été infectés sur tous les continents. Etre réactif et proactif dans la détection et la gestion des incidents cybers est une préoccupation de toutes les structures.

    Un système de détection d'intrusion (IDS) est un mécanisme écoutant le trafic réseau de manière furtive afin de repérer des activités anormales ou suspectes et permettant aussi d'avoir une action de prévention sur les risques d'intrusion. Il existe deux grandes familles distinctes d'IDS à savoir les NIDS (Network Based Intrusion Detection System) et les HIDS (Host Based Intrusion Detection System). Le but des NIDS est de regarder les paquets transitant dans le réseau pour déterminer si une attaque a lieu. Ainsi, un NIDS ne pourra protéger que les ordinateurs se trouvant sur le même réseau que lui, sauf dans le cas où il existe des machines routant les informations d'un système différent vers l'IDS. Un désavantage des NIDS est que tout paquet chiffré ne pourra pas être compris par les NIDS, qui doivent lire le contenu des paquets. Ce désavantage peut disparaître en utilisant des HIDS qui vont obtenir les informations après leur déchiffrement sur la machine. C'est dans cette logique qu'on se pose la question de savoir quel système de sécurité mettre en place afin de détecter et d'y remédier aux intrusions sur le réseau aussi bien que sur les équipements du système d'information ?

    L'objectif général de notre travail est de mettre en place une solution de détection et de prévention d'intrusions en utilisant des outils libres. Aussi pour remédier à certaines limites que présentent ces logiciels libres que nous utiliserons dans notre projet, nous écrirons des scripts qui exécuteront certaines tâches bien définies. Et comme objectifs spécifiques, nous aurons à faire une étude sur les différentes solutions présentes sur le marché, identifier la meilleure solution pour la mise en place de notre système de détection d'intrusion réseau (NIDS) et l'implémenter, identifier la meilleure solution pour la mise en place de notre système de détection d'intrusion hôte (NIDS) et l'implémenter et faire des tests d'intrusions.

    Vu la panoplie des systèmes de détection et de prévention d'intrusions efficaces sur le marché, raison pour laquelle notre choix s'est porté sur ce sujet. Il sera question de mettre à la

    1

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    disposition des entreprises et des particuliers une solution de sécurité pour prévenir contre toute tentation d'intrusion au sein de leurs systèmes d'informations.

    Pour matérialiser notre projet nous pouvons considérer les hypothèses suivantes :

    D'une part qu'on mette en place un système de détection d'intrusion réseau (NIDS) pour sécuriser le trafic sur le réseau. Et d'autre part qu'on mette en place un système de détection d'intrusion hôte (HIDS) pour sécuriser les équipements physiques du système d'information.

    Afin de prendre en compte la réalité des besoins de la sécurité des systèmes d'information au sein des entreprises qu'aussi au niveau des particuliers, nous nous sommes appuyés sur une base assez conséquente de documents fiables provenant des autorités d'organisation de ce domaine et le web. Aussi nous nous sommes basés sur des idées novatrices tirées d'échanges entre plusieurs acteurs du domaine de la sécurité des systèmes d'information.

    Ainsi notre travail s'articulera sur trois parties. Nous commencerons par faire la présentation générale en définissant les cadres théorique et méthodologique. Ensuite nous passerons au cadre conceptuel de notre système. Enfin nous terminerons par sa mise en oeuvre en abordant sa réalisation et son test.

    2

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    I. Cadre théorique et méthodologique

    Les cadres théoriques et méthodologiques feront l'objet de notre première partie qui sera consacré à la présentation générale de la structure d'accueil et des concepts de la sécurité informatique.

    1.1. Cadre méthodologique

    1.1.1. Présentation de l'ESTM

    ESTM (Ecole Supérieure de Technologie et de Management) est une école d'ingénieurs et de spécialistes du management à la pointe des dernières technologies qui a été créée en 2002. Elle s'appuie sur un corps professoral très expérimenté émanant de structures universitaires et professionnelles de haut niveau. Elle possède un environnement matériel interconnecté, qui vous permet d'accéder à l'ensemble des ressources informatiques de l'école.

    Figure 1.1 : Architecture du réseau de l'ESTM

    Vu le nombre sans cesse croissant d'attaques et d'incidents, l'ESTM se doit d'investir dans la sécurisation de son système d'information et dans la qualité de service fournit aux clients. Cependant il revient à souligner l'absence d'un système de sécurité au sein de l'ESTM permettant d'identifier ces attaques bien avant afin de les éradiquer pour ainsi assurer la protection de son système d'information.

    3

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    1.1.2. Problématique

    Le système d'information (SI) est un élément central d'une entreprise ou d'une organisation. Il permet aux différents acteurs de véhiculer des informations et de communiquer grâce à un ensemble de ressources matérielles, humaines et logicielles. Un SI permet de créer, collecter, stocker, traiter, modifier des informations sous divers formats. Le système d'information est l'objet de nombreuses attaques et d'incidents. C'est pourquoi, il sera nécessaire d'avoir un bon système de sécurité pouvant défendre le système d'information contre ces attaques et ces incidents. Ainsi, mettre en place un système de sécurité afin de détecter et d'y remédier aux intrusions sur le réseau aussi bien que sur les équipements du système d'information.

    1.1.3. Objectifs

    Dans ce travail, l'objectif général sera de mettre en place un système de détection et de prévention d'intrusions en utilisant des outils libres. Ainsi, comme objectifs secondaires, on peut citer :

    ? étudier et analyser tous les aspects traités par un système de détection d'intrusions ; ? étudier et analyser tous les aspects traités par un système de prévention d'intrusions ;

    ? faire une étude sur les systèmes de détection et de prévention d'intrusions disponibles sur le marché ;

    ? identifier le système de détection et de prévention d'intrusions le plus efficace, l'étudier et l'implémenter ;

    ? faire des tests d'intrusions.

    1.1.4. Délimitation du sujet

    Ce travail n'a pas été effectué avec les outils physiques de l'ESTM, mais l'architecture de l'ESTM ainsi que les configurations ont été réalisé dans un environnement virtuel.

    On a consacré ce chapitre à la présentation l'organisme d'accueil qui nous a permis de

    comprendre la place qu'occupe cette structure dans le domaine. L'étude du réseau ESTM nous a permis de mieux comprendre son architecture et les stratégies utilisées pour sa sécurisation.

    4

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Dans le chapitre suivant nous allons présenter les concepts liés à la sécurité informatique dans un réseau et l'importance de la mise en place d'une politique de sécurité.

    1.2. La sécurité informatique

    L'informatique et en particulier l'Internet jouent un rôle grandissant dans le domaine des réseaux. Un grand nombre d'applications critiques d'un point de vue de leur sécurité sont déployées dans tous les secteurs professionnels. La sécurité de ces réseaux constitue un enjeu crucial, le contrôle des informations traitées et partagées au sein de ces réseaux devient alors un problème majeur d'autant plus que les réseaux sont interconnectés entre eux, ce qui complexifie donc la tâche des responsables de la sécurité.

    Tout au long de ce chapitre, notre intérêt se portera sur les principales menaces pesant sur la sécurité des réseaux ainsi que les mécanismes de défense.

    1.2.1. Qu'est-ce que la sécurité ?

    La sécurité informatique, d'une manière générale, consiste à assurer que les ressources matérielles ou logicielles d'une organisation sont uniquement utilisées dans le cadre prévu.

    1.2.2. Objectifs de la sécurité

    La sécurité informatique vise généralement cinq principaux objectifs :

    ? L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit être ;

    ? La confidentialité, consistant à assurer que seules les personnes autorisées aient accès aux ressources échangées ;

    ? La disponibilité, permettant de maintenir le bon fonctionnement du système d'information ;

    ? La non-répudiation, permettant de garantir qu'une transaction ne peut être niée ;

    ? L'authentification, consistant à assurer que seules les personnes autorisées aient accès aux ressources.

    5

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    1.2.3. Les enjeux de la sécurité

    ? Enjeux économique : Les organismes ou entreprises à but lucratif ont presque toujours la même finalité : c'est de réaliser des bénéfices sur l'ensemble de leurs activités. Cette réalisation est rendue possible grâce à son système d'information considéré comme moteur de développement de l'entreprise. D'où la nécessité de garantir la sécurité de ce dernier. La concurrence fait que des entreprises s'investissent de plus en plus dans la sécurisation de leurs systèmes d'information et dans la qualité de service fournit aux clients.

    ? Enjeux politiques : La plupart des entreprises ou organisations se réfèrent aux documents officiels de sécurité élaborés et recommandés par l'État. Ces documents contiennent généralement des directives qui doivent être appliquées par toute structure engagée dans un processus de sécurisation du réseau. Dans le cadre du chiffrement des données par exemple, chaque État définit des cadres et mesures d'utilisation des algorithmes de chiffrement et les recommande aux entreprises exerçant sur son territoire. Le non-respect de ces mesures et recommandations peut avoir des conséquences graves sur l'entreprise. A ce niveau, l'enjeu est plus politique parce que chaque État souhaite être capable de décrypter toutes les informations circulant dans son espace.

    ? Enjeux juridiques : Dans un réseau, on retrouve de l'information multiforme (numérique, papier, etc.). Le traitement de celle-ci doit se faire dans un cadre bien définit et dans le strict respect des lois en vigueur. En matière de juridiction, le non-respect des lois et exigences relatives à la manipulation des informations dans un système d'information peut avoir des conséquences graves sur l'entreprise.

    1.2.4. Les vulnérabilités

    En sécurité informatique, une vulnérabilité est une faiblesse dans un système informatique permettant à un attaquant de porter atteinte à l'intégrité du système d'informations.

    Ces vulnérabilités sont la conséquence de faiblesses dans la conception d'un logiciel ou d'un site web liées à des erreurs de programmation ou à de mauvaises pratiques.

    Ces dysfonctionnements sont en général corrigés à mesure de leurs découvertes, mais l'entreprise reste exposée à une éventuelle exploitation tant que le correctif n'est pas publié et

    6

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    installé. C'est pourquoi il est important de maintenir les logiciels à jour avec les correctifs fournis par les éditeurs de logiciels et d'avoir un site web proprement maintenu.

    1.2.5. Les menaces

    Une menace est un événement, d'origine accidentelle ou délibérée, capable s'il se

    réalise de causer un dommage au sujet étudié. Le réseau informatique comme tout autre réseau informatique est en proie à des menaces de toutes sortes qu'il convient de recenser.

    On peut également classer les menaces en deux catégories :

    ? Les menaces passives : consistent essentiellement à copier ou à écouter l'information sur le réseau, elles nuisent à la confidentialité des données. Dans ce cas, celui qui prélève une copie n'altère pas l'information elle-même ;

    ? Les menaces actives : consistent à altérer des informations ou le bon fonctionnement d'un service.

    1.2.6. Les logiciels malveillants

    Ce sont des logiciels développés par des hackers dans le but de nuire à un système d'informations.

    Les chevaux de Troie : Un cheval de Troie est une forme de logiciel malveillant déguisé en logiciel utile. Son but : se faire exécuter par l'utilisateur, ce qui lui permet de contrôler l'ordinateur et de s'en servir pour ses propres fins. Généralement d'autres logiciels malveillants seront installés sur votre ordinateur, tels que permettre la collecte frauduleuse, la falsification ou la destruction de données.

    Les logiciels espion : (Espiogiciel ou logiciel espion) est un programme ou un sous-programme, conçu dans le but de collecter des données personnelles sur ses utilisateurs et de les envoyer à son concepteur, ou à un tiers via Internet ou tout autre réseau informatique, sans avoir obtenu au préalable une autorisation explicite et éclairée desdits utilisateurs.

    Le spam : correspond à l'envoi intempestif de courriers électroniques, publicitaires ou non, vers une adresse mail. Le spam est une pollution du courrier légitime par une énorme masse de courrier indésirable non sollicité.

    1.2.7. Les intrusions

    7

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Une intrusion est définie comme une faute malveillante d'origine interne ou externe résultant d'une attaque qui a réussi à exploiter une vulnérabilité. Elle est susceptible de produire des erreurs pouvant provoquer une défaillance vis-à-vis la sécurité, c'est-à-dire une violation de la politique de sécurité du système. Le terme d'intrusions sera employé dans le cas où l'attaque est menée avec succès et où l'attaquant a réussi à s'introduire et/ou compromettre le système.

    1.2.8. Les attaques 1.2.8.1 Définition

    Une attaque est définie comme faute d'interaction malveillante visant à violer une ou plusieurs propriétés de sécurité. C'est une faute externe créée avec l'intention de nuire, y compris les attaques lancées par des outils automatiques : vers, virus, etc. La notion d'attaque ne doit pas être confondue avec la notion d'intrusions.

    1.2.8.2. Anatomie d'une attaque

    Fréquemment appelés « les 5 P » dans la littérature, ces cinq verbes anglophones

    constituent le squelette de toute attaque informatique : Probe, Penetrate, Persist, Propagate, Paralyze.

    ? Probe (Analyser) : dans un premier temps, une personne mal intentionnée va chercher les failles pour pénétrer le réseau.

    ? Penetrate (Pénétrer) : une fois une ou plusieurs failles identifiées, le pirate va chercher à les exploiter afin de pénétrer au sien du SI.

    ? Persist (Persister) : une fois le réseau infiltré, le pirate cherchera à y revenir facilement. Pour cela, il installera par exemple des back doors. Cependant, en général, il corrigera la faille par laquelle il s'est introduit afin de s'assurer qu'aucun autre pirate n'exploitera sa cible.

    ? Propagate (Propager) : le réseau est infiltré, l'accès est facile. Le pirate pourra alors explorer le réseau et trouver de nouvelles cibles qui l'intéresseraient.

    ? Paralyze (Paralyser) : les cibles identifiées, le pirate va agir et nuire au sein du SI.

    8

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    1.2.8.3. Types d'attaques

    Les hackers utilisent plusieurs techniques d'attaques. Ces attaques peuvent être regroupées en trois familles différentes :

    v Les attaques directes : c'est la plus simple des attaques. Le hacker attaque directement sa victime à partir de son ordinateur. La plus part des hackers utilisent cette technique. En effet, les programmes de hack qu'ils utilisent ne sont que faiblement paramétrable, et un grand nombre de ces logiciels envoient directement les paquets à la victime.

    Figure 2.1 : Attaque directe

    v Les attaques indirectes par rebond : cette attaque est très prisée des hackers. En effet, le rebond a deux avantages :

    · masquer l'identité du hacker ;

    · utiliser les ressources de l'ordinateur intermédiaire car il est plus puissant pour attaquer. Le principe en lui-même, est simple : Les paquets d'attaque sont envoyés à l'ordinateur intermédiaire, qui répercute l'attaque vers la victime. D'où le terme par rebond.

    Figure 3.2 : Attaque indirecte par rebond

    9

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? Les attaques indirectes par réponse : cette attaque est une dérivée de l'attaque par rebond. Elle offre les mêmes avantages, du point de vue du hacker. Mais au lieu d'envoyer une attaque à l'ordinateur intermédiaire pour qu'il la répercute, l'attaquant va lui envoyer une requête. Et c'est cette réponse à la requête qui va être envoyée à l'ordinateur victime.

    Figure 4.3: Attaque indirecte par réponse

    1.2.8.4. Catégorie des attaques

    Il existe quatre catégories d'attaques :

    · Attaques par interruption : c'est une attaque protée à la disponibilité. La destruction d'une pièce matérielle (tel un disque dure), la coupure d'une ligne de communication, ou la mise hors service d'un système de gestion de fichiers en sont des exemples.

    Figure 5.4: Attaque par interruption

    · Attaque par interception : c'est une attaque portée à la confidentialité. Il peut s'agir d'une personne, d'un programme ou d'un ordinateur. Une écoute téléphonique dans le

    10

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    but de capturer des données sur un réseau, ou la copie non autorisée de fichiers ou de programme en sont des exemples.

    Figure 6.5: Attaque par interception

    · Attaque par modification : il s'agit d'une attaque portée à l'intégrité. Changer des valeurs dans un fichier de données, altérer un programme de façon à bouleverser son comportement ou modifier le contenu de messages transmis sur un réseau sont des exemples de telles attaques.

    Figure 7.6: Attaque par modification

    · Attaque par fabrication : c'est une attaque portée à l'authenticité. Il peut s'agir de l'insertion de faux messages dans un réseau ou l'ajout d'enregistrements à un fichier.

    11

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 8.7: Attaque par fabrication

    1.2.8.5. Quelques attaques courantes

    Le Déni de Service : ce genre d'attaques (denial of service en anglais ou DoS) sont des attaques qui visent à rendre une machine ou un réseau indisponible durant une certaine période. Cette attaque est dangereuse quand elle vise les entreprises dépendantes de leur infrastructure réseau.

    Le SYN flood : cette attaque utilise des paquets TCP contenant le flag SYN. Ce flag signifie initier une connexion avec la cible. En envoyant un nombre très important de ces paquets, on oblige le serveur à démarrer un socket de connexion pour chaque requête, il enverra donc des paquets contenant les flags SYN, ACK pour établir la connexion mais ne recevra jamais de réponses. Le serveur ayant arrivé à saturation à cause de la grande fille d'attente de connexion ne pourra plus pouvoir répondre aux connexions légitimes des utilisateurs.

    Figure 9.8: L'attaque SYN Flood

    12

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Le PING flood : elle consiste à simplement envoyer un nombre maximal de PING simultané jusqu'à saturer la victime. On utilise généralement la commande Ping sous Linux mais une des conditions pour que l'attaque soit efficace est de posséder plus de bande passante que la victime.

    Le Smurf : les attaques Smurf profite d'une faiblesse d'IPv4 et d'une mauvaise configuration pour profiter des réseaux permettant l'envoi de paquets au broadcast. Le broadcast est une adresse IP qui permet de joindre toutes les machines d'un réseau. L'attaquant envoie au broadcast des paquets contenant l'IP source de la victime ainsi chaque machine sur le réseau va répondre à la cible à chaque requête de l'attaquant. On se sert du réseau comme un amplificateur pour perpétrer l'attaque, cette méthode porte aussi le nom d'attaque réfléchie permettant à l'attaquant de couvrir ces traces et de rendre l'attaque plus puissante.

    Teardrop Attack : elle consiste à envoyer des paquets IP invalides à la cible, ces paquets peuvent être fragmentes, ou contenir des données corrompues ou qui dépassent la taille réglementaire. Sur certains systèmes comme les Windows avant 98 ou les Linux avant 2.0.32, ces paquets ne peuvent être interprétés et rendrons la machine inopérante.

    Les attaques distribuées : la plupart des attaques, citées plus haut, peuvent être exécutés de manière distribuée, on parle de DDoS pour Distributed Denial of Service. Les attaques distribuées se basent sur ce fait : attaquer une cible toute seule se traduit souvent par un échec, alors que si un grand nombre de machines s'attaquent à la même cible alors l'attaque a plus de chance de réussir.

    Figure 10.9: DDos attaque

    ARP spoof : l'ARP spoof est une attaque très puissante qui permet, en général, de

    sniffer le trafic sur le réseau en s'interposant entre une ou des victimes et la passerelle. Elle

    13

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    permet même de sniffer et récupérer des mots de passes sur des connexions sécurisés SSL. L'attaque inonde le réseau avec des trames ARP liant l'adresse physique de l'attaquant avec la passerelle. De cette manière, le cache ARP des victimes est corrompu et tout le trafic est redirige vers le poste de l'attaquant.

    DNS spoof : de la même manière, on peut corrompre le DNS d'une victime. Normalement, ceci permet de rediriger la victime vers des sites pirates que l'on contrôle mais dans le cadre d'un déni service, on corrompt le cache DNS de fausses informations qui rendront impossible l'accès aux sites web.

    IV Spoofing : il existe plusieurs types d'IP Spoofing. La première est dite Blind Spoofing, c'est une attaque "en aveugle". Les paquets étant forgés avec une adresse IP usurpée, les paquets réponses iront vers cette adresse. Il sera donc impossible à l'attaquant de récupérer ces paquets. Il sera obligé de les "deviner". Cependant, il existe une autre technique que le Blind Spoofing. Il s'agit d'utiliser l'option IP Source Routing qui permet d'imposer une liste d'adresses IP des routeurs que doit emprunter le paquet IP. Il suffit que l'attaquant route le paquet réponse vers un routeur qu'il contrôle pour le récupérer. Néanmoins, la grande majorité des routeurs d'aujourd'hui ne prennent pas en compte cette option IP et jettent tous paquets IP l'utilisant.

    Les chevaux de Troie : leur objectif est le plus souvent d'ouvrir une porte dérobée ("backdoor") sur le système cible, permettant par la suite à l'attaquant de revenir à loisir épier, collecter des données, les corrompre, contrôler voire même détruire le système. Certains chevaux de Troie sont d'ailleurs tellement évolués qu'ils sont devenus de véritables outils de prise en main et d'administration à distance.

    Les virus informatiques : un virus informatique peut est « caché » dans un logiciel légitime ou sur un site web et infecte l'ordinateur. Comme tout bon virus, le virus informatique est contagieux. Tous les éléments qui ont été en contact avec celui-ci sont porteurs et contaminent les autres réseaux. Les virus peuvent être classés suivant leur mode de propagation et leurs cibles:

    ? Le virus de boot : il est chargé en mémoire au démarrage et prend le contrôle de l'ordinateur ;

    ? Le virus d'application : ils infectent les programmes exécutables, c'est-à-dire les programmes (.exe, .com ou .sys) en remplaçant l'amorce du fichier, de manière à ce que le virus soit exécuté avant le programme infecté. Puis ces virus rendent la main au programme initial, camouflant ainsi leur exécution aux yeux de l'utilisateur ;

    14

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? La macro virus : il infecte des logiciels de la suite Microsoft Office les documents bureautiques en utilisant leur langage de programmation, qui contaminera tous les documents basés sur lui, lors de leur ouverture.

    Les buffers overflow : un buffer overflow est une attaque très efficace et assez

    compliquée à réaliser. Elle vise à exploiter une faille, une faiblesse dans une application pour exécuter un code arbitraire qui compromettra la cible.

    Le Mail Bombing : elle consiste à envoyer un nombre faramineux d'emails (plusieurs milliers par exemple) à un ou des destinataires. L'objectif étant de :

    ? saturer le serveur de mails ;

    ? saturer la bande passante du serveur et du ou des destinataires ;

    ? rendre impossible aux destinataires de continuer à utiliser l'adresse électronique.

    Social Engineering : c'est une technique qui a pour but d'extirper des informations à

    des personnes. Contrairement aux autres attaques, elle ne nécessite pas de logiciel. La seule force de persuasion est la clé de voûte de cette attaque. Il y a quatre grandes méthodes de social engineering : par téléphone, par lettre, par internet et par contact direct.

    1.2.9. Les moyens de sécuriser un réseau

    La sécurité d'un réseau c'est la sécurité des éléments qui le compose, il existe plusieurs mécanismes et dispositifs de sécurité, parmi eux :

    Les Antivirus

    Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des logiciels malveillants. Ceux-ci peuvent se baser sur l'exploitation de failles de sécurité, mais il peut également s'agir de programmes modifiant ou supprimant des fichiers, que ce soit des documents de l'utilisateur de l'ordinateur infecté, ou des fichiers nécessaires au bon fonctionnement de l'ordinateur. Un antivirus vérifie les fichiers et courriers électroniques, les secteurs de boot (pour détecter les virus de boot), mais aussi la mémoire vive de l'ordinateur, les médias amovibles (clefs USB, CD, DVD, etc.), les données qui transitent sur les éventuels réseaux (dont internet), etc.

    Les mises à jour système

    Pour éviter les dénis de services applicatifs, on doit maintenir tous les logiciels de son

    système à jour puisque les mises à jour permettent souvent de corriger des failles logicielles,

    15

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    qui peuvent être utilisées par un attaquant, pour mettre l'application hors service, ou pire, le serveur. Il est donc impératif de mettre son système à jour très régulièrement C'est un moyen très simple à mettre en place pour se protéger des attaques applicatives. Editer des options dans les fichiers de configuration qui stockent des données concernant chaque connexion reçue par la machine telle l'adresse IP source, le numéro de port, l'âge de la connexion. En analysant ces données, on peut facilement détecter les comportements suspects et éviter certains types d'attaque.

    Les firewalls

    En français on dit pare-feu ou garde-barrière, c'est un système permettant de protéger un ordinateur ou un réseau d'ordinateurs des intrusions provenant d'un réseau tiers (notamment internet). Le pare-feu est un système permettant de filtrer les paquets de données échangés avec le réseau, il s'agit ainsi d'une passerelle filtrante comportant au minimum les interfaces réseaux suivantes :

    · une interface pour le réseau à protéger (réseau interne) ;

    · une interface pour le réseau externe.

    Figure 11.10: Firewall

    Le système firewall est un système logiciel, reposant parfois sur un matériel réseau dédié, constituant un intermédiaire entre le réseau local (ou la machine locale) et un ou plusieurs réseaux externes. Il est possible de mettre un système pare-feu sur n'importe quelle machine et avec n'importe quel système pourvu que :

    · La machine soit suffisamment puissante pour traiter le trafic ;

    · Le système soit sécurisé ;

    · Aucun autre service que le service de filtrage de paquets ne fonctionne sur le serveur.

    16

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Fonctionnement d'un système pare-feu

    C'est un ensemble de différents composants matériels (physique) et logiciels (logique) qui contrôlent le trafic intérieur/extérieur selon une politique de sécurité. Un système pare-feu fonctionne la plupart du temps grâce à des règles de filtrage indiquant les adresses IP autorisées à communiquer avec les machines aux réseaux, il s'agit ainsi d'une passerelle filtrante. Il permet d'une part de bloquer des attaques ou connexions suspectes d'accéder au réseau interne.

    D'un autre côté, un firewall sert dans de nombreux cas également à éviter la fuite non contrôlée d'informations vers l'extérieur. Il propose un véritable contrôle sur le trafic réseau de l'entreprise, Il permet donc d'analyser, de sécuriser et de gérer le trafic réseau.

    Architecture DMZ

    Une DMZ (Demilitarized zone) est une zone d'un réseau d'entreprise, située entre le réseau local et Internet, derrière le pare-feu. Il s'agit d'un réseau intermédiaire regroupant des serveurs ou services (HTTP, DHCP, mails, DNS, etc.). Ces serveurs devront être accessibles depuis le réseau interne de l'entreprise et, pour certains, depuis les réseaux externes. Le but est ainsi d'éviter toute connexion directe au réseau interne.

    Figure 12.11: Architecture DMZ

    Les VPN

    Dans les réseaux informatiques, le réseau privé virtuel (Virtual Private Network en anglais, abrégé en VPN) est une technique permettant aux postes distants de communiquer de manière sûre, tout en empruntant des infrastructures publiques (internet). Un VPN repose sur un protocole, appelé protocole de tunnelisation, c'est-à-dire un protocole permettant aux données passant d'une extrémité à l'autre du VPN d'être sécurisées par des algorithmes de cryptographie.

    17

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 13.12: Principe d'un VPN

    Les IDS

    La détection d'intrusion est définie comme étant un mécanisme écoutant le trafic réseau de manière furtive, afin de repérer des activités anormales ou suspectes et permettant ainsi d'avoir une stratégie de prévention sur les risques d'attaques. Il existe différents types d'IDS, que l'on classe comme suit :

    · Système de détection d'intrusion réseau (NIDS) : un NIDS analyse de manière passive les flux transitant sur le réseau et détecte les intrusions en temps réel, en d'autres termes, un NIDS écoute tout le trafic réseau, puis analyse et génère des alertes si des paquets semblent dangereux ;

    · Système de détection d'intrusion de type hôte (HIDS) : un HIDS est généralement placé sur des machines sensibles, susceptibles de subir des attaques et possédant des données sensibles pour l'entreprise ;

    · Système de détection d'intrusion de type hybride : il s'agit d'un système capable de réunir des informations provenant d'un système RIDS ainsi que d'un NIDS. Généralement utilisé dans un environnement décentralisé, il permet de réunir les informations de diverses sondes placées sur le réseau.

    Figure 14.13: Système de détection d'intrusions

    18

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Les IPS

    L'IPS est un Système de Prévention/Protection contre les intrusions et non plus seulement de reconnaissance et de signalisation des intrusions comme la plupart des IDS. La principale différence entre un IDS (réseau) et un IPS (réseau) tient principalement en deux caractéristiques :

    · le positionnement en coupure sur le réseau de l'IPS et non plus seulement en écoute sur le réseau pour l'IDS (traditionnellement positionné comme un sniffer sur le réseau) ;

    · la possibilité de bloquer immédiatement les intrusions et quel que soit le type de protocole de transport utilisé et sans reconfiguration d'un équipement tierce, ce qui induit que l'IPS est constitué en natif d'une technique de filtrage de paquets et de moyens de blocages.

    Figure 15.14: Système de prévention d'intrusions

    La Sensibilisation du personnel

    Les politiques de sécurité informatique des entreprises s'appuient généralement sur des techniques de protection et des plans d'urgence mais négligent souvent un aspect : le personnel. La stratégie idéale dans le domaine de la sécurité informatique ne se limite pas à des techniques de protection et à des consignes complexes. Elle nécessite également une formation appropriée du personnel. Faute d'une sensibilisation de ce dernier, les mesures de sécurité informatique ne sont qu'à moitiés efficaces.

    Audits de sécurité

    19

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Un audit de sécurité consiste à s'appuyer sur un tiers de confiance (généralement une société spécialisée en sécurité informatique) afin de valider les moyens de protection mis en oeuvre, au regard de la politique de sécurité. L'objectif de l'audit est ainsi de vérifier que chaque règle de la politique de sécurité est correctement appliquée et que l'ensemble des dispositions prises forme un tout cohérent. Un audit de sécurité permet de s'assurer que l'ensemble des dispositions prises par l'entreprise sont réputées sûres.

    Contrôle d'accès

    L'accès au système d'information exige une identification et une authentification préalable. L'utilisation de comptes partagés ou anonymes est interdite. Des mécanismes permettant de limiter les services, les données, les privilèges auxquels à accès l'utilisateur en fonction de son rôle dans l'organisation doit être mis en oeuvre.

    Les accès aux serveurs et aux réseaux doivent être journalisés L'attribution et la modification des accès et privilèges d'un service doivent être validées par le propriétaire du service.

    Pour les services sensibles, un inventaire régulièrement mis à jour en sera dressé. Il importe de bien différencier les différents rôles et de n'attribuer que les privilèges nécessaires.

    Les protocoles de sécurité

    Un protocole est un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Sur Internet, les protocoles utilisés font partie d'une suite de protocoles TCP/IP, tel que la plus part de ces protocoles ne sont pas sécurisés lors de la transmission des données sur le réseau. Les protocoles sécurisés ont été mis au point, afin d'encapsuler les messages dans des paquets de données chiffrées. On cite parmi ces protocoles les suivants :

    ? Protocole SSH (Secure Shell) : c'est un protocole qui permet à des services TCP/IP

    d'accéder à une machine à travers une communication chiffrée appelée « tunnel » ; ? Protocole SSL (Secure Socket Layer) : c'est un procédé de sécurisation des échanges,

    il a été conçu pour assurer la sécurité des transactions effectuées via Internet ;

    ? Protocole HTTPS : HTTPS n'est rien d'autre que HTTP encapsulé dans la couche de chiffrement TLS (Transport Layer Security). En général le serveur est authentifié par un certificat X509, l'internaute peut s'authentifier par l'intermédiaire d'un serveur RADIUS, ou par un des autres procédés proposés par les logiciels serveur ;

    20

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · IPSec (IP Security) : IPSec (Internet Protocol Security) est conçu pour sécuriser le protocole IPv6. La lenteur de déploiement de ce dernier a imposé une adaptation d'IPSec à l'actuel protocole IPv4. On établit un tunnel entre deux sites, et IPSec gère l'ensemble des paramètres de sécurité associés à la communication. Deux machines passerelles, situées à chaque extrémité du tunnel, négocient les conditions de l'échange des informations : quels algorithmes de chiffrement, quelles méthodes de signature numérique ainsi que les clés utilisées pour ces mécanismes. La protection est apportée à tous les trafics et elle est transparente aux différentes applications.

    Figure 16.15: Un tunnel IPSec entre deux sites d'entreprise

    Les Algorithme de chiffrements

    Il existe deux grandes familles d'algorithmes de chiffrements, ceux à clés symétriques et ceux à clés asymétriques.

    · Algorithme de chiffrement symétrique : il consiste à utiliser la même clé pour le chiffrement ainsi que pour le déchiffrement. Il est donc nécessaire que les deux interlocuteurs se soient mis d'accord sur une clé privée, ou ils doivent utiliser un canal sécurisé pour l'échanger.

    · Algorithme de chiffrement asymétrique : c'est une méthode cryptographique faisant intervenir une paire de clés asymétrique (une clé publique et une clé privée). Elle utilise cette paire de clés pour le chiffrement et le déchiffrement. La clé publique est rendue publique et elle est distribuée librement, la clé privée quant à elle n'est jamais distribuée et doit être gardé secrète.

    1.2.10. Mise en oeuvre d'une politique de sécurité

    21

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    La politique de sécurité des systèmes d'information est un plan d'actions définies pour

    maintenir un certain niveau de sécurité. Elle reflète la vision stratégique de la direction de l'entreprise en matière de sécurité des systèmes d'informations (SSI).

    Une politique de sécurité s'élabore à plusieurs niveaux :

    ? sécuriser l'accès aux données de façon logicielle (authentification, contrôle d'intégrité) ; ? sécuriser l'accès physique aux données : serveurs placés dans des salles blindées avec badge d'accès,...

    ? un aspect très important pour assurer la sécurité des données d'une entreprise est de sensibiliser les utilisateurs aux notions de sécurité, de façon à limiter les comportements à risque ;

    ? enfin, il est essentiel pour un responsable de sécurité de s'informer continuellement, des nouvelles attaques existantes, des outils disponibles de façon à pouvoir maintenir à jour son système de sécurité et à combler les brèches de sécurité qui pourraient exister.

    Dans ce chapitre, nous avons présenté un aperçu sur la sécurité informatique dans un réseau et l'importance de la mise en place d'une politique de sécurité en traçant les besoins et les objectifs voulus afin de remédier aux menaces constantes que subi un réseau informatique.

    Ces menaces se manifestent généralement sous forme d'attaques informatiques que nous avons illustrées dans le but de montrer l'intensité de danger. Enfin nous avons proposé quelques solutions existantes afin de se protéger et réduire les risques.

    Cette partie était consacrée à tout ce qui est présentation de l'organisme d'accueil, la problématique, les objectifs, la délimitation du sujet, et les concepts liés à la sécurité informatique. Elle nous a permis de détailler le cadre général de notre travail. Nous allons sans plus tarder nous lancer la présentation de la notion de système de détection d'intrusions puis de système de prévention d'intrusions, ensuite nous allons faire une étude sur quelques solutions disponibles sur le marché et enfin une présentation de la solution choisie.

    II. Cadre conceptuel

    22

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    De nos jours, les systèmes d'informations des entreprises subissent des différents attaques qui peuvent entrainer des pertes conséquentes, vue leurs évolution sur les plans d'échange d'informations d'une part et l'ouverture sur le monde extérieur d'autre part. Alors les systèmes de détection et prévention d'intrusion sont largement répandus pour la sécurité de ces systèmes informatiques puisqu' ils permettent à la fois de détecter et de répondre à une attaque en temps réel ou en hors-ligne.

    En effet, dans cette partie nous allons d'abord présenter la notion de système de détection d'intrusions puis de système de prévention d'intrusions, ensuite nous allons faire une étude sur quelques solutions disponibles sur le marché et enfin une présentation de la solution choisie.

    2.3. Système de détection et de prévention d'intrusions

    La meilleure façon de protéger un réseau ou un système informatique est de détecter les attaques et de se défendre avant même qu'elles ne puissent causer des dommages. Ainsi beaucoup font appel à cet effet aux systèmes de détection d'intrusion (IDS : intrusion detection system) ou aux systèmes de prévention d'intrusion (IPS : intrusion prevention system) les plus polyvalents.

    Dans ce chapitre nous présentons tout d'abord la notion de système de détection

    d'intrusions ainsi que son architecture et ses limites. Nous présentons également la notion de système de prévention d'intrusions ainsi que ses types de réponses aux attaques et ses limites.

    2.3.1. Système de détection d'intrusions (LDS)

    En 1980, James Anderson introduit un nouveau concept de système de détection d'intrusion qui ne connaîtrait un réel départ du domaine qu'en 1987 avec la publication d'un modèle de détection d'intrusion. Par la suite, la recherche s'est développée et la détection d'intrusion est devenue une industrie mature et une technologie éprouvée, pratiquement tous les problèmes simples ont été résolus et aucune grande avancée n'a été effectuée dans ce domaine ces dernières années et les éditeurs de logiciels se concentrent plus sur la perfection des techniques de détection existantes.

    2.3.1.1. Définition

    23

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    La détection des intrusions est le processus de surveillance des événements qui se trouvent dans un système des ordinateurs ou du réseau et les analysant pour détecter les signes des intrusions, défini comme des tentatives pour compromettre la confidentialité, l'intégrité, la disponibilité ou éviter des mécanismes de sécurité de l'ordinateur ou du réseau. L'intrusion est causée par les attaques accédant au système via Internet, autorisée l'utilisateur du système qui essaye de gagner les privilèges supplémentaires pour lesquels ils n'ont pas été autorisés, et autorisé les utilisateurs qui abusent les privilèges donnés. Le système de détection des intrusions est un logiciel ou un matériel qui automatise des surveillances et les processus analysés.

    Les IDS protègent un système contre les attaques, les mauvaises utilisations et les compromis. Ils peuvent également surveiller l'activité du réseau, analyser les configurations du système et du réseau contre toute vulnérabilité, analyser l'intégrité de données et bien plus.

    Selon les méthodes de détection que vous choisissez de déployer, il existe plusieurs avantages directs et secondaires au fait d'utiliser un IDS.

    Un IDS a quatre fonctions principales : l'analyse, la journalisation, la gestion et

    l'action.

    ? Analyse: analyse des journaux du système pour identifier des intentions dans la masse de données recueillie par l'IDS. Il y a deux méthodes d'analyses : L'une basée sur les signatures d'attaques, et l'autre sur la détection d'anomalies.

    ? Journalisation: enregistrement des évènements dans un fichier de log.

    ? Exemples d'évènements : arriver d'un paquet, tentative de connexion.

    ? Gestion: les IDS doivent être administrés de manière permanente. On peut assimiler un IDS à une caméra de sécurité.

    ? Action: alerter l'administrateur quand une attaque dangereuse est détectée.

    2.3.1.2. Présentation d'un système de détection d'intrusions

    Dans cette section nous allons décrire les systèmes de détection d'intrusions.

    2.3.1.2.1. Architecture d'un IDS

    Plusieurs schémas ont été proposés pour décrire les composants d'un système de

    détection d'intrusions. Parmi eux, nous avons retenu celui issu des travaux d'Intrusions Detection exchange formatWorking Group (IDWG) de l'Internet Engineering Task Force

    24

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    (IETF) comme base de départ, car il résulte d'un large consensus parmi les intervenants du domaine.

    L'objectif des travaux du groupe IDWG est la définition d'un standard de

    communication entre certains composants d'un système de détection d'intrusions. La figure illustre ce modèle et permet d'introduire un certain nombre de concepts :

    Figure 3.1 : Modèle générique de la détection d'intrusions proposé par l'IDWG

    L'architecture IDWG d'un système de détection d'intrusions contient des capteurs qui

    envoient des événements à un analyseur. Les capteurs couplés avec un analyseur forment une sonde, cette dernière envoie des alertes vers un manager qui la notifie à un opérateur humain.

    · Administrateur : personne chargée de mettre en place la politique de sécurité, et par conséquent, de déployer et configurer les IDS.

    · Alerte : message formaté émis par un analyseur s'il trouve des activités intrusives dans une source de données.

    · Analyseur : c'est un outil logiciel qui met en oeuvre l'approche choisie pour la détection (comportementale ou par scénarios), il génère des alertes lorsqu'il détecte une intrusion.

    · Capteur : logiciel générant des événements en filtrant et formatant les données brutes provenant d'une source de données.

    · Evénement : message formaté et renvoyé par un capteur. C'est l'unité élémentaire utilisée pour représenter une étape d'un scénario d'attaques connu.

    25

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Manager : composant d'un IDS permettant à l'opérateur de configurer les différents éléments d'une sonde et de gérer les alertes reçues et éventuellement la réaction.

    · Notification : la méthode par laquelle le manager d'IDS met au courant l'opérateur de l'occurrence d'alerte.

    · Opérateur : personne chargée de l'utilisation du manager associé à l'IDS. Elle propose ou décide de la réaction à apporter en cas d'alerte. C'est, parfois, la même personne que l'administrateur.

    · Réaction : mesures passives ou actives prises en réponse à la détection d'une attaque, pour la stopper ou pour corriger ses effets.

    · Sonde : un ou des capteurs couplés avec un analyseur.

    · Source de données : dispositif générant de l'information sur les activités des entités du système d'information.

    Dans ce modèle qui représente le processus complet de la détection ainsi que l'acheminement des données au sein d'un IDS. L'administrateur configure les différents composants (capteur(s), analyseurs(s), manager(s)) selon une politique de sécurité bien définie. Les capteurs accèdent aux données brutes, les filtrent et les formatent pour ne renvoyer que les événements intéressants à un analyseur. Les analyseurs utilisent ces événements pour décider de la présence ou non d'une intrusion et envoient dans le cas échéant une alerte au manager, qui notifie l'opérateur humain, une réaction éventuelle peut être menée automatiquement par le manager ou manuellement par l'opérateur.

    2.3.1.2.2. Vocabulaire de la détection d'intrusions

    La détection d'intrusions utilise un vocabulaire bien définis et qui est comme suit :

    · Attaque ou intrusion : action qui permet de violer la politique de sécurité ;

    · Audit de sécurité : c'est l'ensemble des mécanismes permettant la collecte d'informations sur les actions faites sur un système d'information ;

    · Détection d'intrusions : recherche de traces laissées par une intrusion dans les données produites par une source ;

    · Faux positif : alerte en l'absence d'attaque ;

    · Faux négatif : absence d'alerte en présence d'attaque ;

    26

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Vulnérabilité : faille de conception, d'implémentation ou de configuration d'un système logiciel ou matériel ;

    · Log (trace d'audit) : c'est un fichier système à analyser ;

    · Exploit : terme utilisé pour désigner un programme d'attaque ;

    · Scénario : suite constituée des étapes élémentaires d'une attaque ;

    · Signature : suites des étapes observables d'une attaque, utilisée par certains analyseurs pour rechercher dans les activités des entités, des traces de scénarios d'attaques connus ;

    · Système de détection d'intrusions : ensemble constitué d'un ou plusieurs capteurs, un ou plusieurs analyseurs et un ou plusieurs managers ;

    · Corrélation : c'est l'interprétation conceptuelle de plusieurs événements (alertes) visant à leur assigner une meilleure sémantique et à réduire la quantité globale d'événements (d'alertes).

    2.3.1.2.3. Emplacements d'un système de détection d'intrusions

    Il existe plusieurs endroits stratégiques où il convient de placer un IDS.

    Le schéma suivant illustre un réseau local ainsi que les positions que peut y prendre

    un IDS :

    Figure 3.2: endroits typiques pour un système de détection d'intrusions

    27

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Position (1): sur cette position, l'IDS va pouvoir détecter l'ensemble des attaques frontales, provenant de l'extérieur, en amont du firewall. Ainsi, beaucoup trop d'alertes seront remontées ce qui rendra les logs difficilement consultables ;

    · Position (2): si l'IDS est placé sur la DMZ, il détectera les attaques qui n'ont pas été filtrées par le firewall et qui relèvent d'un certain niveau de compétence. Les logs seront ici plus clairs à consulter puisque les attaques bénins ne seront pas recensées ;

    · Position (3): l'IDS peut ici rendre compte des attaques internes, provenant du réseau local de l'entreprise. Il peut être judicieux d'en placer un à cet endroit étant donné le fait que 80% des attaques proviennent de l'intérieur. De plus, si des trojans ont contaminé le parc informatique (navigation peu méfiante sur internet) ils pourront être ici facilement identifiés pour être ensuite éradiqués.

    2.3.1.2.4. Classification des systèmes de détection d'intrusions

    Nous pouvons classifier les systèmes de détection d'intrusions selon cinq critères :

    · la source des données à analyser ;

    · le lieu de l'analyse des données ;

    · la fréquence de l'analyse ;

    · le comportement en cas d'attaque détectée ;

    · la méthode de détection utilisée.

    ? Sources des données à analyser

    Les sources possibles de données à analyser sont une caractéristique essentielle des systèmes de détection d'intrusions puisque ces données constituent la matière première du processus de détection. Les données proviennent soit de logs générés par le système d'exploitation, soit de logs applicatifs, soit d'informations provenant du réseau, soit encore d'alertes générées par d'autres IDS.

    o Source d'information système

    Un système d'exploitation fournit généralement plusieurs sources d'information :

    · Commandes systèmes : presque tous les systèmes d'exploitation fournissent des commandes pour avoir un « instantané » de ce qui se passe ;

    28

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? Accounting : l'accounting fournit de l'information sur l'usage des ressources partagées par les utilisateurs (temps processeur, mémoire, espace disque, débit réseau, applications lancées, ...) ;

    ? Audit de sécurité : tous les systèmes d'exploitation modernes proposent ce service pour fournir des événements système, les associer à des utilisateurs et assurer leur collecte dans un fichier d'audit. On peut donc potentiellement disposer d'informations sur tout ce que font (ou ont fait) les utilisateurs : accès en lecture à un fichier, exécution d'une application, etc.

    o Source d'information réseau

    Des dispositifs matériels ou logiciels (snifer) permettent de capturer le trafic réseau. Cette source d'information est particulièrement adaptée lorsqu'il s'agit de rechercher les attaques en déni de service qui se passent au niveau réseau ou les tentatives de pénétration à distance. Le processus d'interception des paquets peut être rendu quasiment invisible pour l'attaquant car on peut utiliser une machine dédiée juste reliée à un brin du réseau, configurée pour ne répondre à aucune sollicitation extérieure et dont personne ne soupçonnera l'existence. Néanmoins, il est difficile de garantir l'origine réelle de l'attaque que l'on a détectée car il est facile de masquer son identité en modifiant les paquets réseau.

    o Source d'information applicative

    Les applications peuvent également constituer une source d'information pour les IDS. Les capteurs applicatifs sont de deux natures :

    ? Capteur interne : le filtrage sur les activités de l'application est alors exécuté par le code de l'application ;

    ? Capteur externe : le filtrage se fait à l'extérieur de l'application. Plusieurs méthodes sont utilisées : un processus externe peut filtrer les logs produits par l'application ou bien l'exécution de l'application peut être interceptée (au niveau de ses appels de librairies ou d'un proxy applicatif).

    Prendre ses informations directement au niveau de l'application présente plusieurs avantages. Premièrement, les données interceptées ont réellement été reçues par l'application.

    Il est donc difficile d'introduire une désynchronisation entre ce que voit passer le capteur applicatif et ce que reçoit l'application contrairement à ce qu'il peut se passer avec les capteurs réseau. Ensuite, cette source d'information est généralement de plus haut niveau que

    29

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    les sources système et réseau. Cela permet donc de filtrer des événements qui ont une sémantique plus riche. Finalement, si l'on prend l'exemple d'une connexion web chiffrée par SSL, un capteur réseau ne verra passer que des données pseudo-aléatoires tandis qu'un capteur associé au serveur web pourra analyser le texte en clair de la requête.

    o Source d'information basée IDS

    Une autre source d'information, souvent de plus haut niveau que les précédentes, peut être exploitée. Il s'agit des alertes remontées par des analyseurs provenant d'un IDS. Chaque alerte synthétise déjà un ou plusieurs événements intéressants du point de vue de la sécurité.

    Elles peuvent être utilisées par un IDS pour déclencher une analyse plus fine à la suite d'une indication d'attaque potentielle. De surcroît, en corrélant plusieurs alertes, on peut parfois détecter une intrusion complexe de plus haut niveau. Il y aura alors génération d'une nouvelle alerte plus synthétique que l'on qualifie de méta-alerte.

    ? Localisation de l'analyse des données

    On peut également faire une distinction entre les IDS en se basant sur la localisation réelle de l'analyse des données :

    ? Analyse centralisée : certains IDS ont une architecture multi-capteurs (ou multisondes). Ils centralisent les événements (ou alertes) pour analyse au sein d'une seule machine. L'intérêt principal de cette architecture est de faciliter la corrélation entre événements puisqu'on dispose alors d'une vision globale. Par contre, la charge des calculs (effectués sur le système central) ainsi que la charge réseau (due à la collecte des événements ou des alertes) peuvent être lourdes et risquent de constituer un goulet d'étranglement ;

    ? Analyse locale : si l'analyse du flot d'événements est effectuée au plus près de la source de données (généralement en local sur chaque machine disposant d'un capteur), on minimise le trafic réseau et chaque analyseur séparé dispose de la même puissance de calcul. En contrepartie, il est impossible de croiser des événements qui sont traités séparément et l'on risque de passer à côté de certaines attaques distribuées.

    ? Fréquence de l'analyse

    Une autre caractéristique des systèmes de détection d'intrusions est leur fréquence d'utilisation :

    30

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? Périodique : certains systèmes de détection d'intrusions analysent périodiquement les fichiers d'audit à la recherche d'une éventuelle intrusion ou anomalie passée. Cela peut être suffisant dans des contextes peu sensibles (on fera alors une analyse journalière, par exemple) ;

    ? Continue : la plupart des systèmes de détection d'intrusions récents effectue leur analyse des fichiers d'audit ou des paquets réseau de manière continue afin de proposer une détection en quasi temps-réel. Cela est nécessaire dans des contextes sensibles (confidentialité) et/ou commerciaux (confidentialité, disponibilité). C'est toutefois un processus coûteux en temps de calcul car il faut analyser à la volée tout ce qui se passe sur le système.

    ? Comportement après détection

    Une autre façon de classer les systèmes de détection d'intrusions consiste à les classer par type de réaction lorsqu'une attaque est détectée :

    ? Passive : la plupart des systèmes de détection d'intrusions n'apportent qu'une réponse passive à l'intrusion. Lorsqu'une attaque est détectés, ils génèrent une alarme et notifient l'administrateur système par e-mail, message dans une console, voire même par beeper. C'est alors lui qui devra prendre les mesures qui s'imposent ;

    ? Active : d'autres systèmes de détection d'intrusions peuvent, en plus de la notification à l'opérateur, prendre automatiquement des mesures pour stopper l'attaque en cours. Par exemple, ils peuvent couper les connexions suspectes ou même, pour une attaque externe, reconfigurer le pare-feu pour qu'il refuse tout ce qui vient du site incriminé. Des outils tels que RealSecure ou NetProwler proposent ce type de réaction. Toutefois, il apparait que ce type de fonctionnalité automatique est potentiellement dangereux car il peut mener à des dénis de service provoqués par l'IDS. Un attaquant déterminé peut, par exemple, tromper l'IDS en usurpant des adresses du réseau local qui seront alors considérées comme la source de l'attaque par l'IDS. Il est préférable de proposer une réaction facultative à un opérateur humain (qui prend la décision finale).

    ? Méthode de détection

    Deux approches de détection ont été proposées :

    31

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? L'approche comportementale : cette approche se base sur l'hypothèse selon laquelle nous pouvons définir un comportement normal de l'utilisateur et que toute déviation par rapport à celui-ci est potentiellement suspect ;

    ? L'approche par signature : elle s'appuie sur un modèle constitué des sections interdites dans le système d'informatique, ce modèle s'appuie sur la connaissance des techniques employées par les attaquants : on tire des scénarios d'attaque et on recherche dans les traces d'audit leur éventuelle survenue.

    o L'approche comportementale

    Les détecteurs d'intrusions comportementaux reposent sur la création d'un modèle de référence représentant le comportement de l'entité surveillée en situation de fonctionnement normal. Ce modèle est ensuite utilisé durant la phase de détection afin de pouvoir mettre en évidence d'éventuelles déviations comportementales. Pour cela, le comportement de l'entité surveillée est comparé à son modèle de référence. Une alerte est levée lorsqu'une déviation trop importante (notion de seuil) vis-à-vis de ce modèle de comportement normal est détectée.

    Le principe de cette approche est de considérer tout comportement n'appartenant pas au modèle de comportement normal comme une anomalie symptomatique d'une intrusion ou d'une tentative d'intrusion.

    On peut distinguer deux catégories de profils :

    ? Profils construits par apprentissage

    Parmi les méthodes proposées pour construire les profils par apprentissage, les plus marquantes sont les suivantes :

    ? Méthode statistique : le profil est calculé à partir de variables considérées comme aléatoires et échantillonnées à intervalles réguliers. Ces variables peuvent être le temps processeur utilisé, la durée et l'heure des connexions, etc. Un modèle statistique est alors utilisé pour construire la distribution de chaque variable et pour mesurer, au travers d'une grandeur synthétique, le taux de déviation entre un comportement courant et le comportement passé ;

    ? Système expert : ici, c'est une base de règles qui décrit statistiquement le profil de l'utilisateur au vu de ses précédentes activités. Son comportement courant est comparé aux règles, à la recherche d'une anomalie. La base de règles est rafraîchie régulièrement ;

    32

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Réseaux de neurones : la technique consiste à apprendre à un réseau de neurones le comportement de l'entité à surveiller. Par la suite, lorsqu'on lui fournira en entrée les actions courantes effectuées par l'entité, il devra décider de leur normalité ;

    · Analyse de signatures : Il s'agit de construire un modèle de comportement normal des services réseaux. Le modèle consiste en un ensemble de courtes séquences d'appels système représentatifs de l'exécution normale du service considéré. Des séquences d'appels étrangères à cet ensemble sont alors considérées comme l'exploitation potentielle d'une faille du service.

    Pour toutes ces méthodes, le comportement de référence utilisé pour l'apprentissage étant rarement exhaustif, on s'expose à des risques de fausses alarmes (faux positifs). De plus, si des attaques ont été commises durant cette phase, elles seront considérées comme normales (risque de faux négatifs).

    ? Profils spécifiant une politique de sécurité (policy-based)

    Pour les IDS dits policy-based, il n'y a pas de phase d'apprentissage. Leur comportement de référence est spécifié par une politique de sécurité : la détection d'une intrusion intervient chaque fois que la politique est violée. Le profil est ici une politique de sécurité qui décrit la suite des appels systèmes licites d'une application.

    L'approche comportementale possède un certain nombre d'avantages et d'inconvénients.

    Tableau 1.1: Avantages et inconvénient de l'approche comportementale

     

    Avantages

     

    Inconvénients


    ·


    ·

    L'analyse comportementale n'exige

    pas des connaissances préalables sur les attaques,

    Elle permet la détection de la
    mauvaise utilisation des privilèges ;


    ·

    Les approches comportementales

    produisent un taux élevé des alarmes

    type faux positif en raison des

    comportements imprévisibles des
    utilisateurs et des réseaux ;


    ·

    Elle permet de produire des

    informations qui peuvent être
    employées pour définir des signatures


    ·

    Ces approches nécessitent des phases d'apprentissage pour caractériser les profils de comportement normaux ;

     

    pour l'analyse basée connaissance.

    · Les alarmes génériques par cette
    approche ne sont pas significatives.

     

    33

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    o L'approche par scénarios

    On construit des scénarios d'attaque en spécifiant ce qui est caractéristique de l'attaque

    et qui doit être observé dans les traces d'audit. L'analyse des traces d'audit se fait à la recherche de ces scénarios. Les méthodes proposées à ce jour sont les suivantes :

    · système expert : le système expert comporte une base de règles qui décrit les attaques. Les événements d'audit sont traduits en des faits qui sont interprétables par le système expert. Son moteur d'inférence décide alors si une attaque répertoriée s'est ou non produite ;

    · analyse de signatures : il s'agit là de la méthode la plus en vue actuellement. Des signatures d'attaques sont fournies à des niveaux sémantiques divers selon les outils (de la suite d'appels système aux commandes passées par l'utilisateur en passant par les paquets réseau). Divers algorithmes sont utilisés pour localiser ces signatures connues dans les traces d'audit. Ces signatures sont toujours exprimées sous une forme proche des traces d'audit. Si l'on prend l'exemple des NIDS, les algorithmes de recherche de motifs utilisés permettent d'obtenir de bonnes performances en vitesse de traitement mais génèrent de nombreuses fausses alertes ;

    · automates à états finis : plusieurs IDS utilisent des automates à états finis pour coder le scénario de reconnaissance de l'attaque. Cela permet d'exprimer des signatures complexes et comportant plusieurs étapes. On passe d'un état initial sûr à un état final attaqué via des états intermédiaires. Chaque transition entre états est déclenchée par des conditions sur les événements remontés par les capteurs.

    L'approche par scénario possède un certain nombre d'avantages et d'inconvénients :

    Tableau 2.2: Avantages et inconvénient de l'approche par scénario

     

    Avantages

     

    Inconvénients


    ·

    l'analyse basée connaissance est très efficace pour la détection d'attaque avec un taux très bas des alarmes de type faux positif ;


    ·

    Cette analyse basée connaissance

    permet seulement la détection des

    attaques qui sont connues au

    préalable. Donc, la base de


    ·

    Les alarmes générées sont

    significatives.

     

    connaissances doit être constamment mise à jour avec les signatures des nouvelles attaques ;

     

    34

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ? Le risque que l'attaquant peut influencer sur la détection après la

    reconnaissance des signatures.

     

    2.3.1.2.5. Les différents IDS

    Les différents IDS se caractérisent par leur domaine de surveillance. Celui-ci peut se situer au niveau d'un réseau d'entreprise, d'une machine hôte, d'une application... Nous allons tout d'abord étudier la détection d'intrusion basée sur l'hôte, puis basée sur une application, avant de nous intéresser aux IDS réseaux, NIDS et NNIDS (Network IDS et Node Network IDS).

    ? La détection d'intrusions basée sur l'hôte

    Les systèmes de détection d'intrusions basés sur l'hôte ou RIDS (Rost IDS) analysent exclusivement l'information concernant cet hôte. Comme ils n'ont pas à contrôler le trafic du réseau mais "seulement" les activités d'un hôte ils se montrent habituellement plus précis sur les types d'attaques subies.

    De plus, l'impact sur la machine concernée est sensible immédiatement, par exemple dans le cas d'une attaque réussie par un utilisateur. Ces IDS utilisent deux types de sources pour fournir une information sur l'activité de la machine : les logs et les traces d'audit du système d'exploitation. Chacun a ses avantages : les traces d'audit sont plus précises et détaillées et fournissent une meilleure information alors que les logs qui ne fournissent que l'information essentielle sont plus petits. Ces derniers peuvent être mieux contrôlés et analysés en raison de leur taille, mais certaines attaques peuvent passer inaperçues, alors qu'elles sont détectables par une analyse des traces d'audit.

    Ce type d'IDS possède un certain nombre d'avantages : il est possible de constater immédiatement l'impact d'une attaque et donc de mieux réagir. Grâce à la quantité des informations étudiées, il est possible d'observer les activités se déroulant sur l'hôte avec précision et d'optimiser le système en fonction des activités observées.

    De plus, les RIDS sont extrêmement complémentaires des NIDS. En effet, ils permettent de détecter plus facilement les attaques de type "Cheval de Troie", alors que ce type d'attaque est difficilement détectable par un NIDS. Les RIDS permettent également de détecter des attaques impossibles à détecter avec un NIDS, car elles font partie de trafic crypté.

    35

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Néanmoins, ce type d'IDS possède également ses faiblesses, qui proviennent de ses qualités : du fait de la grande quantité de données générées, ce type d'IDS est très sensible aux attaques de type DoS, qui peuvent faire exploser la taille des fichiers de logs.

    Un autre inconvénient tient justement à la taille des fichiers de rapport d'alertes à examiner, qui est très contraignante pour le responsable sécurité. La taille des fichiers peut en effet atteindre plusieurs Mégaoctets. Du fait de cette quantité de données à traiter, ils sont assez gourmands en CPU et peuvent parfois altérer les performances de la machine hôte.

    Enfin, ils ont moins de facilité à détecter les attaques de type hôte que les IDS réseaux.

    Les HIDS sont en général placés sur des machines sensibles, susceptibles de subir des attaques et possédantes des données sensibles pour l'entreprise. Les serveurs, web et applicatifs, peuvent notamment être protégés par un HIDS.

    ? Détection d'Intrusions basée sur une application

    Les IDS basés sur les applications sont un sous-groupe des IDS hôtes. Ils contrôlent l'interaction entre un utilisateur et un programme en ajoutant des fichiers de log afin de fournir de plus amples informations sur les activités d'une application particulière. Puisque vous opérez entre un utilisateur et un programme, il est facile de filtrer tout comportement notable. Un ABIDS se situe au niveau de la communication entre un utilisateur et l'application surveillée.

    L'avantage de cet IDS est qu'il lui est possible de détecter et d'empêcher des commandes particulières dont l'utilisateur pourrait se servir avec le programme et de surveiller chaque transaction entre l'utilisateur et l'application. De plus, les données sont décodées dans un contexte connu, leur analyse est donc plus fine et précise.

    Par contre, du fait que cet IDS n'agit pas au niveau du noyau, la sécurité assurée est plus faible, notamment en ce qui concerne les attaques de type "Cheval de Troie". De plus, les fichiers de log générés par ce type d'IDS sont des cibles faciles pour les attaquants et ne sont pas aussi sûrs, par exemple, que les traces d'audit du système.

    Ce type d'IDS est utile pour surveiller l'activité d'une application très sensible, mais son utilisation s'effectue en général en association avec un HIDS. Il faudra dans ce cas contrôler le taux d'utilisation CPU des IDS afin de ne pas compromettre les performances de la machine.

    ? La Détection d'Intrusions Réseau

    Le rôle essentiel d'un IDS réseau est l'analyse et l'interprétation des paquets circulant

    sur ce réseau. L'implantation d'un NIDS sur un réseau se fait de la façon suivante : des capteurs

    36

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    sont placés aux endroits stratégiques du réseau et génèrent des alertes s'ils détectent une attaque. Ces alertes sont envoyées à une console sécurisée, qui les analyse et les traites éventuellement. Cette console est généralement située sur un réseau isolé, qui relie uniquement les capteurs et la console.

    Les avantages des NIDS sont les suivants : les capteurs peuvent être bien sécurisés puisqu'ils se contentent d'observer le trafic et permettent donc une surveillance discrète du réseau, les attaques de type scans sont facilement détectées, et il est possible de filtrer le trafic.

    Les NIDS sont très utilisés et remplissent un rôle indispensable, mais ils présentent néanmoins de nombreuses faiblesses. En effet, la probabilité de faux négatifs (attaques non détectées comme telles) est élevée et il est difficile de contrôler le réseau entier. De plus, ils doivent principalement fonctionner de manière cryptée d'où une complication de l'analyse des paquets. Pour finir, à l'opposé des IDS basés sur l'hôte, ils ne voient pas les impacts d'une attaque.

    ? Les IDS hybrides

    Les IDS hybrides rassemblent les caractéristiques des NIDS et RIDS. Ils permettent, en un seul outil, de surveiller le réseau et les terminaux. Les sones sont placés en des points stratégiques, et agissent comme NIDS et/ou RIDS suivant leurs emplacements. Toutes ces sondes remontent alors les alertes à une machine qui va centraliser le tout, et lier les informations d'origines multiples. Ainsi, on comprend que les IDS hybrides sont basés sur une architecture distribuée, ou chaque composant unifie son format d'envoi cela permet de communiquer et d'extraire des alertes plus pertinentes.

    Les avantages des IDS hybrides sont multiples :

    ? moins de faux positifs ;

    ? meilleure corrélation (la corrélation permet de générer de nouvelles alertes à partir de celle existantes) ;

    ? possibilité de réaction sur les analyseurs.

    Si on compare les RIDS et NIDS, les RIDS présente un avantage considérable par rapport à un NIDS dans le cas où le trafic est crypté. En effet, un NIDS n'a pas connaissance des clés de cryptage et ne peut appliquer ses algorithmes de détection au niveau des données chiffrées. La détection est effectuée à l'extrémité de la chaine de communication, une fois le flux est décrypté. Ceci est réalisé en mettant en oeuvre un agent RIDS directement sur le serveur

    37

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    cible. Les flux chiffrés sont ainsi décodés par la cible et transmis ensuite au monteur d'analyse de l'NIDS.

    2.3.1.4. Avantages et limites d'un IDS

    Tableau 3.3 : Avantages et limites d'un IDS

     

    Avantages

     
     

    Limites


    ·

    détecter les tentatives de découvertes

     


    ·

    nombreux faux positifs ;

     

    du réseau ;

     


    ·

    configuration complexe et longue ;


    ·

    détecter dans certains cas, si l'attaque a réussi ou non ;

     


    ·

    nombreux faux positifs après

    configuration ;


    ·

    détecter le Dénis de Service ;

     


    ·

    pas de connaissance de la plate-


    ·

    détecter le niveau d'infection du

     
     

    forme ;

     

    système informatique et les zones

     


    ·

    de ses vulnérabilités ;

     

    réseaux touchées ;

     


    ·

    du contexte métier ;


    ·

    repérer les machines infectées ;

     


    ·

    les attaques applicatives sont


    ·

    alerter de façon centrale pour toutes

     
     

    difficilement détectables ;

     

    les attaques ;

     


    ·

    injection SQL ;


    ·

    réagir aux attaques et corriger les

     


    ·

    exploitation de CGI mal conçus ;

     

    problèmes éventuels ;

     


    ·

    des évènements difficilement


    ·

    etc.

     

    détectables ;

    · scans lents / distribués ;

    · canaux cachés / tunnels ;

    · pollution des IDS ;

    · consommation des ressources de
    l'IDS ;

    · perte de paquets ;

    · déni de service contre l'IDS /
    l'opérateur ;

    · une attaque réelle peut passer
    inaperçue ;

    · attaque contre l'IDS lui-même ;

    · ils ne peuvent pas compenser les trous

    de sécurité dans les protocoles
    réseaux ;

    · ils ne peuvent pas compenser des

    manques significatifs dans votre
    stratégie de sécurité, votre politique

    de sécurité ou votre architecture de
    sécurité.

     

    2.3.2. Systèmes de prévention d'intrusions (IPS)

    38

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    IPS est un autre concept qui a fait son apparition au début des années 2000 sous l'idée qu'un système de détection d'intrusion peut certes détecter des attaques contre un réseau mais ne peut empêcher l'intrusion. Cela a mené certaines entreprises utilisatrices à se poser la question : pourquoi s'investir dans une solution de détection des intrusions si on ne peut pas empêcher l'intrusion ? La réaction des fournisseurs a été rapide et c'est ainsi que le concept IPS a vu le jour.

    2.3.2.1. Définition

    Un système de prévention d'intrusion est un ensemble de composants logiciels et/ou

    matériels dont la fonction principale est d'empêcher toute activité suspecte détectée au sein d'un système.

    2.3.2.2. Les différents IPS

    Il existe trois types de systèmes de préventions d'intrusion :

    ? système de prévention d'intrusion réseau (NIPS) ;

    ? système de prévention d'intrusion de type hôte (HIPS) ; ? système de prévention d'intrusion kernel (KIPS).

    2.3.2.2.1. Système de prévention d'intrusion réseau (NIPS)

    Un NIPS est un logiciel ou matériel connecté directement à un segment du réseau.il a comme rôle d'analyser les tous les paquets circulant dans ce réseau. La principale différence entre un NIDS et un NIPS tient principalement en deux caractéristiques: le positionnement en coupure sur le réseau du NIPS et non plus seulement en écoute comme pour le NIDS et la possibilité de bloquer immédiatement les intrusions et ce quel que soit le type de protocole de transport utilisé et sans reconfiguration d'un équipement tierce. Ce qui induit que le NIPS est constitué d'une technique de filtrage de paquets et de moyens de blocage.

    ? Fonctionnement d'un NPIS

    Le NIPS combine les caractéristiques d'un IDS standard avec celles d'un firewall. On le qualifie parfois de firewall à inspection en profondeur (deep inspection).

    39

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Comme avec un firewall, le NIPS a au minimum deux interfaces réseau, une interne et une externe. Les paquets arrivent par une des interfaces et sont passés au moteur de détection.

    L'IPS fonctionne pour le moment comme un IDS en déterminant si oui ou non le paquet est malveillant. Cependant, en plus de déclencher une alerte dans le cas où il détecte un paquet suspect, il rejettera le paquet et marquera cette session suspecte. Quand les paquets suivants de cette session arriveront à l'IPS ils seront rejetés.

    Les NIPS sont déployés en ligne avec le segment du réseau à protéger, du cout toutes les données qui circulent entre le segment surveillé et le reste du réseau sont forcés de passer par le NIPS. Un NIPS déclenche des alarmes du type ` tel ou tel trafic a été détecter en train d'essayer d'attaquer ce système et a été bloqué'.

    2.3.2.2.2. Système de prévention d'intrusion de type hôte (HIPS)

    Le système de prévention des intrusions sur l'hôte (HIPS) détecte toutes les activités malveillantes sur l'hôte, ce qui permet de protéger le système à différents niveaux.

    Si un attaquant obtient un accès système shell et essaye d'ajouter un compte utilisateur

    pour se connecter au système par la suite, le système de prévention des intrusions sur l'hôte (HIPS) détecte les fichiers système modifiés et avertit l'administrateur.

    Si un pirate a obtenu l'accès au système et essaie d'installer un rootkit sur l'espace

    utilisateur en remplaçant plusieurs utilitaires systèmes, HIPS détecte les fichiers système modifiés et avertit l'administrateur.

    2.3.2.2.3. Système de prévention d'intrusion kernel (KIPS)

    Grâce à un KIPS, tout accès suspect peut être bloqué directement par le noyau, empêchant ainsi toute modification dangereuse pour le système. Le KIPS peut reconnaître des motifs caractéristiques du débordement de mémoire, et peut ainsi interdire l'exécution du code. Le KIPS peut également interdire l'OS d'exécuter un appel système qui ouvrirait un shell de commandes .Puisqu'un KIPS analyse les appels systèmes, il ralentit l'exécution. C'est pourquoi ce sont des solutions rarement utilisées sur des serveurs souvent sollicités.

    2.3.2.3. Types de réponses aux attaques

    40

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Face à une activité intrusive un IPS peut répondre de deux manières différentes :

    · réponse active ;

    · réponse passive.

    2.3.2.3.1. Réponse active

    Les réponses actives consistent à répondre directement à une attaque, la plupart du temps en générant des requêtes de fin de connexion vers la source de manière à la contraindre à cesser son activité intrusive sur le champ. Dans le cas de données TCP, ceci se traduit par l'envoi de paquets RST qui marquent la fin d'une session aussi bien vers la source que la destination. Dans le cas des protocoles ICMP ou UDP qui n'implémentent pas de machines d'états, il peut s'avérer plus complexe de marquer une fin de session dans la mesure où la notion même de session n'existe pas. Une méthode couramment utilisée consiste à générer des requêtes ICMP Network Unreachable ou UDP Port Unreachable en espérant que la source reçoive ces requêtes et cesse d'émettre.

    Si ces techniques permettent d'interrompre le flux intrusif, elles présentent toutefois des inconvénients majeurs. Le fait de générer des paquets de réponse à une intrusion peut fournir à l'attaquant d'éventuelles informations révélant la présence d'un système de protection actif, tel un IPS. En observant la valeur de certains paramètres des trames de réponse, il est parfois possible de déduire quel est l'IDS qui les a émis à l'exemple les cas de SNORT qui utilisait systématiquement un champ TTL de 253 ou de Dragon avec des numéros de séquences incrémentés de 15 entre 2 trames consécutives. Ces deux problèmes ont été corrigés depuis, mais il en existe certainement d'autres de même nature sur les IDS et IPS actuels. Si un pirate parvient à détecter la nature du système utilisé, il peut arriver à le contourner plus facilement. C'est pourquoi il est souvent préférable de rendre les IDS le plus furtifs possible et de les cantonner dans un rôle de détection passif. L'IPS utilise la génération de paquets pour couper la connexion :

    · TCP Reset ;

    · ICMP Network Unreachable ;

    · UDP Port Unreachable ;

    · Drop.

    41

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Le deuxième problème est l'authenticité de la source de l'attaque (par exemple par le spoofing). Si l'attaquant usurpe l'identité d'un réseau nécessaire à notre entreprise, cette méthode peut nous couper du monde. Une des premières solutions serait de créer une liste blanche de ce qu'il ne faut absolument pas bloquer. La liste blanche bloque le paquet suspect mais ne coupe pas le flux.

    ? Exemple de problème réponse Active

    Figure 3.4 : Réponse active

    En cas de spoofing d'adresse IP, le fait de répondre peut générer des effets de bord indésirables. Considérez le scénario illustré par la figure ci-dessus qui relate une mésaventure arrivée à la Maison Blanche il y a quelques années. Après une phase de reconnaissance, un groupe de pirates a réussi à détecter la présence d'un IDS utilisant des réponses automatiques installé sur le site principal d'une entreprise. Les pirates ont alors attaqué le site de cette entreprise en le saturant de requêtes UDP distribuées dont l'adresse IP source était celle d'un serveur de la Maison Blanche. L'IDS a répondu en générant un grand nombre de paquets de réinitialisation à destination de l'un des serveurs de la Maison Blanche, qui a croulé sous la charge. L'entreprise qui a servi de base de rebond a été reconnue responsable de l'attaque contre la Maison Blanche, tant du point de vue technique que juridique.

    Si une intrusion en provenance du réseau externe est détectée, il est possible toutefois

    de minimiser les risques induits par ces mécanismes de réponse active en n'émettant des paquets

    42

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    de réponse que vers la cible et non pas vers la source. En procédant de cette manière, les flux intrusifs vers la cible sont coupés (de manière impropre toutefois) et le pirate ne peut pas détecter l'IDS.

    2.3.2.3.2. Réponse passive

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

    Le problème n'est pas le même que la réponse active, n'ayant aucune action vis à vis de l'attaquant celui-ci n'est pas aux courant de la présence de l'IPS. En revanche le problème de l'authenticité de la source de l'attaque est le même. Avec un firewall on a aussi la possibilité de ce coupé d'un réseau important.

    En effet, si le pirate usurpe une adresse IP sensible telle qu'un routeur d'accès ou un

    serveur DNS, l'entreprise qui implémente une reconfiguration systématique d'un firewall risque tout simplement de se couper elle-même du monde extérieur.

    2.3.2.4. Les limites d'un IPS

    Les IPS ne sont pas des logiciels miracle qui vous permettront de surfer en toute quiétude sur le net. Voici quelques-uns de leurs inconvénients :

    ? ils bloquent tout ce qui parait infectieux à leurs yeux, mais n'étant pas fiable à 100 % ils peuvent donc bloquer malencontreusement des applications ou des trafics légitimes ; ? ils laissent parfois passer certaines attaques sans les repérer ;

    ? ils sont peu discrets et peuvent être découverts lors de l'attaque d'un pirate qui une fois qu'il aura découvert l'IPS s'empressera de trouver une faille dans ce dernier pour le détourner et arriver à son but.

    Ce chapitre nous a permis de découvrir les systèmes de détection et de prévention d'intrusions leurs fonctionnement et leur capacités. La plupart des IDS sont fiables, ce qui explique qu'ils sont souvent intégrés dans les solutions de sécurité. Les avantages qu'ils présentent face aux autres outils de sécurités les favorisent, mais d'un autre côté cela n'empêche

    43

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    pas que les meilleurs IDS présentent aussi des lacunes et quelques inconvénients. Nous comprenons donc bien qu'ils sont nécessaires mais ne peuvent pas se passer de l'utilisation d'autres outils de sécurité visant à combler leurs défauts. Dans le chapitre suivant nous allons faire une étude sur quelques solutions disponibles et faire une présentation des solutions choisies.

    2.4. Etude des solutions

    Il existe une panoplie des systèmes de détection d'intrusions (IDS) dont certains jouent

    le rôle de systèmes de détection d'intrusions basée sur l'hôte (RIDS), d'autres de systèmes de détection d'intrusions réseau (NIDS) et d'autres les deux à la fois (IDS hybrides).

    2.4.1. Systèmes de détection d'intrusions basée sur l'hôte (HIDS)

    Parmi les systèmes de détection d'intrusions basée sur l'hôte (HIDS), nous pouvons citer : OSSEC, AIDE et Samhain.

    2.4.1.1. OSSEC

    OSSEC signifie Open Source RIDS Security. C'est le principal RIDS disponible et son utilisation est entièrement gratuite. En tant que système de détection d'intrusion basé sur l'hôte, le programme se concentre sur les fichiers journaux de l'ordinateur sur lequel vous l'installez. Il surveille les signatures de somme de contrôle de tous vos fichiers journaux pour détecter les éventuelles interférences. Sous Windows, il gardera un oeil sur toute modification apportée au registre. Sur les systèmes de type Unix, il surveillera toutes les tentatives d'accès au compte root. Bien qu'OSSEC soit un projet open source, il appartient en réalité à Trend Micro, un producteur de logiciels de sécurité de premier plan.

    L'application de surveillance principale peut couvrir un ou plusieurs hôtes et consolider les données dans une console. Bien qu'un agent Windows autorise la surveillance des ordinateurs Windows, l'application principale ne peut être installée que sur un système de type Unix, ce qui signifie Unix, Linux ou Mac OS. Il existe une interface pour OSSEC pour le programme principal, mais celle-ci est installée séparément et n'est plus prise en charge. Les utilisateurs réguliers d'OSSEC ont découvert d'autres applications qui fonctionnent bien comme outil frontal pour l'outil de collecte de données: notamment Splunk, Kibana et Graylog.

    44

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    2.4.1.2. AIDE

    «Advanced Intrusion Detection Environment» (Environnement de détection d'intrusion avancée) est une tâche ardue. Les développeurs de cet IDS ont donc décidé de raccourcir son nom en AIDE. Il s'agit d'un HIDS gratuit qui se concentre sur la détection des rootkits et la comparaison des signatures de fichiers pour les systèmes d'exploitation Unix et similaires, de sorte qu'il fonctionne également sur Mac OS et Linux.

    Le système compile une base de données de données admin à partir de fichiers de configuration lors de sa première installation. Cela crée une base de référence, puis toute modification de configuration peut être annulée à chaque fois que des modifications de paramètres système sont détectées. L'outil comprend à la fois des méthodes de surveillance des signatures et des anomalies. Les vérifications du système sont émises à la demande et ne fonctionnent pas en permanence, ce qui est un peu un manque à gagner avec ce HIDS. Comme il s'agit d'une fonction de ligne de commande, vous pouvez planifier son exécution périodique avec une méthode d'exploitation telle que cron. Si vous voulez des données en temps quasi réel, vous pouvez simplement planifier leur exécution très fréquemment.

    AIDE n'est en réalité qu'un outil de comparaison de données et n'incluant aucun langage de script, vous devez vous appuyer sur vos compétences en scripts shell pour intégrer des fonctions de recherche de données et d'implémentation de règles dans ce HIDS. Peut-être que AIDE devrait plutôt être considéré comme un outil de gestion de la configuration plutôt que comme un système de détection d'intrusions.

    2.4.1.3. Samhain

    Samhain, produit par Samhain Design Labs en Allemagne, est un système de détection d'intrusion basé sur un hôte qui est libre d'utilisation. Il peut être exécuté sur un seul ordinateur ou sur plusieurs hôtes, offrant une collecte de données centralisée sur les événements détectés par les agents exécutés sur chaque ordinateur.

    Les tâches effectuées par chaque agent incluent la vérification de l'intégrité des fichiers, la surveillance des fichiers journaux et des ports. Les processus recherchent des virus de rootkit, des SUID non autorisés (droits d'accès utilisateur) et des processus cachés. Le système applique un cryptage aux communications entre les agents et un contrôleur central dans les implémentations multi-hôtes. Les connexions pour la livraison des données de fichier

    45

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    journal incluent des exigences d'authentification, qui empêchent les intrus de détourner ou de remplacer le processus de surveillance.

    Les données recueillies par Samhain permettent d'analyser les activités du réseau et de mettre en évidence les signes avant-coureurs d'une intrusion. Cependant, cela ne bloquera pas l'intrusion et ne supprimera pas les processus indésirables. Vous devrez conserver des sauvegardes de vos fichiers de configuration et de vos identités d'utilisateur afin de résoudre les problèmes révélés par le moniteur Samhain.

    Tableau 4.1: Comparaison des HIDS

    HIDS

    Critères

    OSSEC

    AIDE

    Samhain

    Mode de détection

    Signature

    Signature et anomalies

     

    Réaction en temps réel

    Oui

    Oui

     

    Plateforme

    Windows, Unix, Linux et Mac OS

    Unix, Linux et Mac OS

    Unix, Linux et Mac OS

    Open source

    Oui

     

    Oui

    Coût

    Gratuit

    Gratuit

    Gratuit

    Source de données à analyser

    Surveillance des fichiers journaux de l'ordinateur (données FTP, mail, serveur Web, journaux d'événement du système d'exploitation, tables du pare-feu, antivirus, journaux de trafic),

    surveillance du registre, surveillance

    Comparaison des signatures de fichiers

    Vérification de l'intégrité des fichiers, surveillance des fichiers journaux et des ports.

     

    46

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

     

    de l'accès au compte root

     
     

    Detection des rootkits

    Oui

    Oui

    Oui

    Ajout d'add-ons

    Oui

     
     

    Nombre d'hôte

    Un ou plusieurs

     

    Un ou plusieurs

    Outil frontal

    Splunk, Kibana et Graylog

     
     
     

    2.4.2. Systèmes de détection d'intrusions réseau (NIDS)

    Parmi les systèmes de détection d'intrusions réseau (NIDS), nous pouvons citer : SNORT, Suricata et Bro.

    2.4.2.1. SNORT

    SNORT est le leader du secteur dans le NIDS, mais son utilisation est toujours libre. C'est l'un des rares IDS disponibles à être installé sur Windows. Il a été créé par Cisco. Le système peut fonctionner selon trois modes différents et peut mettre en oeuvre des stratégies de défense. Il s'agit donc d'un système de prévention des intrusions ainsi que d'un système de détection des intrusions. Les trois modes de SNORT sont : mode renifleur, enregistreur de paquets et détection d'intrusion.

    Vous pouvez utiliser SNORT comme un renifleur de paquets sans activer ses fonctionnalités de détection d'intrusion. Dans ce mode, vous obtenez une lecture en direct des paquets qui transitent par le réseau. En mode d'enregistrement de paquets, ces détails sont écrits dans un fichier.

    La renommée de SNORT a attiré des adeptes dans l'industrie du développement de logiciels. Un certain nombre d'applications créées par d'autres éditeurs de logiciels peuvent effectuer une analyse plus approfondie des données collectées par SNORT. Ceux-ci incluent Snorby, BASE, Squil et Anaval. Ces applications complémentaires vous aident à compenser le fait que l'interface de SNORT n'est pas très conviviale.

    2.4.2.2. Suricata

    47

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Suricata est probablement la principale alternative à SNORT. Suricata présente un avantage essentiel par rapport à SNORT, à savoir qu'il collecte des données au niveau de la couche application. Cela surmonte le fait que SNORT est aveugle aux signatures réparties sur plusieurs paquets TCP. Suricata attend que toutes les données contenues dans les paquets soient assemblées avant de transférer les informations dans l'analyse.

    Bien que le système fonctionne au niveau de la couche application, il est capable de surveiller l'activité du protocole à des niveaux inférieurs, tels que IP, TLS, ICMP, TCP et UDP. Il examine le trafic en temps réel pour différentes applications réseau, notamment FTP, HTTP et SMB. Le moniteur ne se contente pas de regarder la structure des paquets. Il peut examiner les certificats TLS et se concentrer sur les requêtes HTTP et les appels DNS. Une fonction d'extraction de fichier vous permet d'examiner et d'isoler les fichiers suspects présentant des caractéristiques d'infection par le virus.

    2.4.2.3. Bro

    Bro est un NIDS gratuit qui va au-delà de la détection d'intrusion et peut également vous fournir d'autres fonctions de surveillance du réseau. La communauté des utilisateurs de Bro comprend de nombreuses institutions de recherche universitaires et scientifiques.

    La fonction de détection d'intrusion de Bro est remplie en deux phases: enregistrement du trafic et analyse. Comme Suricata, Bro possède un avantage majeur sur SNORT en ce sens que son analyse s'applique au niveau application. Cela vous donne une visibilité sur les paquets pour obtenir une analyse plus large de l'activité du protocole réseau.

    Le module d'analyse de Bro a deux éléments qui travaillent à la fois sur l'analyse de signature et sur la détection d'anomalies. Le premier de ces outils d'analyse est le moteur d'événements Bro. Cela permet de suivre les événements déclencheurs, tels qu'une nouvelle connexion TCP ou une requête HTTP. Chaque événement est enregistré, de sorte que cette partie du système est neutre en termes de stratégie. Elle fournit uniquement une liste d'événements dans lesquels l'analyse peut révéler la répétition d'actions ou d'activités présentant une diversité suspecte générées par le même compte d'utilisateur.

    L'exploitation de ces données d'événement est effectuée par des scripts de stratégie. Une condition d'alerte provoquant une action, Bro est donc un système de prévention des intrusions ainsi qu'un analyseur de trafic réseau. Les scripts de stratégie peuvent être personnalisés, mais ils fonctionnent généralement dans un cadre standard impliquant la correspondance des signatures, la détection des anomalies et l'analyse des connexions.

    48

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Vous pouvez suivre les activités HTTP, DNS et FTP avec Bro, mais aussi surveiller le trafic SNMP, vous permet de vérifier les modifications de configuration du périphérique et les conditions d'interruption SNMP. Chaque stratégie est un ensemble de règles et vous n'êtes pas limité au nombre de stratégies actives ou aux couches de pile de protocoles que vous pouvez examiner. Aux niveaux inférieurs, vous pouvez surveiller les attaques par inondation DDoS syn et détecter le contrôle des ports.

    Bro peut être installé sur Unix, Linux et Mac OS.

    Tableau 5.2 : Comparaison des NIDS

    NIDS

    Critères

    SNORT

    Suricata

    Bro

    Mode de détection

    Signatures et anomalies

    Signatures et anomalies

    Signatures et anomalies

    Langage de signatures

    Règles de SNORT (très facile à élaborer)

    Règles de SNORT

    Règles

    Réaction en temps réel

    Oui

     
     

    Plateforme

    Windows, Unix et Linux

    Windows, Unix, Linux et Mac OS

    Unix, Linux et Mac OS

    Open source

    Oui

     
     

    Coût

    Gratuit

    Gratuit

    Gratuit

    Source de données à analyser

    Analyse de port furtif, attaques par dépassement de mémoire tampon, attaques CGI, sondes SMB, empreintes digitales du système d'exploitation

    Données de la couche application, données de la couche réseau

    Données de la couche application, données de la couche réseau

    Version/fonctionnalité IPS

    Oui

     

    Oui

     

    49

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Outils frontal

    Snorby, BASE, Squil et Anaval

    Snorby, BASE, Squil et Anaval

     
     

    2.4.3. Choix des solutions

    En ce qui concerne le choix de notre HIDS on note qu'OSSEC et Samhain se distinguent d'AIDE car ils ont plusieurs sources de données à analyser et peuvent couvrir plusieurs hôtes. Ceci dit, OSSEC prend l'avantage grâce à sa disponibilité multiplateforme et la variété de ses outils frontaux.

    Aussi en ce qui concerne le choix de notre NIDS on note que SNORT se distingue de Suricata car il possède une version IPS et peut réagir en temps réel. On note aussi que SNORT se distingue de Bro à cause de la variété de ses outils frontaux et de sa capacité à réagir en temps réel.

    2.4.4. Présentation générale de SNORT

    SNORT est un NIDS écrit par Martin Roesch, disponible sous licence GNU, son code source est accessible et modifiable à partir de l'URL : « http://www.snort.org ».

    SNORT a la capacité d'effectuer l'analyse du trafic en temps réel et effectuer l'analyse

    de protocole, la recherche de contenu. Il utilise une sonde pour détecter les attaques, le débordement système, les scans de port etc.

    SNORT peut être configuré pour fonctionner en trois modes :

    ? Le mode sniffer : dans ce mode, SNORT lit les paquets circulant sur le réseau et les affiche d'une façon continue sur l'écran ;

    ? Le mode « packet logger » : dans ce mode SNORT journalise le trafic réseau dans des répertoires sur le disque ;

    ? Le mode détecteur d'intrusions réseau (NIDS) : dans ce mode, SNORT analyse le trafic du réseau, compare ce trafic à des règles déjà définies par l'utilisateur et établi des actions à exécuter.

    2.4.4.1. Positionnement de SNORT dans le réseau

    L'emplacement physique de la sonde SNORT sur le réseau a un impact considérable sur son efficacité.

    50

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Dans le cas d'une architecture classique, composée d'un Firewall et d'une DMZ, trois positions sont généralement envisageables :

    · Avant le Firewall ou le routeur filtrant : dans cette position, la sonde occupe une place de premier choix dans la détection des attaques de sources extérieures visant l'entreprise. SNORT pourra alors analyser le trafic qui sera éventuellement bloqué par le Firewall. Les deux inconvénients de cette position du NIDS sont:

    o Le risque engendré par un trafic très important qui pourrait entraîner une perte de fiabilité ;

    o Etant situé hors du domaine de protection du firewall, le NIDS est alors exposé à d'éventuelles attaques pouvant le rendre inefficace.

    · Sur la DMZ : dans cette position, la sonde peut détecter tout le trafic filtré par le Firewall et qui a atteint la zone DMZ. Cette position de la sonde permet de surveiller les attaques dirigées vers les différents serveurs de l'entreprise accessible de l'extérieur ;

    · Sur le réseau interne : le positionnement du NIDS à cet endroit nous permet d'observer les tentatives d'intrusions parvenues à l'intérieur du réseau d'entreprise ainsi que les tentatives d'attaques à partir de l'intérieur. Dans le cas d'entreprises utilisant largement l'outil informatique pour la gestion de leur activités ou de réseaux fournissant un accès à des personnes peu soucieuses de la sécurité (réseaux d'écoles et d'universités), cette position peut revêtir un intérêt primordial.

    Figure 17.1: Différentes positions possible de SNORT dans un réseau informatiques

    2.4.4.2. Architecture de SNORT

    L'architecture de SNORT est modulaire et est composée de :

    51

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Décodeur de paquet : en anglais (Packet Decoder) il capture les paquets de données des interfaces réseaux, les prépare afin d'être prétraitées ou envoyées au moteur de détection ;

    · Pré processeur : en anglais (Pre-processor) ce sont des composants utilisés avec SNORT afin d'améliorer les possibilités d'analyse, et de recomposition du trafic capturé. Ils reçoivent les paquets, les retraitent et les envoient au moteur de détection ;

    · Moteur de détection : en anglais (Detection Engine) c'est le composant le plus important de SNORT. Son rôle consiste à détecter les éventuelles intrusions qui existent dans un paquet. Pour se faire, le moteur de recherche se base sur les règles de SNORT. En effet, ce moteur consulte ces règles et les compare une à une avec le paquet de données. S'il y a conformité, le détecteur l'enregistre dans le fichier log et/ou génère une alerte. Sinon le paquet est laissé tomber ;

    · Système d'alerte et d'enregistrement des logs : en anglais (Logging and Alerting System) il permet de générer les alertes et les messages log suivant ce que le moteur de détection a trouvé dans le paquet analysé ;

    · Output modules : en anglais (plugins) permet de traiter l'intrusion générée par le système d'alertes et de notation de plusieurs manières : envoie vers un fichier log, génère un message d'alerte vers un serveur syslog, ou stocke cette intrusion dans une base de données comme MySQL ou Oracle.

    Figure 18.2: Architecture de SNORT

    2.4.4.3. Paramétrage de SNORT

    52

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    2.4.4.3.1. Préprocesseurs

    Les préprocesseurs permettent d'étendre les fonctionnalités de SNORT. Ils sont exécutés avant le lancement du moteur de détection et après le décodage du paquet IP. Le paquet IP peut être modifié ou analysé de plusieurs manières en utilisant le mécanisme de préprocesseur.

    Liste des préprocesseurs :

    · mainfrag ;

    · HTTP Decode ;

    · détecteur de balayage du port (Portscan Detector) ;

    · port scan Ignorer hosts ;

    · défragmentation (Defrag) ;

    · stream.

    Les préprocesseurs sont chargés et configurés avec le mot-clé preprocessor. Le format de la directive preprocesseur dans les règles de SNORT est : preprocessor <nom> <options>.

    2.4.4.3.2. Les plugins de sortie

    Les modules de sortie sont une nouveauté de la version 1.6. Ils permettent à SNORT d'être bien plus flexible dans le formatage et la présentation des sorties à ses utilisateurs. Les modules de sortie son exécutés quand les sous-systèmes d'alerte ou de journalisation de SNORT sont appelés, après les préprocesseurs et le moteur de détection. Le format des directives dans le fichier de règles est très similaire à celui des préprocesseurs.

    Plusieurs plugins de sortie peuvent être spécifiés dans le fichier de configuration de SNORT. Quand plusieurs plugins du même type (journal, alert) sont spécifiés, ils sont "empilés" et appelés en séquence quand un événement se produit. Comme avec les systèmes standards de journalisation et d'alerte, les plugins de sortie envoient leurs données à /var/log/snort par défaut ou vers un répertoire désigné par un utilisateur (en utilisant l'option de la ligne de commande " l").

    Liste des modules de sortie :

    · Alerte syslog (Alert_syslog) ;

    · Alerte rapide (Alert_fast) ;

    · Alerte pleine (Alert_full) ;

    53

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Alerte smb ;

    · Alerte unixsock ;

    · Log _tcpdump.

    Les modules de sortie sont chargés au moment de l'exécution en spécifiant le mot clé output dans le fichier de règles : output <nom>: <options>

    2.4.4.3.3. Les bases de SNORT

    SNORT permet d'écrire des règles personnelles et utilise un langage simple et léger de description de règles qui est flexible et assez puissant.

    Les règles SNORT sont divisées en deux sections logiques, l'entête de la règle et les options de la règle.

    L'entête de la règle : il contient comme information l'action de la règle, le protocole, les adresses IP source et destination, les masque réseaux et les ports source et destination.

    Option de la règle : contient les messages d'alerte et les informations sur les parties du paquet qui doivent être inspectées pour déterminer si l'action de la règle doit être acceptée.

    Figure 19.3: Les différents champs d'une règle SNORT

    ? L'entête de règle

    Le champ « action » : il peut prendre plusieurs valeurs selon l'action à mener par

    SNORT en détectant des paquets réseaux répondant au critère définie dans la règles. Ces valeurs sont les suivantes :

    · alert : génère une alerte et log le paquet ;

    · log : log le paquet ;

    · pass : ignore le paquet ;

    · activate : active une règle dynamique ;

    · dynamic : définie une règle dynamique.

    Le champ « Protocole » : décrit le protocole utilisé pour la communication. Snort supporte les protocoles TCP, UDP, ICMP et IP.

    54

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Les champs «Direction» : renseignent Snort sur la direction des échanges réseau (->,

    <-, < >).

    Les champs «Adress/Port » : décrivent les adresses IP et les ports des machines qui échangent des données sur le réseau.

    ? Options

    · Msg : affiche un message dans les alertes et journalise les paquets ;

    · Logto : journalise le paquet dans un fichier nommé par l'utilisateur au lieu de la sortie standard ;

    · Ttl : teste la valeur du champ TTL de l'entête IP ;

    · Tos : teste la valeur du champ TOS de l'entête IP ;

    · Id : teste le champ ID de fragment de l'entête IP pour une valeur spécifiée ;

    · Ipoption : regarde les champs des options IP pour des codes spécifiques ;

    · Fragbits : teste les bits de fragmentation de l'entête IP ;

    · Dsize : teste la taille de la charge du paquet contre une valeur ;

    · Flags : teste les drapeaux TCP pour certaines valeurs ;

    · Seq : teste le champ TCP de numéro de séquence pour une valeur spécifique ;

    · Ack : teste le champ TCP d'acquittement pour une valeur spécifiée ;

    · Itype : teste le champ type ICMP contre une valeur spécifiée ;

    · Icode : teste le champ code ICMP contre une valeur spécifiée ;

    · Icmp_id : teste le champ ICMP ECHO ID contre une valeur spécifiée ;

    · Icmp_seq : teste le numéro de séquence ECHO ICMP contre une valeur spécifique ;

    · Content : recherche un motif dans la charge d'un paquet ;

    · Content-list : recherche un ensemble de motifs dans la charge d'un paquet ;

    · Offset : modifie l'option content, fixe le décalage du début de la tentative de correspondance de motif ;

    · Depth : modifie l'option content, fixe la profondeur maximale de recherche pour la tentative de correspondance de motif ;

    · Nocase : correspond à la procédure de chaîne de contenu sans sensibilité aux différences majuscules/minuscules ;

    · Session : affiche l'information de la couche applicative pour la session donnée ;

    · Rpc : regarde les services RPC pour des appels à des applications/procédures spécifiques :

    55

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · Resp : réponse active (ferme les connexions, etc) ;

    · React : réponse active (bloque les sites web).

    2.4.4.4. Dépendances de SNORT 2.4.4.4.1. Barnyard2

    Barnyard2 est un fork du projet étable barnyad, conçue spécifiquement pour SNORT et le nouveau format de fichier unified2. Barnyard2 est en développement actif et continue de s'adapter en fonction des commentaires des utilisateurs.

    La version actuelle de 2 à 1,8 a les caractéristiques suivantes:

    · traitement des sorties Délestage de vos fichiers d'alerte de SNORT à un processus dédié, en minimisant les paquets perdus en soi;

    · analyse unified2 fichiers ;

    · utilise la syntaxe de configuration similaire à celle de SNORT pour simplifier le déploiement ;

    · supporte tous les plugins de sortie de SNORT (sauf alert_sf_socket) ainsi que deux plugins supplémentaires (Sguil et CEF).

    Barnyard2 a été écrit à partir de zéro et tirant parti hors des routines fondamentales de SNORT et continuellement est aligné sur les dernières versions de SNORT. Il est distribué sous la licence GPLv2.

    2.4.4.4.2. BASE

    Par défaut, les alertes de SNORT sont enregistrées dans un simple fichier texte. L'analyse de ce fichier n'était pas aisée, même en utilisant des outils de filtre et de tri. C'est pour cette raison qu'il est vivement conseillé d'utiliser des outils de monitoring. Parmi ceux-ci, le plus vogue actuellement est BASE (Basic Analysis and Security Engine), un projet open-source basé sur Acid (Analysis Console for Intrusion Database). La console BASE est une application Web écrite en PHP qui interface la base de données dans laquelle SNORT stocke ses alertes.

    Pour fonctionner, BASE a besoin d'un certain nombre de dépendances :

    · Un SGBD installé : par exemple MySQL ;

    56

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    · SNORT : compilé avec le support de ce SGBD ;

    · Un serveur http : par exemple Apche ;

    · PHP5 : module PHP ;

    · PHP5-mysql : interface PHP/MySQL ;

    · la bibliothèque ADODB (Active DATA Objects DATA Base) : c'est une bibliothèque destinée à communiquer avec différents systèmes de gestion de base de données (SGBD) comme MySQL, SQL Server,etc. Ecrite au début en PHP, il existe également une version en Python ;

    · PHP-mail : extension PHP ;

    · PHP-gd ;

    · PHP-pear.

    2.4.5. Présentation générale d'OSSEC

    OSSEC est une plate-forme pour surveiller et contrôler vos systèmes. Il associe tous les aspects de HIDS (détection d'intrusion sur hôte), de surveillance des journaux et de gestion des incidents de sécurité (SIM) / gestion des informations de sécurité et des événements (SIEM) dans une solution simple, puissante et à code source ouvert.

    2.4.5.1. Architecture

    OSSEC est composé de plusieurs pièces. Il dispose d'un gestionnaire central pour la

    surveillance et la réception d'informations provenant d'agents, de syslog, de bases de données et de périphériques sans agent.

    2.4.5.1.1. Gestionnaire (ou serveur)

    Le manager est la pièce maîtresse du déploiement OSSEC. Il stocke les bases de données de vérification de l'intégrité des fichiers, les journaux, les événements et les entrées d'audit du système. Toutes les règles, décodeurs et principales options de configuration sont stockés de manière centralisée dans le gestionnaire; ce qui facilite l'administration, même d'un grand nombre d'agents.

    57

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Les agents se connectent au serveur sur le port 1514 / udp. La communication vers ce port doit être autorisée pour que les agents puissent communiquer avec le serveur.

    Le gestionnaire peut être appelé serveur OSSEC, ou même simplement serveur dans cette documentation.

    2.4.5.1.2. Agents

    L'agent est un petit programme, ou un ensemble de programmes, installé sur les systèmes à surveiller. L'agent collectera les informations et les transmettra au responsable pour analyse et corrélation. Certaines informations sont collectées en temps réel, d'autres périodiquement. Par défaut, sa mémoire et son encombrement CPU sont très faibles, ce qui n'affecte pas l'utilisation du système.

    Sécurité de l'agent: Il s'exécute avec un utilisateur disposant de peu de privilèges (généralement créé lors de l'installation) et dans une prison chroot isolée du système. La majeure partie de la configuration de l'agent peut être poussée du gestionnaire.

    OSSEC peut uniquement être installé en tant qu'agent sur les plates-formes Microsoft Windows. Ces systèmes nécessiteront un serveur OSSEC, fonctionnant sous Linux ou un autre système de type Unix.

    2.4.5.1.3. Sans agent

    Pour les systèmes sur lesquels un agent ne peut pas être installé, le support sans agent

    peut permettre d'effectuer des vérifications d'intégrité. Les analyses sans agent peuvent être utilisées pour surveiller les pare-feu, les routeurs et même les systèmes Unix.

    2.4.5.1.4. Virtualisation / VMware

    OSSEC vous permet d'installer l'agent sur les systèmes d'exploitation invités. Il peut également être installé dans certaines versions de VMWare ESX, mais cela peut entraîner des problèmes de support. Avec l'agent installé dans VMware ESX, vous pouvez recevoir des alertes sur le moment où un invité VM est installé, supprimé, démarré, etc. Il surveille également les connexions, les déconnexions et les erreurs sur le serveur ESX. En plus de cela, OSSEC effectue les vérifications CIS (Center for Internet Security) pour VMware, en avertissant si une option de configuration non sécurisée est activée ou tout autre problème.

    58

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    2.4.5.1.5. Pare-feux, commutateurs et routeurs

    OSSEC peut recevoir et analyser des événements syslog provenant d'une grande variété de pare-feu, de commutateurs et de routeurs. Il prend en charge tous les routeurs Cisco, Cisco PIX, Cisco FWSM, Cisco ASA, les routeurs Juniper, le pare-feu Netscreen, Checkpoint et bien d'autres.

    Figure 20.4: architecture d'OSSEC

    Ce diagramme montre le gestionnaire central qui reçoit les événements des agents et les journaux système des périphériques distants. Lorsqu'un élément est détecté, les réponses actives peuvent être exécutées et l'administrateur est averti.

    2.4.5.2. Fonctionnalités

    2.4.5.2.1. Les exigences de conformité

    OSSEC aide les clients à répondre aux exigences de conformité spécifiques telles que PCI et HIPAA. Il permet aux clients de détecter les modifications non autorisées du système de fichiers et les comportements malveillants intégrés dans les fichiers journaux des produits commerciaux ainsi que des applications personnalisées et d'en avertir. Pour PCI, il couvre les sections suivantes: surveillance de l'intégrité des fichiers (PCI 11.5, 10.5), inspection et surveillance des journaux (section 10), et application / vérification des règles.

    59

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    2.4.5.2.2. Multi plateforme

    OSSEC permet aux clients d'implémenter un système complet de détection d'intrusion

    basé sur l'hôte avec des stratégies détaillées spécifiques à l'application / serveur sur plusieurs plates-formes telles que Linux, Solaris, Windows et Mac OS X.

    2.4.5.2.3. Alertes en temps réel et configurables

    OSSEC permet aux clients de configurer les incidents sur lesquels ils souhaitent être alertés, et leur permet de se concentrer sur la priorité des incidents critiques par rapport au bruit normal de tout système. L'intégration avec smtp, sms et syslog permet aux clients d'être au top des alertes en les envoyant vers des appareils compatibles avec la messagerie électronique. Des options de réponse active pour bloquer immédiatement une attaque sont également disponibles.

    2.4.5.2.4. Intégration avec l'infrastructure actuelle

    OSSEC s'intégrera aux investissements actuels de clients tels que les produits SIM /

    SEM (gestion des incidents de sécurité / gestion des événements de sécurité) pour la création de rapports centralisés et la corrélation des événements.

    2.4.5.2.5. Gestion centralisée

    OSSEC fournit un serveur de gestion centralisé simplifié pour gérer les politiques sur

    plusieurs systèmes d'exploitation. En outre, il permet également aux clients de définir des remplacements spécifiques au serveur pour des règles plus détaillées.

    2.4.5.2.6. Surveillance d'agent et sans agent

    OSSEC offre la flexibilité de la surveillance, sans agent, des systèmes et des composants réseaux tels que les routeurs et les pare-feu. La surveillance sans agent permet aux clients qui ont des restrictions sur l'installation de logiciels sur des systèmes (tels que des systèmes ou des appliances approuvés par la FDA) de répondre aux besoins en matière de sécurité et de conformité.

    60

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    2.4.5.2.7. Vérification de l'intégrité des fichiers

    Toute attaque contre vos réseaux et vos ordinateurs présente un point commun: ils modifient vos systèmes d'une manière ou d'une autre. L'objectif de la vérification de l'intégrité des fichiers (ou FIM - surveillance de l'intégrité des fichiers) est de détecter ces modifications et de vous alerter lorsqu'elles se produisent. Il peut s'agir d'une attaque, d'une utilisation abusive par un employé ou même d'une faute de frappe par un administrateur. Toute modification de fichier, de répertoire ou de registre vous sera signalée.

    2.4.5.2.8. Surveillance du journal

    Votre système d'exploitation veut vous parler, mais savez-vous écouter? Chaque système d'exploitation, application et périphérique de votre réseau génère des journaux (événements) pour vous informer de ce qui se passe. OSSEC collecte, analyse et corrèle ces journaux pour vous permettre de savoir s'il se passe quelque chose de suspect (attaque, mauvaise utilisation, erreur, etc.). Voulez-vous savoir quand une application est installée sur votre poste client? Ou quand quelqu'un change une règle dans votre pare-feu? En surveillant vos journaux, OSSEC vous en informera.

    2.4.5.2.9. Détection de rootkits

    Les pirates informatiques veulent cacher leurs actions, mais en utilisant la détection

    de rootkit, vous pouvez être averti lorsque le système est modifié de la même manière que les rootkits.

    2.4.5.2.10. Réponse active

    Une réponse active permet à OSSEC de prendre des mesures immédiates lorsque des

    alertes spécifiées sont déclenchées. Cela peut empêcher la propagation d'un incident avant qu'un administrateur puisse prendre des mesures

    2.4.5.3. Systèmes et périphériques pris en charge par OSSEC

    61

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Tableau 6.3 : Systèmes et périphériques pris en charge par OSSEC

    systèmes d'exploitation par
    l'agent OSSEC

    Périphériques via Syslog

    Périphériques et systèmes
    d'exploitation via Agentless

    · GNU / Linux (toutes

    · Cisco PIX, ASA et

    · Cisco PIX, ASA et

    les distributions, y

    FWSM (toutes les

    FWSM (toutes les

    compris RHEL,

    versions) ;

    versions) ;

    Ubuntu, Slackware,

    · Routeurs Cisco IOS

    · Routeurs Cisco IOS

    Debian, etc.) ;

    (toutes versions) ;

    (toutes versions) ;

    · Windows XP, 2003,

    · Juniper Netscreen

    · Juniper Netscreen

    Vista, 2008 et 2012 ;

    (toutes les versions) ;

    (toutes les versions) ;

    · VMWare ESX 3.0,

    3.5 (y compris les

    · Pare-feu SonicWall
    (toutes les versions) ;

    · Pare-feu SonicWall
    (toutes les versions) ;

    contrôles CIS) ;

    · Pare-feu Checkpoint

    · Pare-feu Checkpoint

    · FreeBSD (toutes les

    (toutes les versions) ;

    (toutes les versions) ;

    versions actuelles) ;

    · Module Cisco IOS

    · Tous les systèmes

    · OpenBSD (toutes les

    IDS / IPS (toutes les

    d'exploitation

    versions actuelles) ;

    versions) ;

    spécifiés dans la

    · NetBSD (toutes les

    · Sourcefire (Snort)

    section «Systèmes

    versions actuelles) ;

    IDS / IPS (toutes les

    d'exploitation».

    · Solaris 2.7, 2.8, 2.9 et

    versions) ;

     

    10 ;

    · Dragon NIDS (toutes

     

    · AIX 5.2 et 5.3 ;

    les versions) ;

     

    · Mac OS X 10.x ;

    · Checkpoint Smart

     

    · HP-UX 11.

    Defense (toutes les

    versions) ;

     
     

    · McAfee VirusScan

     
     

    Enterprise (v8 et

    v8.5) ;

     
     

    · Proxy Bluecoat

     
     

    (toutes les versions) ;

     
     

    · Concentrateurs Cisco

     
     

    VPN (toutes

    versions) ;

     
     

    · VMWare ESXi 4.x.

     
     

    Dans ce chapitre, nous avons fait une étude sur quelques solutions de systèmes de détection d'intrusions basée sur l'hôte (HIDS) et de systèmes de détection d'intrusions réseau (NIDS) disponible sur le marché. Ensuite nous avons identifié le système de détection d'intrusions basée sur l'hôte (HIDS) le plus efficace et le de systèmes de détection d'intrusions réseau (NIDS) le plus efficace.

    62

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Cette partie était consacrée à tout ce qui est présentation de la notion de système de détection d'intrusions puis de système de prévention d'intrusions. Aussi elle nous a permis de faire une étude sur quelques solutions de systèmes de détection d'intrusions basée sur l'hôte (HIDS) et de systèmes de détection d'intrusions réseau (NIDS) disponible sur le marché. Enfin elle nous a permis d'identifier le système de détection d'intrusions basée sur l'hôte (HIDS) le plus efficace et le de systèmes de détection d'intrusions réseau (NIDS) le plus efficace. Nous allons sans plus tarder nous lancer à la présentation de l'architecture que nous allons utiliser pour la mise en place de notre système de détection et de prévention d'intrusions et des prérequis à considérés, puis nous allons passer à la configuration et terminer par une simulation de quelques tests d'intrusions et la détection de celles-ci.

    III. Mise en oeuvre

    Pour la mise en place de notre système de détection et de prévention d'intrusions nous allons tout d'abord présenter l'architecture de notre cadre de travail et les prérequis à considérer puis nous allons passer à la configuration et terminer par une simulation de quelques tests d'intrusions et la détection de celles-ci.

    3.5. Architecture et prérequis

    Dans ce chapitre nous allons présenter l'architecture de notre cadre de travail ainsi que les prérequis à considérés.

    3.5.1. Architecture

    Dans ce mémoire, nous nous limiterons à mettre en place un système de détection et

    de prévention d'intrusions en utilisant SNORT et OSSEC dans un réseau local afin de détecter et de prévenir les menaces internes qui découlent du réseau de l'entreprise.

    Il est plus recommandé de placer SNORT à cet endroit étant donné que 80% des attaques proviennent de l'intérieur.

    63

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Endian Firewall

    Figure 21.1 : Architecture du projet

    3.5.2. Prérequis

    Afin de tester notre proposition de travail, nous allons utiliser des outils d'émulation

    et de virtualisation (VMware) qui sont des hyperviseurs de type 2. A cet effet pour une bonne simulation de travail, nous aurons besoins de trois machine dont :

    · Une machine avec un système d'exploitation Ubuntu 16 sur laquelle sera installé SNORT. Elle aura pour Ram 1Go, un processeur de 64 bits ;

    · Une machine qui contiendra l'appliance d'OSSEC. Elle aura pour Ram 4Go, un processeur de 64 bits;

    · Et une machine cliente avec un système d'exploitation Windows XP pour les éventuels tests. Elle aura pour Ram 512Mo, un processeur de 64 bits.

    NB : en ce qui concerne le serveur OSSEC, une appliance virtuelle contenant les installations

    · CentOS 7.4

    · OSSEC 2.9.3

    · Elasticsearch-Logstash-Kibana (ELK) 6.1.1

    · Cerebro 0.7.2

    a été mise en place par les fabricants d'OSSEC. Donc il suffit juste de télécharger l'appliance avec ce lien http://updates.atomicorp.com/channels/atomic/virtual-machines/ossec-vm-2.9.3.ova et de l'importer dans l'hyperviseur (VMware).

    Télécharger l'agent OSSEC Windows à partir de ce lien http://updates.atomicorp.com/channels/atomic/windows/ossec-agent-win32-3.3.0-7006.exe

    64

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    On a consacré ce chapitre à la présentation de l'architecture de notre projet ainsi que les prérequis à considérés. Dans le chapitre suivant nous allons configurer notre système et nous allons terminer par la réalisation de quelques tests d'intrusions ainsi que la détection de celles-ci.

    3.6. Configuration et tests

    Dans ce chapitre nous allons procéder à la configuration de notre système de détection

    et de prévention d'intrusion et terminer par une simulation de quelques tests d'intrusions et la détection de celles-ci.

    3.6.1. SNORT

    Installez les conditions préalables des dépôts Ubuntu:

    sudo apt-get install -y build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev

    Modifiez /etc/network/interfaces comme un admin:

    sudo nano /etc/network/interfaces

    Rajoutez les deux lignes suivantes pour chaque interface réseau :

    post-up ethtool -K ens33 gro off post-up ethtool -K ens33 lro off

    Activez le mode promiscuité sur la carte réseau qui sera utilisé comme interface d'écoute de SNORT : ifconfig ens33 promisc

    Création d'un répertoire pour enregistrer les fichiers téléchargé: mkdir /snort_src

    cd /snort_src

    SNORT utilise la bibliothèque d'acquisition de données (DAQ) aux appels abstraits par paquets bibliothèques de capture. DAQ est téléchargé et installer à partir du site SNORT: cd snort_src

    65

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

    tar -xzf daq-2.0.6.tar.gz

    cd daq-2.0.6

    ./configure

    make

    sudo make install

    L'installation de SNORT peut être effectuée :

    cd /snort_src

    wget https://snort.org/downloads/snort/snort-2.9.14.tar.gz

    tar -xzf snort-2.9.14.tar.gz

    cd snort-2.9.14

    ./configure - -enable-sourcefire - -disable-open-appid

    make

    sudo make install

    Exécutez la commande suivante pour mettre à jour des bibliothèques partagées : sudo ldconfig

    Placez le binaire local de SNORT dans /usr/local/bin/snort et créer un lien symbolique vers /use/sbin/snort : sudo ln -s /usr/local/bin/snort /usr/sbin/snort

    Testez que le binaire SNORT fonctionne avec la commande snort -V.

    Figure 22.1: Test du binaire SNORT

    Configuration des règles de SNORT, pour des raisons de sécurité, afin que SNORT fonctionne en tant qu'utilisateur non privilégié.

    Création de l'utilisateur SNORT et le groupe :

    66

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    sudo groupadd snort

    sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

    Création d'un certain nombre de fichiers et dossier dont SNORT a besoin lors de son exécution en mode NIDS, on modifier en suite la propriété de ces fichiers pour le nouvel utilisateur SNORT. Les fichiers de configuration de SNORT sont stocké dans /etc/snort, les règles dans /etc/sort/rules et /usr/local/lib/snort_dynamicrules, et on stocke ces journaux dans /var/log/snort :

    # creation des repertoire de SNORT:

    sudo mkdir /etc/snort

    sudo mkdir /etc/snort/rules

    sudo mkdir /etc/snort/rules/iplists

    sudo mkdir /etc/snort/preproc_rules

    sudo mkdir /usr/local/lib/snort_dynamicrules

    sudo mkdir /etc/snort/so_rules

    # Création des fichiers qui stocke les règles : sudo touch /etc/snort/rules/iplists/default.blacklist sudo touch /etc/snort/rules/iplists/default.whitelist sudo touch /etc/snort/rules/local.rules

    # Création des repertoires de journalisation : sudo mkdir /var/log/snort

    sudo mkdir /var/log/snort/archived_logs

    # Régler les autorisations :

    sudo chmod -R 5775 /etc/snort

    sudo chmod -R 5775 /var/log/snort

    sudo chmod -R 5775 /var/log/snort/archived_logs

    sudo chmod -R 5775 /etc/snort/so_rules

    sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules

    #changement de propriété sur les dossiers :

    67

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    sudo chown -R snort:snort /etc/snort

    sudo chown -R snort:snort /var/log/snort

    sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

    Déplacez les fichiers suivants vers /etc/snort avec les commandes suivantes :

    cd /snort_src/snort-2.9.14/etc/

    sudo cp *.conf* /etc/snort

    sudo cp *.map /etc/snort

    sudo cp *.dtd /etc/snort

    cd /snort_src/snort-2.9.14/src/dynamicpreprocessors/

    build/usr/local/lib/snort_dynamicpreprocessor/

    sudo cp * /usr/local/lib/snort_dynamicpreprocessor/

    Modification du fichier de configuration SNORT. Le fichier de configuration SNORT est stocké dans /etc/snort/snort.conf, et contient tous les paramètres que SNORT va utiliser quand il est exécuté en mode NIDS. Ceci est un fichier volumineux (bien plus de 500 lignes), et contient un certain nombre d'options pour la configuration de SNORT. Nous sommes intéressés par seulement quelques réglages à l'heure actuelle.

    Mettez en commentaire toutes les règles de SNORT avec la commande suivante : sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/'

    /etc/snort/snort.conf

    Modifiez quelques lignes dans le fichier snort.conf, on ouvre le fichier Snort.conf avec la commande suivante : sudo nano /etc/snort/snort.conf

    La ligne 45 et on modifie la ligne de ipvar $HOME_NET any comme suit : ipvar HOME_NET 192.168.1.0/24

    Insertion des chemins et des répertoires que nous avons créés plus tôt comme suit :

    var RULE_PATH /etc/snort/rules # ligne 104

    var SO_RULE_PATH /etc/snort/so_rules # ligne 105

    var PREPROC_RULE_PATH /etc/snort/preproc_rules # ligne 106

    var WHITE_LIST_PATH /etc/snort/rules/iplists # ligne 113

    68

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    var BLACK_LIST_PATH /etc/snort/rules/iplists # ligne 114

    Activez les règles qu'on veut utiliser en enlevant le « # » qui se trouve en début de la

    ligne, maintenant on va éditer un seul fichier règles local.rules et pour que SNORT l'utilise on doit lui enlever le # qui rend la ligne comme commentaire :

    include $RULE_PATH/local.rules

    Pour s'assurer du bon fonctionnement de SNORT on exécute la commande suivante :

    sudo snort -T -c /etc/snort/snort.conf

    Figure 23.2: Validation du fichier de configuration

    Pour écrire sur le fichier local.rules on ouvre d'abord le fichier à l'aide de la commande sudo nano /etc/snort/rules/local.rules, puis on écrit les règles qui nous intéresse le plus, exemple : alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001;rev:001;)

    Cette règle dit que pour tous les paquets ICMP qu'il voit dans tout le réseau à HOME_NET génère une alerte avec le test ICMP texte.

    Apres avoir apporté des modifications aux fichiers qui reniflent des charges, on doit tester le fichier de configuration à nouveau: sudo snort -T -c /etc/snort/snort.conf

    Figure 24.3: Validation de la nouvelle règle

    3.6.2. Installation de Barnyard2

    Tout d'abord, installer certaines conditions préalables:

    sudo apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool

    Lors de l'exécution de la commande précédente nous aurons besoin de configurer le mot de passe MySQL root.

    69

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Modifier snort.conf. Nous avons besoin d'ajouter une ligne qui indique SNORT les événements de sortie sous forme binaire de sorte que Barnyard2 puisse les lire. Après la ligne 520 dans /etc/snort/snort.conf, on ajoute la ligne suivante et on enregistre le fichier:

    output unified2: filename snort.u2, limit 128

    Cette ligne indique à Snort des événements de sortie dans le format binaire unified2.

    Télécharger, configurer et installer Barnyard2 :

    cd /snort_src

    wget https://github.com/firnsy/barnyard2/archive/master.tar.gz -O barnyard2-

    Master.tar.gz

    tar -zxf barnyard2-Master.tar.gz

    cd barnyard2-master

    autoreconf -fvi -I ./m4

    sudo ln -s /usr/include/dumbnet.h /usr/include/dnet.h

    sudo ldconfig

    Selon l'architecture du système (x86 ou x64), exécute une des deux lignes suivantes: ./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu

    ./configure --with-mysql --with-mysql-libraries=/usr/lib/i386-linux-gnu

    Une fois terminé on continue avec les commandes suivantes :

    make

    sudo make install

    Figure 25.4: Test d'installation de Barnyard2

    YABOUI Frèse

    70

    Barnyard2 est maintenant installé dans /usr/local/bin/barnyard2. Testez pour que Barnyard2 soit correctement installé en exécutant en utilisant la commande /usr/local/bin/barnyard2 -V

    Inspection du trafic pour la détection et la prévention d'intrusions

    Configurer SNORT pour qu'il puisse utiliser Barnyard2, nous avons besoin de

    quelques fichiers:

    sudo cp /snort_src/barnyard2-master/etc/barnyard2.conf /etc/snort/

    sudo mkdir /var/log/barnyard2

    sudo chown snort.snort /var/log/barnyard2

    sudo touch /var/log/snort/barnyard2.waldo

    sudo chown snort.snort /var/log/snort/barnyard2.waldo

    Créer la base de données pour enregistrer les alertes de Barnayrd2, pour cela on

    exécute les commandes suivantes :

    $ mysql -u root -p

    mysql> create database snort;

    mysql> use snort;

    mysql> mysql> source /snort_src/barnyard2-master/schemas/create_mysql

    mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY 'frese';

    mysql> grant create, insert, select, delete, update on snort.* to 'snort'@'localhost';

    mysql> exit

    Maintenant que la base de données SNORT a été créée, modifier le fichier de configuration de Barnayrd2 et entrer les détails sur la base de données créé : sudo nano /etc/snort/barnyard2.conf

    Ajouter à la fin du fichier la ligne suivante :

    output database: log, mysql, user=snort password=frees dbname=snort host=localhost

    Étant donné que le mot de passe est dans le fichier barnyard2.conf, nous devrions empêcher les autres utilisateurs de le lire: sudo chmod o-r /etc/snort/barnyard2.conf

    Maintenant Barnyard2 est configuré pour fonctionner avec SNORT. Pour tester, nous allons exécuter SNORT et Barnyard2 et générer des alertes :

    sudo /usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 -D

    71

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Exécuter la commande suivante pour dire à Barnyard2 de sauvegarder ces événements dans l'instance de la base de données de SNORT : sudo barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.u2 -w /var/log/snort/barnyard2.waldo -g snort -u snort

    Pour vérifier si Barnyard2 a enregistré ces évènements dans la base de données de Snort on exécute la commande suivante:

    mysql -u snort -p -D snort -e "select count(*) from event"

    Le nombre d'évènements doit être supérieur à 0

    Figure 26.5: Vérification d'enregistrement des événements par Barnyard2

    3.6.3. Installation de PulledPork

    Pour télécharger le jeu de règles gratuit principal de SNORT, vous avez besoin d'un code Oink. Enregistrez-vous sur le site Web SNORT et enregistrez votre code Oink avant de continuer, car le code Oink est requis pour le jeu de règles gratuit le plus populaire.

    Figure 27.6: Oinkcode

    Installer les pré-requis de PulledPork:

    72

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    sudo apt-get install -y libcrypt-ssleay-perl liblwp-useragent-determined-perl

    Télécharger le dernier PulledPork et l'installer :

    cd /snort_src

    wget https://github.com/shirkdog/pulledpork/archive/master.tar.gz -O pulledpork-

    master.tar.gz

    tar -xzf pulledpork-master.tar.gz

    cd pulledpork-master/

    Copier le fichier perl réel vers /usr/local/bin et les fichiers de configuration

    nécessaires vers /etc/snort :

    sudo cp pulledpork.pl /usr/local/bin

    sudo chmod +x /usr/local/bin/ pulledpork.pl

    sudo cp etc/*.conf /etc/snort

    Tester que PulledPork s'exécute en exécutant la commande /usr/local/bin/ pulledpork.pl -V suivante, en recherchant la sortie ci-dessous:

    Figure 28.7: Test de fonctionnement de PulledPork

    Maintenant que nous sommes sûrs que PulledPork fonctionne, nous devons le configurer:

    sudo nano /etc/snort/pulledpork.conf

    Ligne 74: changer en: rule_path=/etc/snort/rules/snort.rules

    Ligne 89: changer en: local_rules=/etc/snort/rules/local.rules

    Ligne 92: changer en: sid_msg=/etc/snort/sid-msg.map

    Ligne 96: changer en: sid_msg_version=2

    Ligne 119: changer en: config_path=/etc/snort/snort.conf

    Ligne 133: changer en: distro=Ubuntu-12-04

    Ligne 141: changer en: black_list=/etc/snort/rules/iplists/black_list.rules

    Ligne 150: changer en: IPRVersion=/etc/snort/rules/iplists

    73

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Nous voulons exécuter PulledPork une fois manuellement pour vous assurer que cela fonctionne :

    sudo /usr/local/bin/ pulledpork.pl -c /etc/snort/pulledpork.conf -l

    NB : Cela prend du temps.

    Figure 29.8: Exécution manuelle de PulledPork

    Maintenant que nous sommes sûrs que PulledPork fonctionne correctement, nous voulons ajouter PulledPork au crontab de la racine pour s'exécuter quotidiennement:

    sudo crontab -e

    Ajouter la ligne suivante :

    00 18 * * * /usr/local/bin/ pulledpork.pl -c /etc/snort/pulledpork.conf -l

    3.6.4. Création de Scripts SystemD

    Créer le service SNORT systemD comme suit :

    ? Editer un fichier snort.service : sudo nano /lib/systemd/system/snort.service

    ? Ajouter le les lignes suivantes : [Unit]

    Description=Snort NIDS Daemon After=syslog.target network.target [Service]

    Type=simple

    74

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    ExecStart=/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i ens160 [Install]

    WantedBy=multi-user.target

    · Ajouter le service snort au démarrage : sudo systemctl enable snort

    · Lancer le service snort : sudo systemctl start snort

    Créer le service Barnyard2 systemD comme suit :

    · Editer un fichier barnyard.service : sudo nano /lib/systemd/system/barnyard.service

    · Ajouter le les lignes suivantes :

    [Unit]

    Description= Barnyard2 Daemon

    After=syslog.target network.target

    [Service]

    Type=simple

    ExecStart=/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort

    -f snort.u2 -q -w /var/log/snort/barnyard2.waldo -g snort -u snort D -a

    /var/log/snort/archived_logs

    [Install]

    WantedBy=multi-user.target

    · Ajouter de service barnyard au démarrage : sudo systemctl enable barnyard2

    · Lancer le service barnyard : sudo systemctl start barnyard2

    3.6.5. Installation de B.A.S.E

    Installez d'abord les conditions préalables :

    sudo add-apt-repository ppa:ondrej/php

    sudo apt-get update

    sudo apt-get install -y apache2 libapache2-mod-php5 php5 php5-mysql php5- common

    php5-gd php5-cli php-pear

    Installez Pear image Graph: sudo pear install -f - -alldeps Image_Graph

    Ensuite installez ADODB :

    75

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    cd /snort_src

    wget http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-520-for-php5/

    adodb-5.20.8.tar.gz

    tar -xzf adodb-5.20.8.tar.gz

    sudo mv adodb5 /var/adodb

    sudo chmod -R 755 /var/adodb

    Installation de B.A.S.E :

    cd /snort_src

    wget http://sourceforge.net/projects/secureideas/files/BASE/base 1.4.5/base-1.4.5.tar.gz

    tar -xzf base-1.4.5.tar.gz

    sudo mv base-1.4.5 /var/www/html/base/

    cd /var/www/html/base

    sudo cp base_conf.php.dist base_conf.php

    sudo chown -R www-data:www-data /var/www/html/base

    sudo chmod o-r /var/www/html/base/base_conf.php

    sudo nano /var/www/html/base/base_conf.php

    La dernière commande va nous permettre d'ouvrir le fichier base_conf.php, insérer les configurations nécessaires :

    $BASE_urlpath = '/base'; # ligne 50

    $DBlib_path = '/var/adodb/'; #ligne 80

    $alert_dbname = 'snort'; # ligne 102

    $alert_host = 'localhost'; $alert_port = ";

    $alert_user = 'snort';

    $alert_password = 'frese'; # ligne 106

    Redémarrer le service apache2: sudo service apache2 restart

    3.6.6. OSSEC

    ? Ajout d'un agent OSSEC

    Installer l'agent OSSEC sur la machine Ubuntu en choisissant agent :

    76

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    sudo apt-get update

    sudo apt-get install build-essential

    wget https://github.com/ossec/ossec-hids/archive/3.1.0.tar.gz

    sudo tar -zxf ossec-hids-3.1.0.tar.gz

    cd ossec-hids-3.1.0

    sudo ./ install.sh

    Figure 30.9: Installation de l'agent OSSEC sur la machine Ubuntu

    ? Ajout de la machine Ubuntu comme agent du serveur OSSEC

    Entrer la commande suivante sur le serveur OSSEC : sudo /var/ossec/bin/manage_agents

    Figure 31.10: Ajout de la machine Ubuntu comme agent du serveur OSSEC

    77

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 32.11: Extraction de la clé pour la machine Ubuntu

    Entrer la commande ci-dessous sur la machine Ubuntu : sudo /var/manage-agents

    Coller la clé extraite :

    Figure 33.12: Ajout de la clé sur la machine Ubuntu

    Une fois terminer rédémarrer le serveur OSSEC pour que ces modifications prennent effet : systemctl restart ossec-hids

    Utilisez la commande suivante pour redémarrer OSSEC sur le client (machine Ubuntu) : sudo /var/ossec/bin/ossec-control restart

    Pour vérifier que l'agent est bien connecté au serveur, utilisez la commande suivante sur le serveur OSSEC : sudo /var/ossec/bin/agent_control -lc

    78

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 34.13: Agent connecté

    NB : la configuration de la machine cliente Windows XP comme agent du serveur OSSEC est illustrée en annexe. Aussi l'ajout d'un dossier à surveiller en temps réel par le serveur OSSEC est illustré en annexe.

    3.6.7. Tests d'intrusions 3.6.7.1. Avec SNORT

    Ouvrir le terminal de la machine cliente Windows XP puis faire un ping sur la

    machine Ubuntu.

    Figure 35.14 : Ping de la machine Windows XP vers la machine Ubuntu

    79

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 36.15 : Détection du ping par la machine Ubuntu

    3.6.7.2. Avec OSSEC

    Utilisez un client SSH pour se connecter à la machine Ubuntu depuis la machine Windows XP.

    Figure 37.16 : Connection SSH à la machine Ubuntu

    80

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 38.17 : Accès au compte root de la machine Ubuntu

    Figure 39.18 : Connection SSH détectée par le serveur OSSEC via le Dashboard Kibana

    81

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    Figure 40.19 : Connection SSH détectée par le serveur OSSEC via le fichier alerts.log

    Dans ce chapitre, nous avons réalisé expérimentalement et de façon manuelle l'installation et la configuration de SNORT, avec la quasi-totalité de ses fonctions et intégré des règles de sécurité qui sont nécessaire pour la détection des attaques afin de renforcer la sécurité au niveau du réseau LAN. Aussi nous avons configuré OSSEC pour la détection d'intrusions au sein des équipements du système d'information.

    Cette partie était consacrée à la présentation de l'architecture de notre projet ainsi que les prérequis à considérer. Aussi elle était consacrée à la configuration de notre système de détection et de prévention d'intrusions et à la simulation de quelques tests d'intrusions et la détection de celles-ci.

    Conclusion générale

    En guise de conclusion, vu la place centrale qu'occupe le système d'information (SI) dans une entreprise, la sécurisation de celui-ci contre les multiples attaques et incidents est devenue une préoccupation de cette dernière. Il est prouvé durant ce travail la possibilité de mettre en place un système de sécurité permettant de détecter et d'y remédier aux intrusions sur le réseau aussi bien que sur les équipements du système d'information.

    Afin de mettre en place ce système de sécurité nous avions tout d'abord présenté les concepts liés à la sécurité informatique ainsi que la notion de système de détection d'intrusions puis de système de prévention d'intrusions. Ensuite nous avions fait une étude sur quelques solutions de systèmes de détection d'intrusions basée sur l'hôte (HIDS) et de systèmes de

    82

    YABOUI Frèse

    Inspection du trafic pour la détection et la prévention d'intrusions

    détection d'intrusions réseau (NIDS) disponible sur le marché, ce qui nous permis de choisir SNORT comme NIDS et OSSEC comme HIDS. Enfin nous avions configuré SNORT et OSSEC et réalisé différents tests d'évaluation.

    De nombreux problèmes ont été rencontrés au cours de la réalisation de ce projet, nous

    avons rencontré des difficultés notamment durant la récolte d'informations pour l'implémentation d'OSSEC et son téléchargement.

    Ainsi, comme perspective d'amélioration de notre système, la mise en place de SNORT Inline qui est une version modifiée du fameux IDS SNORT pour en faire un IPS, une solution capable de bloquer les intrusions et attaques réseau. Il reçoit les paquets envoyés par le firewall Netfilter avec l'aide de la librairie libipq, les compare avec des règles de signature SNORT et les marque en "drop" s'ils correspondent à une règle, puis finalement les renvoie vers Netfilter où les paquets SNORT Inline marqués sont rejetés. Aussi dans l'optique de pouvoir superviser l'ensemble des évènements générés par ces deux applicatifs (SNORT et OSSEC), il faut pouvoir les centraliser, rendant de cette manière l'administration et la visualisation des alertes plus rapides. C'est ce que permet le logiciel Prelude, un IDS, qui utilise des applications tels qu'OSSEC et SNORT comme des sondes.

    83

    YABOUI Frèse

    Bibliographie

    ? Ouvrages

    Aman Vladimir, Concevoir la Sécurité Informatique en Entreprise, 2014, 152 pages. ? Mémoires

    Batouche Sonia et Saci Souhila, Etude et mise en place d'un système de Détection d'intrusion sous Linux, Université Abderrahmane Mira de Béjaïa, 2014-2015, 53 pages.

    TOUATI Azeddine, Détection d'intrusions dans les réseaux LAN : Installation et configuration de l'IDS-SNORT, Université Abderrahmane Mira de Bejaïa, 2015-2016, 68 pages.

    Aladine Tlich et Nabil Kherfani, Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Système et Réseau, Université de Carthage, 2015-2016, 67 pages.

    ? Articles

    Noah Dietrich, Snort 2.9.9.x on Ubuntu 14 and 16 with Barnyard2, PulledPork, and BASE, 8 janvier 2017, 28 pages.

    Wayne Veilleux, Le système de surveillance de la sécurité des réseaux, Security Onion, 11 novembre 2015, 30 pages.

    Gilles Hilary, WannaCry et la diffusion des « zero day exploits », août 2017, 4 pages.

    Arnaud Fontaine et Pierre Chifflier, Architecture système sécurisée de sonde IDS réseau, 13 pages.

    ? Rapports

    i

    Eric Farman, Snort, Hôtel de ville de Pertuis, 30/01/2012 au 16/02/2012, 30 pages.

    Webographie

    fr.wikipedia.org : 27/07/19, 12h28 blog.sienerinformatique.com : 27/07/19, 12h29 www.informatiquenews.fr : 27/07/19, 12h29 www.directioninformatique.com : 27/07/19, 12h29 www.commentcamarche.net : 27/07/19, 12h30 www.futura-sciences.com : 27/07/19, 12h31 encyclopedia.kaspersky.fr : 27/07/19, 12h32 www.cnil.fr : 27/07/19, 12h33

    www.bravotelecom.com : 27/07/19, 12h33 doc.ubuntu-fr.org : 27/07/19, 12h35 www.prelude-siem.org : 27/07/19, 12h35 wiki.monitoring-fr.org : 27/07/19, 12h35 www.ossec.net : 27/07/19, 12h35

    ii

    www.snort.org : 27/07/19, 12h37 www.securiteinfo.com : 27/07/19, 12h37 lactualite.com : 27/07/19, 12h38 blog.securite-information.fr : 27/07/19, 12h39

    Annexes

    Annexe 1 : Dashboard Kibana

    Annexe 2 : Installation de l'agent OSSEC sur la machine Windows XP

    Annexe 3 : Enregistrement de la machine Windows XP comme agent du serveur OSSEC

    iii

    iv

    Annexe 4 : Importation de la clé sur la machine Windows XP

    Annexe 5 : Ajout d'un dossier à surveiller en temps réel par le serveur OSSEC

    Annexe 6 : Ajout du dossier réussi

    Table des matières

    Dédicace I

    Remerciements II

    Avant-propos III

    Sommaire IV

    Glossaire VI

    Liste des tableaux IX

    Introduction générale 1

    I. Cadre théorique et méthodologique 3

    1.1. Cadre méthodologique 3

    1.1.1. Présentation de l'ESTM 3

    1.1.2. Problématique 4

    1.1.3. Objectifs 4

    1.1.4. Délimitation du sujet 4

    1.2. La sécurité informatique 5

    1.2.1. Qu'est-ce que la sécurité ? 5

    1.2.2. Objectifs de la sécurité 5

    1.2.3. Les enjeux de la sécurité 6

    1.2.4. Les vulnérabilités 6

    1.2.5. Les menaces 7

    1.2.6. Les logiciels malveillants 7

    1.2.7. Les intrusions 7

    1.2.8. Les attaques 8

    1.2.8.1 Définition 8

    1.2.8.2. Anatomie d'une attaque 8

    1.2.8.3. Types d'attaques 9

    1.2.8.4. Catégorie des attaques 10

    1.2.8.5. Quelques attaques courantes 12

    1.2.9. Les moyens de sécuriser un réseau 15

    1.2.10. Mise en oeuvre d'une politique de sécurité 21

    II.

    v

    Cadre conceptuel 22

    2.3. Système de détection et de prévention d'intrusions 23

    2.3.1. Système de détection d'intrusions (IDS) 23

    2.3.1.1. Définition 23

    2.3.1.2. Présentation d'un système de détection d'intrusions 24

    2.3.1.2.1. Architecture d'un IDS 24

    2.3.1.2.2. Vocabulaire de la détection d'intrusions 26

    2.3.1.2.3. Emplacements d'un système de détection d'intrusions 27

    2.3.1.2.4. Classification des systèmes de détection d'intrusions 28

    2.3.1.2.5. Les différents IDS 35

    2.3.1.4. Avantages et limites d'un IDS 38

    2.3.2. Systèmes de prévention d'intrusions (IPS) 38

    2.3.2.1. Définition 39

    2.3.2.2. Les différents IPS 39

    2.3.2.2.1. Système de prévention d'intrusion réseau (NIPS) 39

    2.3.2.2.2. Système de prévention d'intrusion de type hôte (HIPS) 40

    2.3.2.2.3. Système de prévention d'intrusion kernel (KIPS) 40

    2.3.2.3. Types de réponses aux attaques 40

    2.3.2.3.1. Réponse active 41

    2.3.2.3.2. Réponse passive 43

    2.3.2.4. Les limites d'un IPS 43

    2.4. Etude des solutions 44

    2.4.1. Systèmes de détection d'intrusions basée sur l'hôte (HIDS) 44

    2.4.1.1. OSSEC 44

    2.4.1.2. AIDE 45

    2.4.1.3. Samhain 45

    2.4.2. Systèmes de détection d'intrusions réseau (NIDS) 47

    2.4.2.1. SNORT 47

    2.4.2.2. Suricata 47

    2.4.2.3. Bro 48

    2.4.3. Choix des solutions 50

    2.4.4. Présentation générale de SNORT 50

    2.4.4.1. Positionnement de SNORT dans le réseau 50

    2.4.4.2. Architecture de SNORT 51

    2.4.4.3. Paramétrage de SNORT 52

    vi

    2.4.4.3.1. Préprocesseurs 53

    2.4.4.3.2. Les plugins de sortie 53

    2.4.4.3.3. Les bases de SNORT 54

    2.4.4.4. Dépendances de SNORT 56

    2.4.4.4.1. Barnyard2 56

    2.4.4.4.2. BASE 56

    2.4.5. Présentation générale d'OSSEC 57

    2.4.5.1. Architecture 57

    2.4.5.1.1. Gestionnaire (ou serveur) 57

    2.4.5.1.2. Agents 58

    2.4.5.1.3. Sans agent 58

    2.4.5.1.4. Virtualisation / VMware 58

    2.4.5.1.5. Pare-feux, commutateurs et routeurs 59

    2.4.5.2. Fonctionnalités 59

    2.4.5.2.1. Les exigences de conformité 59

    2.4.5.2.2. Multi plateforme 60

    2.4.5.2.3. Alertes en temps réel et configurables 60

    2.4.5.2.4. Intégration avec l'infrastructure actuelle 60

    2.4.5.2.5. Gestion centralisée 60

    2.4.5.2.6. Surveillance d'agent et sans agent 60

    2.4.5.2.7. Vérification de l'intégrité des fichiers 61

    2.4.5.2.8. Surveillance du journal 61

    2.4.5.2.9. Détection de rootkits 61

    2.4.5.2.10. Réponse active 61

    2.4.5.3. Systèmes et périphériques pris en charge par OSSEC 61

    Périphériques et systèmes d'exploitation via Agentless 62

    III. Mise en oeuvre 63

    3.5. Architecture et prérequis 63

    3.5.2. Prérequis 64

    3.6. Configuration et tests 65

    3.6.1. SNORT 65

    3.6.2. Installation de Barnyard2 69

    3.6.3. Installation de PulledPork 72

    3.6.4. Création de Scripts SystemD 74

    3.6.5. Installation de B.A.S.E 75

    vii

    3.6.6. OSSEC 76

    3.6.7. Tests d'intrusions 79

    3.6.7.1. Avec SNORT 79

    3.6.7.2. Avec OSSEC 80

    Conclusion générale 82

    Bibliographie i

    Webographie ii

    Annexes iii

    Résumé ix

    viii

    Abstract x

    Résumé

    Les réseaux informatiques sont devenus beaucoup plus important qu'ils en aient il y a quelques années. De nos jours les entreprises dès leur création n'hésitent pas à mettre en place un réseau informatique pour faciliter la gestion de leur infrastructure, c'est pour cela que la sécurité de ces réseaux constitue un enjeu crucial. Vu le nombre sans cesse croissant d'attaques et d'incidents, et à titre d'exemple de WannaCry en 2017 dont 200 000 ordinateurs auraient été infectés sur tous les continents. Etre réactif et proactif dans la détection et la gestion des incidents cybers est une préoccupation de toutes les structures.

    L'objectif général de notre travail est de mettre en place une solution de détection et de prévention d'intrusions en utilisant des outils libres. La problématique est par conséquent la suivante : quel système de sécurité mettre en place afin de détecter et d'y remédier aux intrusions sur le réseau aussi bien que sur les équipements du système d'information ?

    Pour répondre à la problématique, une recherche documentaire a constitué le fondement du présent mémoire. Des mémoires, des articles, des ouvrages, des rapports de recherche, des sites internet et des documents divers ont conduits à l'élaboration de ce travail. La lecture issue de cette recherche a servi à s'informer des recherches déjà menées sur ce sujet et à situer la nouvelle contribution envisagée par rapport à elles. Ainsi l'ensemble de ces recherches nous a montré à quel point les systèmes de détection et de prévention d'intrusions sont indispensables.

    ix

    A partir de ces données recueillies, bon nombre d'administrateurs des systèmes d'information n'ont pas de système de détection et de prévention d'intrusions au sein de leurs structures. Alors que ces systèmes protègent les entreprises contre les attaques externes ; ils sont également capables de détecter et d'éradiquer une menace interne qui représente en 70 à 80% des actes de malveillance auxquels sont confrontées les entreprises.

    Abstract

    Computer networks have become much more important than they were a few years ago. Nowadays companies from their creation do not hesitate to set up a computer network to facilitate the management of their infrastructure, that's why the security of these networks is a crucial issue. Given the ever-increasing number of attacks and incidents, and as an example of WannaCry in 2017 of which 200,000 computers would have been infected on every continent. Being responsive and proactive in detecting and managing cyber incidents is a concern of all structures.

    The general objective of our work is to set up an intrusion detection and prevention solution using free tools. The problem is therefore: what security system should be put in place to detect and remedy intrusions on the network as well as on the equipment of the information system?

    To answer the problem, a documentary research was the foundation of this memoir. Presentations, articles, books, research reports, websites and various documents led to the development of this work. The reading from this research was used to learn about research already conducted on this topic and to situate the new contribution envisaged in relation to them. Thus all of this research has shown us how intrusion detection and prevention systems are essential.

    x

    From this data collected, many IT administrators do not have an intrusion detection and prevention system within their structures. While these systems protect companies against external attacks; they are also able to detect and eradicate an internal threat that accounts for 70 to 80 percent of the malicious acts that companies face.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry