Cartographie du SI et corrélation d alertes pour la détection d intrusions



Documents pareils
Sécurité des réseaux Les attaques

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

SECURIDAY 2013 Cyber War

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Fiche Technique. Cisco Security Agent

Figure 1a. Réseau intranet avec pare feu et NAT.

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

NetCrunch 6. Superviser

Introduction. Adresses

MSP Center Plus. Vue du Produit

Services Réseaux - Couche Application. TODARO Cédric

Protection des protocoles

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

DIGITAL NETWORK. Le Idle Host Scan

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Rappels réseaux TCP/IP

Cisco Certified Network Associate

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

DenyAll Detect. Documentation technique 27/07/2015

Devoir Surveillé de Sécurité des Réseaux

Sujet 2 : Interconnexion de réseaux IP (routeurs CISCO). Sujet 3 : Implémentation d un serveur VPN avec OpenVPN.

Surveillance stratégique des programmes malveillants avec Nessus, PVS et LCE

Sécurité et Firewall

Retour d expérience sur Prelude

Compromettre son réseau en l auditant?

Audits de sécurité, supervision en continu Renaud Deraison

LIVRE BLANC. Mise en œuvre d un programme efficace de gestion des vulnérabilités

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Indicateur et tableau de bord

PACK SKeeper Multi = 1 SKeeper et des SKubes

Haka : un langage orienté réseaux et sécurité

Sécurité des réseaux Firewalls

Firewall Net Integrator Vue d ensemble

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

L annuaire et le Service DNS

Test d un système de détection d intrusions réseaux (NIDS)

Windows Internet Name Service (WINS)

18 TCP Les protocoles de domaines d applications

La sécurité périmètrique multi-niveaux. Un white paper de Daniel Fages CTO ARKOON Network Security

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

TP : Introduction à TCP/IP sous UNIX

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Détection d'intrusions et analyse forensique

Rapport de certification ANSSI-CSPN-2011/14. Fonctionnalités de pare-feu de StoneGate Firewall/VPN build 8069

Mettre en place un accès sécurisé à travers Internet

Tutoriel sur Retina Network Security Scanner

Le service d audit de vunérabilité de Qualys recommandé par la rédaction de 01 Réseaux

Découverte de réseaux IPv6

Spécialiste Systèmes et Réseaux

Le scan de vulnérabilité

Threat Management déploiement rapide de contre-mesures

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Constat. Nicole DAUSQUE, CNRS/UREC

Smart Notification Management

Standard. Manuel d installation

Serveur FTP. 20 décembre. Windows Server 2008R2

Notions de sécurités en informatique

White Paper - Livre Blanc

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

Nouveaux outils de consolidation de la défense périmétrique

Comment choisir la solution de gestion des vulnérabilités qui vous convient?

Les tests d intrusion dans les réseaux Internet, l outil Nessus

Découvrir les vulnérabilités au sein des applications Web

Conception et réalisation d uned architecture tolérant les intrusions pour des serveurs Internet

INTRUSION SUR INTERNET

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

Dr.Web Les Fonctionnalités

Les IDS et IPS Open Source. Alexandre MARTIN Jonathan BRIFFAUT

Atelier Pivoting KHOULOUD GATTOUSSI (RT3) ASMA LAHBIB (RT3) KHAOULA BLEL (RT3) KARIMA MAALAOUI (RT3)

DIFF AVANCÉE. Samy.

Avantages. Protection des réseaux corporatifs de gestion centralisée

Topologies et Outils d Alertesd

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

LAB : Schéma. Compagnie C / /24 NETASQ

Sécurité des réseaux sans fil

Le filtrage de niveau IP

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Infocus < >

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

Etude de la pertinence et de l'intérêt des appliances WAF (IPS web) à l'inria

Sécurisation des systèmes

FORMATION CN01a CITRIX NETSCALER

CHAPITRE 3 : INTERVENTIONS SUR INCIDENTS

Atelier Sécurité / OSSIR

Chap.9: SNMP: Simple Network Management Protocol

«clustering» et «load balancing» avec Zope et ZEO

Transcription:

Cartographie du SI et corrélation d alertes pour la détection d intrusions Etat de l art 07 Février 2005 RESPONSABLES France Telecom : Hervé DEBAR ENST Bretagne : Frédéric CUPPENS AUTEUR Diala ABIHAIDAR

INTRODUCTION...2 1. LES IDS...3 1.1. LES APPROCHES DE DETECTION...3 1.2. COMPARAISONS DES APPROCHES ET DE LEURS LIMITES...3 1.3. LA DETECTION QUALIFIEE DE «STATEFUL» VERSUS «STATELESS»...4 1.4. LA CORRELATION D ALERTES ET LA CARTOGRAPHIE...4 2. LA CARTOGRAPHIE DES RESEAUX...4 2.1. LA DEFINITION DE LA CARTOGRAPHIE...4 2.2. LES APPROCHES EXISTANTES...5 2.2.1. L architecture à agents dédiés...5 2.2.2. L approche active...5 2.2.3. L approche passive...5 2.3. TAXONOMIE DES OUTILS EXISTANTS...6 2.3.1. NeVO...6 2.3.2. RNA...7 2.3.3. Snort...7 2.3.4. EttercapNG...7 2.3.6. Nessus...8 2.3.7. Scotty/Tkined...9 2.3.8. Nmap...9 2.3.9. Checkos et SIRC...10 2.3.10. P0f...10 2.3.11. OSSIM...11 2.4. SYNTHESE SUR LES OUTILS EXISTANTS...12 3. LA CORRELATION D ALERTES ET LES PERSPECTIVES...13 3.1. LES TECHNIQUES DE CORRELATION...13 3.2. LES PERSPECTIVES...14 CONCLUSION...15 BIBLIOGRAPHIE...16 ANNEXE A OUTILS UTILISES DANS OSSIM...17 ANNEXE B CARACTERISATION D UNE MACHINE PAR OSSIM...18 1

Introduction De nos jours, le monde de la communication et du multimédia est en perpétuelle mutation. De nouvelles technologies émergentes, telles la Voix sur IP, Internet, email, intranet, extranet et le commerce «Business to Business», forcent les entreprises à ouvrir leurs portes informatiques au reste du monde afin de rester compétitives. Malheureusement, cette ouverture vers l extérieur augmente sensiblement les risques liés à la sécurité de l entreprise. Assurer la sécurité informatique revient à garantir l intégrité et la confidentialité des données, la disponibilité, la non répudiation auxquelles s ajoute l authentification si on considère la sécurité sur l ensemble du réseau informatique. Tout système informatique peut être la cible d une menace qui cherchera à exploiter ses vulnérabilités. Une étape d analyse complète du système à protéger doit être faite pour détecter ses vulnérabilités et prendre certaines contre-mesures indispensables pour la prévention des attaques malveillantes. La deuxième étape consiste en une surveillance dite dynamique qui revient à surveiller le réseau, une fois la prévention faite, pour détecter d éventuelles intrusions. Dans le cadre de l observation des intrusions sur un réseau informatique il s avère évident qu il est nécessaire d automatiser la tâche vu l énorme volume de données à traiter. Ceci est confié aux outils de détections d intrusions (IDS, Intrusion Detection System). Cependant force est de constater que de nombreuses intrusions sont non détectées ou bien certaines sont détectées alors qu elles ne compromettent pas le système en question. Les IDS présentent certainement des lacunes que l on cherche depuis toujours à combler. Une corrélation d alerte peut paraître une solution pour réduire le nombre de fausses alertes. Une connaissance cartographique peut parfois apporter des informations exploitables par le processus de corrélation. Cette étude bibliographique est divisée en trois grandes parties. La première consistera à étudier les IDS pour voir pourquoi ils s avèrent insuffisants pour une gestion optimale de la sécurité du réseau. La deuxième partie traitera de la cartographie. Les différentes techniques et les différents outils de cartographie seront étudiés pour montrer leurs avantages et leurs points faibles ainsi que les différentes informations qu ils sont capables de fournir sur le réseau. La dernière partie sera consacrée à la corrélation d alertes ; une présentation rapide des méthodes existantes débouchera sur les perspectives. 2

1. Les IDS Les IDS sont des outils automatiques de surveillance de trafic destinés à détecter toute activité anormale ou suspecte supposée être une tentative de violation de la politique de sécurité mise en œuvre. Les IDS sont classés sous deux catégories : les HIDS (Host based Intrusion Detection System) et les NIDS (Network based Intrusion Detection System). Les HIDS assurent la sécurité au niveau des machines hôtes. Ils détectent tout accès ou modifications non autorisés de fichiers. Ils utilisent des modules logiciels implantés sur les machines hôtes à surveiller qui lisent les fichiers de log pour collecter les informations utiles dans des traces d audit. Les NIDS quant à eux assurent la sécurité des réseaux en enregistrant des données observées sur le trafic réseau. Ils nécessitent des machines dédiées placées dans des endroits bien précis (à la sortie d un firewall, devant un serveur Web ). Ils capturent et lisent les paquets IP circulant sur le réseau (Sniffing). 1.1. Les approches de détection Nous avons vu que le rôle principal de l IDS est de détecter des intrusions. Reste à savoir comment il va pouvoir le faire, en d autres termes qu est-ce qu un IDS cherchera à savoir. Deux approches de détections existent [2]: l approche comportementale et l approche par scénario. L approche comportementale se base sur l idée de profil d un utilisateur (ou groupe d utilisateurs). Un profil d utilisateur est vu comme étant le trafic réseau relatif, la taille de données échangées, le nombre de connexions par jour établies par cet utilisateur ou vers cet utilisateur Cette approche consiste à comparer le profil de ce dernier à un profil défini au préalable correspondant à un comportement normal et enregistré dans une base de comportements dans le but de détecter des déviations notables. Cette approche cherche donc à détecter une anomalie de comportement. La deuxième approche consiste à analyser les traces d audit système ou les données sur le réseau pour détecter des comportements interdits. Ces derniers sont repérés par certains motifs ou signatures relatifs à des attaques connues et enregistrées dans une base de signatures d attaques. Cette approche cherche donc à détecter des manifestations d attaques. La réponse des IDS suite à une détection d intrusion peut être de deux sortes. Elle peut correspondre à une simple alerte, notification envoyée pour le personnel responsable via un message d alerte sur une console, une mise à jour de rapport d attaques C est une réponse passive. Mais il est aussi possible que l IDS réponde en exerçant une action spécifique comme par exemple déconnecter un utilisateur, fermer des ports, reconfigurer un firewall C est une forme active de réponse et nous avons tendance à parler d IPS (Intrusion Prevention System). 1.2. Comparaisons des approches et de leurs limites On peut déjà noter quelques faits concernant les deux approches précédentes surtout en ce qui concerne les alertes générées. Ces deux approches peuvent donner lieu à des faux positifs et des faux négatifs. Les faux positifs sont la détection d une intrusion en l absence de celle ci. Les faux négatifs s illustrent par le fait que le système n a pas détecté une intrusion qui a eu lieu. Avec l approche comportementale, il est fort probable de déclencher un grand nombre de faux positifs. En effet les comportements qualifiés de normaux sont généralement appris par le module par une simple observation. Il peut y avoir une déviation normale du système sans que celle-ci représente une intrusion potentielle mais l IDS va déclencher une alerte (faux positif). De même un attaquant peut étaler son attaque dans le temps pour qu elle corresponde à un comportement normal appris par le module. Ceci est source de faux négatifs. Le problème avec la deuxième approche est qu elle se base sur une bonne définition de la politique de sécurité et une prise en compte de toutes les attaques possibles puisque toute 3

absence de signature dans la table de signatures pourrait induire un faux négatif. Cette approche demande également une définition précise de la signature sinon il y a un risque de faux positifs qui reste cependant moins important comparé avec la première approche. 1.3. La détection qualifiée de «stateful» versus «stateless» Un autre aspect de comparaison des IDS est la méthode de détection employée par ces différents outils. En ce qui concerne l approche par scénario, la majeure partie des IDS présents sur le marché se contentent d une analyse paquet par paquet sans prendre en considération qu une attaque peut être distribuée sur plusieurs paquets. La détection d intrusion dans ce cas consiste à chercher l existence d une certaine signature d attaque dans un paquet ; si cette dernière existe une alerte est déclenchée sinon le paquet est accepté et un autre paquet est analysé. Cette méthode est qualifiée de «stateless» puisqu elle ne garde pas d information sur l état des différents paquets analysés. Par contre une approche dite «stateful» consiste à garder des traces de chaque paquet analysé même si ce dernier ne comporte pas une signature d attaque. Plusieurs informations relatives aux paquets (valeurs des champs de l entête, certaines informations présentes dans le contenu du paquet ) sont collectées au fur et à mesure de l analyse et ceci durant une fenêtre temporelle fixée (120 secondes dans certains exemples [19]). Ces informations seront exploitées pour grouper les paquets selon les sessions auxquelles ils appartiennent. Les différents groupes seront ensuite analysés pour détecter d éventuel scénario d attaques. Les IDS employant cette méthode sont dits SIDS (Stateful Intrusion Detection System). Ils ont l avantage de pouvoir détecter des attaques (TearDrop Attack, Loki Information Tunneling Attack [19]) difficilement détectables par un IDS dit «stateless». L apport de cette méthode de détection étant la réduction du nombre des faux négatifs puisque de nouvelles attaques sont désormais détectables. 1.4. La corrélation d alertes et la cartographie L autre problème auxquels on s intéresse de nos jours est de trouver un moyen de réduire le nombre d alertes. La meilleure façon de le faire est de corréler les différentes alertes générées par les détecteurs d intrusions. De plus, les alertes générées par les IDS peuvent être conformes aux signatures définies et illustrent des attaques sans pour autant que ces dernières ne soient effectives. Prenons l exemple d une machine Unix avec un serveur Web Apache et un IDS signalant une attaque sur Microsoft IIS. Cette attaque n a pas réellement d effet sur la machine. On définit un degré de fiabilité associé à une alerte d IDS qui illustre à quel point on est certain à sa réception, de l existence d une attaque potentielle. Il est évident que si l IDS n est pas très fiable ceci implique l existence de pas mal de faux positifs. Ce genre de faux positifs générés par les IDS peut être réduit si ces derniers ont une meilleure connaissance des équipements du réseau. Il existe des modules de cartographie qu on détaillera ci-après capables de connaître ce genre d information exploitable pour une réduction du taux de fausses alertes. Ceci est l un des buts de la cartographie de réseaux. 2. La Cartographie des réseaux 2.1. La définition de la cartographie Les systèmes informatiques présentent plusieurs failles et sont la cible des attaquants qui exploitent certaines vulnérabilités existantes. La connaissance des caractéristiques du système d exploitation ainsi que les services et leurs versions, permet d avoir une meilleure approche de la détermination des vulnérabilités exploitables. La cartographie d un réseau concerne aussi bien son niveau physique que son niveau applicatif. On distingue deux aspects principaux de la cartographie [1]: son aspect topologique qui désigne la structure du réseau informatique. La topologie est aussi bien physique (équipements, interconnexions physiques entre les équipements à l exemple 4

d Ethernet) que logique (adressage, routage). L autre aspect de la cartographie est l aspect applicatif qui désigne l ensemble des composants logiciels du système. Le but principal de la cartographie est d avoir le plus de renseignements possibles sur le réseau qui pourront aider à avoir une connaissance en profondeur des différents composants ainsi que des vulnérabilités correspondantes. Les informations recherchées par les différents outils de cartographie existants diffèrent d un outil à un autre mais nous pouvons citer : l OS et sa version, le nom de la machine, son adresse MAC ou IP, le serveur hébergé et sa version etc. 2.2. Les approches existantes Différentes approches de cartographie existent [14]. L approche à agents dédiés, les approches active et passive. 2.2.1. L architecture à agents dédiés Une des façons de collecter des informations sur une machine serait d utiliser le principe des agents (utilisé par certains IDS). Un agent logiciel est un code exécutable qui peut être dédié ou mobile. Un agent dédié reste sur une seule machine alors qu un agent mobile peut se déplacer d une machine sur laquelle il s exécute pour se terminer sur une deuxième [15]. Dans les deux cas, pour pouvoir s exécuter, il lui faut un environnement agent installé au niveau de la machine destinataire. On voit bien deux limites de cette technique la première étant la nécessité d une plateforme dédiée qui n est pas tolérante au facteur d échelle ; elle devient difficile à mettre en œuvre si le nombre de machine à auditer est très grand. La deuxième limite est l échange de trafic réseau non négligeable entre les agents et leurs moniteurs. 2.2.2. L approche active Cette approche consiste à interagir avec la machine distante à surveiller en lui envoyant des paquets pour obtenir une réponse. L analyse des réponses donnera les informations recherchées surtout en ce qui concerne le type d OS et sa version ainsi que les services utilisés et leurs versions. Cette approche est réalisée via l envoi de messages ICMP ou TCP (avec certaines combinaisons de drapeaux et d option) pour forcer la machine à répondre. Pour la détermination de l OS existant sur la machine distante il suffit de récupérer un paquet TCP/IP forgé par cette machine. Ceci fournit des informations sur le système d exploitation. En effet, chaque OS (Linux, Unix, Windows ) a sa façon unique d implémenter les paquets TCP. Ces paquets contiennent des informations nécessaires à la détermination de l OS et qui sont essentiellement les champs TTL, Don t Fragment, taille initiale du paquet TOS, port source et les options TCP comme la taille de la fenêtre (Window Size), MSS Size, options Nop et SACK... L inconvénient de cette méthode est qu elle génère des paquets sur le réseau qui peuvent créer des instabilités pour le système audité. A ceci s ajoute le fait qu avec cette approche on ne peut détecter en temps réel tous les changements qui ont eu lieu sur le réseaux puisque toutes les informations sont apprises par des scans. Entre deux scans successifs il y a des changements qui ne peuvent pas être détectés. Par conséquent se pose la question de la durée de validité de l information. Enfin cette méthode n est pas adaptée pour les grands réseaux car elle prendrait beaucoup de temps pour caractériser toutes les machines. 2.2.3. L approche passive Cette approche a besoin des mêmes informations de la part de la machine distante que celles demandées par l approche active [16]. Par contre elle n est pas basée sur l envoi de messages. Elle consiste en une simple écoute du réseau. Les messages circulant sur le réseau vont être analysés pour déduire les caractéristiques des machines émettrices (OS, services,...). Cette approche optimale du point de vue charge du réseau ne permet pas par contre de détecter toutes les machines existantes sur un réseau. En effet s il n y a eu aucun échange de 5

messages entre cette machine et une autre sur le réseau on ne peut détecter sa présence, ce qui n est pas le cas avec l approche active qui teste la machine pour voir si elle est active ou pas. On surmonte aussi avec cette méthode l obstacle du scan actif qui peut être rejeté par l hôte ou par un équipement intermédiaire. Une solution pour pallier les différents inconvénients de chaque approche serait de combiner les approches selon les besoins. C est ce qui est mis en œuvre dans certains outils de cartographie (à l exemple d EttercapNG). 2.3. Taxonomie des outils existants Les outils peuvent être classés [6] dans différentes catégories. Suivant les fonctionnalités offertes nous avons essentiellement les catégories suivantes : Explorateur du réseau : prise d empreinte active ou passive d OS, détermination des hôtes/firewalls/services, balayage des ports, exploration géographique de réseaux. Exemple : Nmap, NeVO, RNA, Ettercap. Observateur : capture (active ou passive) et analyse d information réseau (entête et données, protocole ), analyse du trafic réseau. Exemple : Ethereal, Ettercap, TCPDump, Ntop. Détecteur de sécurité : scanning et recherche de vulnérabilités. Exemple : Nessus. Outils de prise d empreintes d applications : analyse des services pour déterminer les applications et leurs versions. Exemple : THC-Amap. Il existe un grand nombre d outils utilisés qui fournissent des renseignements sur le réseau surveillé. Nous en détaillons quelques-uns ci après : 2.3.1. NeVO NeVO (Network Vulnerability Observer) est un outil commercial en versions Windows et UNIX. A la manière d un IDS, NeVO fait de l écoute passive sur le réseau en observant les paquets qui y circulent. Il identifie les protocoles de communication utilisés entre les différents équipements, les applications qui tournent sur chacun ainsi que les vulnérabilités existantes qui peuvent être exploitées. Il identifie les Web proxies et les traite en tant que tels. Il établit pour chaque serveur une liste de tous les ports actifs et les observe pour enregistrer les machines qui ont dialogué avec lui via ce port ainsi que le service accédé. NeVO a l avantage d observer des sessions complètes tout au long du temps et plusieurs sessions en parallèle. Chaque session est observée pendant toute sa durée jusqu à ce qu une attaque soit détectée. Il est par contre évident que le plus vulnérable des serveurs ne peut être détecté par NeVO que s il existe une communication établie avec lui. Ceci est un inconvénient non seulement de NeVO mais de tout outil d écoute passive puisqu il n émet aucun paquet et se contente d observer le réseau. NeVO, en observant les paquets SYN, peut fournir des informations concernant le type d OS existant sur les machines actives du réseau. Un des avantages de NeVO comme de tout autre outil passif est qu il peut détecter les vulnérabilités non seulement du côté du serveur -comme le font les outils actifs- mais aussi du côté client. Il permet de détecter les applications (le browser Web par exemple Internet Explorer) qui existent du côté client et identifie les vulnérabilités correspondantes. Ceci est fait grâce à un mécanisme de signature basé sur des expressions régulières «regex» appliquées aux paquets et qui permettent une recherche de motif (pattern matching) relatif à une vulnérabilité connue. Des exemples de signatures existent dans la référence [4]. Avec ces expressions on a la possibilité d observer des paquets corrélés entre eux (requête/réponse). Suite à la détection d un certain motif dans un paquet il est possible de chercher un autre motif dans des paquets qui l ont précédé. Comme NeVO a la caractéristique de faire une étude multi événementielle, il est dit «stateful». 6

2.3.2. RNA RNA (Real-time Network Awareness) [3] est un outil commercial qui surveille les serveurs, routeurs, PCs Il englobe toutes les fonctionnalités d outils de cartographie qu on a énuméré au début du paragraphe. Il s agit d un explorateur de réseau puisqu il fournit des informations sur les adresses MAC, les OS et leurs versions, les services et leurs versions ainsi que les ports actifs de chaque équipement sur le réseau. Il fournit des informations sur le nombre de hop, paramètres MTU, TTL Il est complètement passif et écoute le réseau pour avoir des informations sur le flot, type et volume de trafic. C est aussi un détecteur de sécurité puisqu il a l aptitude d associer à chaque machine une base de vulnérabilités correspondant au type d OS existant et d évaluer selon cette base toutes les attaques qui arrivent pour déterminer leur impact. Enfin il est capable de détecter automatiquement tous les changements concernant l introduction de nouveaux services ou éléments. Il détecte aussi les comportements anormaux ou constituant une violation de la politique de sécurité appliquée. Ces comportements sont analysés en tenant compte des vulnérabilités existantes pour déterminer le risque correspondant à une attaque possible. De ce fait RNA constitue un module idéal pour la corrélation d alertes. 2.3.3. Snort Snort est un NIDS téléchargeable gratuitement et qui peut tourner sur toutes les plateformes (Linux, BSD, Solaris/Sun et MAC OS...) [13]. Facile à installer et à mettre en œuvre, Snort va faire de l écoute passive du réseau et générer des fichiers «logs». Il est basé sur libpcap qui enregistre les données circulant sur le réseau en mode promiscous. Il utilise des règles de détection d intrusion très simples basées sur des signatures pour faire du «pattern matching». Snort a la caractéristique de pouvoir non seulement analyser les entêtes des paquets mais aussi les données de la couche applicative ce qui le dote du pouvoir de détection d attaque du type débordement du buffer ou scanning CGI. Il fournit des fonctionnalités d alerte en temps réel dues à la simplicité de ses règles. Il fait une analyse de protocole et peut faire de la prise d empreinte d OS. 2.3.4. EttercapNG EttercapNG tourne sur Windows, FreeBSD, Solaris, MAC OS, Linux C est un outil gratuit très utilisé et facilement téléchargeable donc à la portée de tous [5]. EttercapNG peut découvrir et identifier des hôtes de façon active ou en se contentant d une écoute passive du réseau. Dans son mode passif il peut déterminer les machines actives du réseau, les différents OS en exploitant les paquets SYN et SYN+ACK, les ports ouverts (paquet SYN+ACK) et les versions de services hébergés par les serveurs, la nature de la machine hôte (simple hôte, routeur, passerelle ) et même une distance estimée en nombre de hops jusqu à la machine. Sa recherche de motifs se fait avec des expressions régulières «regex». En mode actif il envoie des requêtes ARP pour toute adresse IP du réseau (en regardant une adresse IP et le netmask) et reçoit toutes les réponses. Par conséquent il établit la liste des machines actives du réseau. Ainsi il est possible d identifier même les machines qui n ont pas encore dialogué. EttercapNG est doté d un cache DNS pour la collecte des informations sur les noms des machines acquises en mode passif. Une caractéristique d Ettercap est sa possibilité d intercepter des paquets émis, les exploiter pour en tirer le maximum d information et même les modifier. Pour comprendre comment ceci est possible, il faut noter que ARP est un protocole qui comme tout outil informatique contient des vulnérabilités. Une machine accepte de recevoir une réponse ARP même si elle n a pas demandé de requêtes et insère la réponse dans sa table ARP. Ettercap va exploiter ceci pour envoyer des réponses ARP à des machines qu il veut intercepter en précisant à chacune l adresse MAC qui est relative à la machine sur laquelle il tourne. Il fait ceci des deux côtés et maintient la correspondance MAC/IP pour pouvoir renvoyer les 7

messages à leur vraie destination. Ainsi chaque fois que les machines veulent dialoguer les messages sont interceptés puis renvoyés à la destination correspondante après leur étude. L exemple suivant (tiré du fichier Readme de EttercapNG) illustre ce phénomène : Machine 1: MAC: 01:01:01:01:01:01 IP: 192.168.0.1 Machine 2: MAC: 02:02:02:02:02:02 IP: 192.168.0.2 Machine Ettercap : MAC: 03:03:03:03:03:03 IP: 192.168.0.3 Il envoie des réponses ARP pour Machine 1 disant que 192.168.0.2 se trouve à 03:03:03:03:03:03 Machine 2 disant que 192.168.0.1 se trouve à 03:03:03:03:03:03 Ainsi les machines sont empoisonnées et vont envoyer leurs paquets à lui. Quand il reçoit des paquets de la Machine 1, il les enverra à 02:02:02:02:02:02 et de la Machine 2 à 01:01:01:01:01:01. Du fait qu EttercapNG est capable de s intercaler au milieu de la communication il permet de déchiffrer des sessions SSH1 et ceci en interceptant les paquets en début de session et en remplaçant la clé publique du serveur par une clé générée par lui. Ainsi il récupère les paquets du client chiffrés par la clé générée et prendra la clé de session qui s y trouve. Il sera facile après d observer tout le trafic. Il offre la possibilité de collecter des mots de passe telnet, ftp, mysql Il peut observer le trafic de données sécurisées dans http SSL même si la connexion est faite via un proxy. 2.3.5. THC- Amap C est un outil qui permet d identifier les applications et les services même lorsqu ils ne sont pas sur leur port par défaut. A chaque fois qu une application (client) se connecte sur un serveur il y a un échange initial de paquets «handshake exchange». Amap profite de ce comportement en envoyant de façon active des requêtes sur les ports. Il va prendre le premier paquet renvoyé et comparer sa signature à une base de signatures de réponses pour déterminer le service correspondant. Cet outil est un nouvel outil gratuit qui est toujours en période de test et facilement téléchargeable sur le site [7]. 2.3.6. Nessus Le projet «Nessus» a démarré en 1998, sous la direction de Renaud Deraison qui voulait fournir un outil de balayage puissant, gratuit et facile à gérer. Nessus est un outil qui emploie une méthode active pour la cartographie du réseau et le balayage des ports. L avantage évident d une telle approche est l abondance d informations recueillie par le système, l inconvénient est le surplus de trafic «inutile» sur le réseau. Deux versions existent pour cet outil, l une pour les systèmes basés sur Unix (Mac OS X, FreeBSD, Linux, Solaris, etc..) et une autre pour les plateformes Windows, appelée NeWT (NeWT 2.0). Il est utile de mentionner que la version Windows, bien qu elle soit gratuite, n est cependant ni transférable ni sous licenciable et n est destinée qu à un usage strictement personnel. Nessus est le seul outil à offrir la possibilité de faire des contrôles de sécurité locaux, en plus des contrôles à distance conventionnels. Cette caractéristique se résume en la capacité de Nessus, à partir de sa version 2.1, de se connecter sur le hôte à distance. Il peut ainsi évaluer les patchs manquant sur une plateforme donnée et les dernières mises à jour disponibles pour protéger le système. Nessus a aussi l avantage de faire de la reconnaissance de services intelligente (Smart Service Recognition) : Nessus ne part pas du principe que les outils ciblés respectent les numéros de port désignés par l IANA, ce qui veut dire qu il peut repérer un serveur FTP s exécutant sur un port non standard ou un serveur Web utilisant un port autre que 80. Nessus a été le premier outil à offrir cette possibilité et a été maintes fois copié depuis. Une autre caractéristique très utile de Nessus est le recensement de tuples de service. Si un hôte exécute plusieurs instances d un même service, Nessus identifiera et testera chaque instance de ce service 8

indépendamment. Cet outil a aussi la capacité de tester des services basés sur SSL tels https, smtps, imaps Enfin, Nessus donne le choix entre deux modes de balayage : Un audit de sécurité normal, dit non destructif, et un mode exhaustif où il essaie d identifier et d exploiter les vulnérabilités du système audité, ce qui risquerait d entraîner un «crash» complet de l hôte cible, mais permettant d avoir des informations nettement plus pertinentes sur le système en question. Un atout fort de cet outil est la panoplie de programmes et d applications complémentaires qui sont développées autour de celui-ci : des programmes facilitant l interaction avec la base de données, des programmes centralisant la gestion de plusieurs domaines d administration (the Lightning Console), des applications permettant d intégrer les logs provenant de plusieurs sources (the Thunder Log) entre autres. Nessus est fort aussi de son langage de formalisation de tests de sécurité, le Nessus Attack Scripting Language (NASL), qui permet facilement la création de nouveaux plug-ins. Ces scripts ne représentent aucun danger pour la machine sur laquelle Nessus tourne, puisqu ils sont exécutés dans un environnement confiné, au-dessus d une machine virtuelle. Les rapports de sécurité peuvent être générés en HTML, XML, LaTex, ou texte ASCII. Une caractéristique importante de Nessus est la possibilité d y intégrer d autres outils tels Nmap, Hydra ou Nikto pour améliorer ses capacités de «scanning». Enfin, un site Web très instructif [8], une abondance de publications, des plug-ins régulièrement disponibles et une base d utilisateurs énorme permet de faire de Nessus un outil incontournable quand on parle de cartographie et d évaluation de vulnérabilités. 2.3.7. Scotty/Tkined Scotty/Tkined est un outil permettant la surveillance de réseau en utilisant des API (Application Programming Interface) de haut niveau [17]. L innovation de ce programme se trouve dans le fait qu il est à base de Tcl (Tool Command Language), ce qui facilite sa portabilité sur tous genres de plateformes. Il se scinde en deux packages principaux : le premier, Tnm Tcl Extension, fournit l accès aux sources d information de gestion de réseau. Le second, Tkined (Tcl/tK-based Interactive Network EDitor), est l éditeur de réseau, fournissant un environnement graphique facile à gérer et comprendre à la fois. Tnm Tcl Extension supporte les protocoles suivants: 1. SNMP (SNMPv1, SNMPv2c, SNMPv2u) 2. ICMP (echo, mask, timestamp et les requêtes udp/icmp de traceroute) 3. DNS 4. HTTP (côtés serveur et client) 5. RPC SUN (portmapper, mount, rstat, etherstat, services pcnfs) 6. NTP (version 3) 7. UDP La distribution de Scotty/Tkined comporte aussi quelques exemples de scripts illustrant la façon de rédiger des scripts pour automatiser les tâches de gestion et contrôles spécifiques au site ou réseau de l utilisateur. Cet outil comporte un défaut qui n est pas des moindres : Scotty fait réellement de la surveillance de réseau et non pas de la découverte et reconnaissance d hôtes ; c est l utilisateur qui dessine, à l aide de Tkined, le réseau à monitorer, Scotty ne prenant pas l initiative d identifier les hôtes dans un réseau donné. Un autre défaut, moins important, est le fait que Scotty est plutôt destiné à s exécuter sous des plateformes Unix. Une version récente a été développée pour les systèmes Windows NT mais elle est, toutefois, encore criblée de bugs. 2.3.8. Nmap Nmap (Network Mapper) est un outil gratuit [9], disponible sous licence GNU GPL, servant à l exploration de réseaux et à l audit sécuritaire. Il utilise une méthode active de recherche d informations. Cet outil est aussi bien adapté à des tests sur des centaines de 9

milliers de cibles qu à des tests visant un hôte particulier. Nmap comprend plus de 500 empreintes dans sa base. Il exploite les paquets IP «bruts» (TCP et UDP) de façons innovantes pour tenter, entre autres, de découvrir les hôtes existant sur un certain réseau, déterminer les services offerts par ceux-ci (nom de l application et sa version) via un balayage de ports, les différents OS sur lesquels ils tournent, les différents genres de filtres et de parefeu mis en place. Nmap est portable sur une grande variété de systèmes d exploitation : Linux, Windows, FreeBSD, OpenBSD, Solaris, IRIX, Mac OS X, HP-UX, NetBSD, Sun OS, Amiga De même, deux types d interface sont possibles : interface graphique et console de commande classique. Un point fort que cet outil partage avec Nessus est l abondance de documentation constamment mise à jour et traduite en plusieurs langues. Quelques propriétés intéressantes de Nmap sont : Calcul dynamique du délai : faute d imposer explicitement un certain délai entre les transmissions consécutives de paquets vers un même hôte, Nmap essaie de trouver le meilleur intervalle de temps à implémenter, intervalle qui s adapte dynamiquement à un changement de comportement éventuel de la cible. Retransmission de paquets : certains scanners n envoient qu une seule fois un paquet vers une cible, ne prenant pas en compte ainsi la possibilité de pertes de paquets dans le réseau. Ceci pourrait générer des faux négatifs. Nmap est conçu pour renvoyer un certain nombre de fois un paquet à un port qui ne répond pas. Balayage parallèle de ports : nmap exécute plusieurs balayages de ports simultanément, réduisant ainsi le temps de scan total d un hôte. Ceci permet d optimiser les performances. Balayage flexible de ports: une certaine plage de ports cibles peut être spécifiée, réduisant ainsi le temps total de l audit. Détection d un hôte hors service : avant de procéder à un balayage de ports coûteux en temps, Nmap s assure que la cible est bel et bien en service. Cependant, le fait qu il ait recours à des méthodes actives d audit, de prise d empreinte et de balayage fait qu il n est pas approprié à nos besoins. Curieusement, Microsoft a décidé de ne plus permettre à Nmap d être exécuté sur sa plateforme : Windows SP2 ne permet plus d envoyer des paquets TCP sur des sockets RAW. 2.3.9. Checkos et SIRC Ces deux outils partagent bon nombre de lignes de code, Checkos étant basé sur SIRC. Ce sont deux outils de prise d empreinte plutôt rudimentaires, plaçant une cible sous l une de quatre catégories : Linux, 4.4BSD, Win95 ou Unknown, en ayant recours à de simples tests sur les flags des paquets TCP [12]. Une chose que Checkos ajoute, est la vérification de la bannière telnet, qui est utile mais qui possède l inconvénient de ne pas être très crédible puisqu'un nombre croissant de personnes désactivent ces bannières ; de plus beaucoup de systèmes fournissent peu d'information et il est facile de "mentir" dans ses bannières. 2.3.10. P0f P0f est un outil de prise d empreinte passive qui propose quatre modes différents de fingerprinting [10]: Incoming connection fingerprinting (SYN mode, mode par défaut): pour identifier l OS installé sur un hôte qui se connecte à notre plateforme, Outgoing connection fingerprinting (SYN+ACK mode): pour déterminer le système d exploitation de l hôte sur lequel on se connecte, Outgoing connection refused fingerprinting (RST+ mode): pour une prise d empreinte d un système qui rejette notre trafic, Established connection fingerprinting (stray ACK mode): pour examiner des sessions en cours sans interférence de sa part. 10

Un outil de prise d empreinte passive ne peut jamais fournir de résultats aussi précis et exhaustifs qu un autre utilisant la méthode active. Cependant, il peut parfois surmonter certains obstacles que peut rencontrer un outil de prise d empreinte active : P0f réussit à contourner les pare-feu quand d autres outils tel que Nmap n y arrivent pas. Il comporte aussi des métriques qui n existent que dans cet outil, ou du moins qui y ont été mises en œuvre pour la première fois (Non-zero ACK in initial SYN, Non-zero "unused" TCP fields, Non-zero urgent pointer in SYN, Non-zero second timestamp, WSS to MSS/MTU correlation checks, EOL presence and trailing option data, Data payload in control packets, SEQ number equal to ACK number, Zero SEQ number). Jusqu à ce jour, p0f ne dispose pas d un module intégré de connectivité aux bases de données. Un module extérieur, p0f_db, est utilisé dans cet objectif. P0f tourne sous tous genres de systèmes d exploitation : NetBSD, FreeBSD, OpenBSD, Mac OS X, Linux (2.0 et plus), Solaris, Windows La version 2 de cet outil a été réécrite afin d ajouter de la flexibilité aux signatures et pour implémenter des contrôles sur des caractéristiques subtiles des paquets et, par conséquent, améliorer la précision de la prise d empreinte. 2.3.11. OSSIM OSSIM (Open Source Security Information Management) illustre une mise en œuvre de la cartographie pour améliorer la détection d intrusions. Son principal atout est que OSSIM n est pas un outil en tant que tel mais regroupe un grand nombre d outils «open source» existants pour offrir une meilleure gestion de la sécurité du réseau. OSSIM offre un environnement centralisé de monitorat et de gestion de toutes les informations délivrées par les différents outils qu il gère. Avec OSSIM il est possible de définir des règles de sécurité relatives à la politique de sécurité adoptée, de connaître la cartographie du réseau et de corréler les différents outils pour optimiser la supervision (réduire les faux positifs par exemple). On cherche à exploiter les caractéristiques des différents outils déjà existants pour collecter le plus d information nécessaire pour une meilleure vision du réseau. OSSIM garantit l interopérabilité des différents outils. Il possède trois caractéristiques principales : Intégration : OSSIM regroupe et intègre sur une même plateforme plusieurs outils de sécurité (Snort, Nessus, POf, Nmap ) (voir Annexe A) offrant des fonctionnalités de gestion de réseau (audit, pattern matching, détection d anomalies ) Corrélation : OSSIM offre la possibilité de corréler les alertes et de réduire par conséquent le nombre de faux positifs. Analyse de vulnérabilités : OSSIM offre des fonctionnalités qui permettent une bonne inspection des mesures de sécurité du réseau. L usage de Nessus par exemple va permettre à OSSIM de faire un inventaire de toutes les vulnérabilités existantes et donner une idée sur la situation du réseau. OSSIM est capable de fournir sur chaque équipement les informations suivantes : OS, adresse MAC, nom Netbios ou DNS, ports ouverts ainsi que versions et type de services sur ces ports et enfin des informations sur l usage du réseau (le trafic par connexion, par jour )(Voir Annexe B). Toutes ces informations sont collectées de façon active et passive. Il peut aussi détecter automatiquement tout changement de ces différents paramètres et le signale si nécessaire. 11

Concernant l architecture, nous pouvons voir OSSIM comme un composant à trois couches : BD Interaction avec l utilisateur : définitions des variables de sécurité Serveur Protocole propriétaire Console interface Web Corrélation, analyse de vulnérabilités Capteurs IDS, détection d anomalie, monitorat temps réel Figure 1 : Architecture d OSSIM vu comme un composant à 3 niveaux En ce qui concerne les capteurs, ils incluent des outils de détection d intrusions basés sur le principe de signatures ainsi que des outils de détection d anomalie. La supervision du réseau se fait en temps réel. OSSIM permet de faire une corrélation d alerte en provenance des différents capteurs pour ne garder que celles pertinentes et constituant une attaque potentielle pour le système d exploitation existant. Pour cela il maintient à jour des tables de correspondance alertes/versions et alertes/vulnérabilités. Enfin il faut préciser que OSSIM demande une plateforme Linux et a des fonctionnalités limitées sur BSD, MacosX, Solaris. 2.4. Synthèse sur les outils existants On a essayé dans cette partie de faire une taxonomie de tous les outils existants en essayant de les comparer. Le but final est de rechercher celui qui collecte le plus d informations sur le réseau, exploitables ultérieurement, tout en étant le plus efficace possible (en terme de déploiement et de charge réseau). Il faut noter que NeVO et RNA sont les deux seuls outils commerciaux qu on a cités. Ces outils sont bien connus dans le domaine de la cartographie puisqu ils fournissent beaucoup de renseignements sur les différents équipements du réseau. D autres outils qui sont aussi intéressants (à l exemple de Bro, Siphon, Queso) n ont pas été traités ici. Parmi les outils dont nous avons parlé il y en a qui étaient plus riches que d autres en terme de connaissance du réseau mais qui d un autre côté présentaient un certain nombre d inconvénients. L idéal serait de pouvoir grouper certains d entre eux pour essayer de profiter de leur richesse sans pour autant accumuler leurs inconvénients. Enfin OSSIM semble être une façon de tirer profit de certains outils existants pour aller en profondeur dans la connaissance du réseau. La connaissance du réseau va du plus bas niveau (adresses MAC, topologie) jusqu à un niveau supérieur d abstraction concernant les vulnérabilités auxquelles les équipements existants pourraient être assujettis. En pratique la connaissance de telles informations est indispensable pour un administrateur de réseau pour détecter les vulnérabilités au niveau des applications de certaines machines de son réseau et par conséquent offrir les patchs correspondants. Mais aussi ces informations sont très utiles en terme d optimisation du processus de détection d intrusions. Comme on l a vu la cartographie peut aussi être exploitée au moment de la corrélation d alertes pour réduire le grand nombre d alertes qui reste le problème majeur des IDS. 12

3. La corrélation d alertes et les perspectives Le besoin d algorithmes de corrélation découle en premier lieu, comme on l a déjà fait remarquer, du nombre d alertes à traiter. Ce nombre est en général très grand et complique la tache de l opérateur de sécurité. Ce dernier doit réagir face à certaines alertes mais pas à d autres qui s avèrent être redondantes ou bien correspondre à des fausses alertes (faux positifs). Le but actuel est de réduire ce nombre d alertes et de ne faire parvenir à l opérateur de sécurité que les alertes pertinentes qui demanderont éventuellement une intervention. On cherche aussi à préciser le degré de priorité relatif de chaque alerte pour optimiser la tâche de traitement. Réduire le nombre d alertes ne veut en aucun cas dire la désactivation immédiate d une alerte ce qui pourrait induire une non détection d une attaque éventuelle. L idée principale derrière la réduction du volume d alertes est de faire une analyse automatique des différentes alertes pour en déduire celles qui, dans la configuration actuelle du système d information à superviser, ne constituent pas un risque majeur et ne demandent pas une intervention immédiate de l opérateur de sécurité. Dans de nombreux cas, le processus de corrélation d alertes va éliminer les alertes surnuméraires en générant une alerte synthétique regroupant plusieurs alertes. Pour optimiser le traitement des alertes il faut améliorer leur sémantique; une bonne corrélation repose d abord sur une bonne expressivité et une richesse de l alerte en terme d informations. Ceci veut dire que chaque alerte doit contenir un nombre minimal d information pour pouvoir aboutir à une bonne corrélation. Notons que la sémantique de l alerte obtenue par corrélation doit contenir une définition précise de l attaque encourue, des risques auxquels est confronté le système en question ainsi qu une classification par niveau de priorité pour le traitement ultérieur des alertes. Une amélioration consiste à sélectionner les contre-mesures pour faire face à la menace. Toutes ces améliorations, comme vous pouvez le remarquer, demandent une certaine connaissance topologique du réseau surveillé ainsi qu une connaissance des vulnérabilités des différents systèmes pour pouvoir déterminer les menaces et les contre-mesures. Choses que le système de détection d intrusion, seul, ne peut savoir. D où l intérêt d avoir des outils de cartographie qui fourniront ces différentes informations. La corrélation d alertes peut aussi bien concerner des alertes en provenance d un seul équipement de détection, que des alertes en provenance de différents équipements dans le cas d une supervision distribuée du réseau. Ce dernier cas pose le problème de la représentation des données collectées par les alertes. En effet les systèmes de détections étant dans la plupart des cas hétérogènes, l échange de donnée d alertes nécessaire dans le processus de corrélation doit se faire en utilisant un format standard de représentation de ces données. Plusieurs travaux sur le modèle de représentation des données d alertes ont eu lieu donnant naissance à différents modèles de description d alerte. Citons M2D2 [21] qui est un modèle intégrant des informations relatives à la topologie et prenant en compte les vulnérabilités des machines sur le réseau. La partie suivante se consacre aux différentes techniques de corrélation existantes pour faire ressortir les différents points non encore abordés ou qui peuvent être améliorés. 3.1. Les techniques de corrélation Plusieurs techniques de corrélation ont été mises en place durant les dernières années. Une de ces techniques est celle utilisée dans le détecteur EMERALD et dite corrélation bayesienne [20] qui repose sur l agrégation. Cette approche consiste à dégager des similarités entre les différents attributs communs à un sous ensemble d alertes. Ces attributs sont l adresse de l attaquant, l adresse de la cible, l identifiant de la sonde générant l alerte, la date d occurrence et le type d attaque. Une méta-alerte est ensuite créée. Elle aura comme attributs l union des différents attributs des alertes de l ensemble constitué par les alertes considérées similaires. L inconvénient de cette méthode est que d après la définition des types d attaques, une alerte ne peut appartenir qu à un seul type d attaque. En plus aucune information sur la 13

cartographie du réseau n est exploitée et ceci ne permettra pas une optimisation du processus de corrélation. D autres approches comme celle de Lambda [22] et CRIM [23] reposent sur une description d un scénario d attaque dans un langage basé sur la logique. Une attaque est décrite comme une succession d évènements. Chaque événement est décrit par des préconditions et des post-conditions. Les pré-conditions doivent être remplies pour que l attaque puisse avoir lieu et les post-conditions doivent être vérifiées par chaque évènement pour pouvoir affirmer qu une attaque est en_train de se produire. Dans ce cadre, la corrélation consiste donc à lier les post-conditions d un évènement (détecté par une alerte) aux préconditions de l évènement suivant du scénario décrit. Ceci demande la description préalable dans ce langage d un grand nombre d évènements. Même si dans ce cadre il est possible d intégrer des informations de type cartographiques dans les conditions, ceci n a pas encore été mis en œuvre. Il existe cependant une approche qui est utilisée dans l outil OWL [20] et qui prend en compte, dans le processus de corrélation, des informations en provenance des outils d audit de vulnérabilité. Ceci est une étape vers une exploitation d informations autres que celles directement connues par les outils de détections d intrusions. Elle permet, quand une alerte se produit et signalant l existence d une attaque qui exploite une certaine vulnérabilité, de vérifier à partir des informations recueillies dans les outils d audit si cette vulnérabilité existe effectivement et quelles sont les menaces engendrées sur le système. Ainsi il serait possible de générer une nouvelle alerte et de lui attribuer un niveau de priorité en fonction de la gravité de la situation. Cependant il n y a aucun autre moyen de vérifier si vraiment le système est compromis. De plus, les outils d audit détectent la présence de vulnérabilité et non pas son absence. Cette dernière information pourrait être utile pour une élimination d alertes correspondant à l exploitation d une vulnérabilité non existante au niveau du système. Le problème reste à trouver un moyen ou un outil permettant d avoir une telle information. Une autre technique de corrélation est basée sur les chroniques [24]. Cette approche est surtout utile pour une réduction du nombre d alertes correspondant à une attaque à caractère répétitif dans le temps (les vers). Cette technique introduit une notion d horodatage qui consiste à reconnaître un flux ordonné et borné temporellement. Prenons l exemple d une attaque constituée de la propagation d un certain virus. Ce dernier, pour se propager, réalise un certain nombre de requêtes (le ver NIMDA à titre d exemple [20]). Cette technique va permettre de suivre et de corréler les alertes relatives à chacune de ces requêtes durant un certain espace temporel. Si cette suite d alertes a eu lieu, une alerte correspondant à la tentative de propagation de ce virus est générée. Cette technique demande un travail d écriture relativement important. Elle ne prend pas en compte non plus les caractéristiques du système attaqué. Il est fort probable que même si l attaque a eu lieu le système ne soit pas compromis puisqu il ne présente pas de vulnérabilité à ce genre précis d attaques. D où encore une fois une nécessité d intégration de nouvelles données dans ce modèle. 3.2. Les perspectives D après cette brève description des techniques existantes on peut déjà noter qu il existe toujours des lacunes dans chacune de ces méthodes. Ces lacunes pourraient être comblées si d autres informations plus précises sur les différents systèmes du réseau peuvent être recueillies. On peut même se demander si on ne pouvait pas descendre un rang dans la détection d intrusion. Au lieu de chercher à corréler des alertes pourquoi ne pas optimiser le processus de détection lui-même en essayant de faire un suivi des activités d un attaquant dans le temps. Ceci est déjà vu dans ce que l on a appelé l approche «stateful» de la détection. Ce qui ne va pas sans problème de stockage de données mais pourra, en définissant les signatures ou les scénarii de façon à y corréler des informations en provenance des outils de cartographie, réduire peut-être le nombre d alertes générées. Le problème est que l attaquant pourra essayer de faire exploser la sonde stateful en initialisant un grand nombre d attaques sans jamais les terminer, un peu comme dans un syn-flooding. 14

Pour optimiser les informations recueillies par les outils d audit de vulnérabilité, il serait intéressant aussi de pouvoir dresser un bilan des différents services actifs sur une machine donnée en leur associant les informations sur leurs versions et vulnérabilités pour pouvoir réduire de façon optimale le nombre de fausses alertes. C est à ce niveau que va se situer le travail durant le stage ; on va essayer d élaborer à partir des différents outils dont on dispose, un moyen d extraction d informations pertinentes qui pourraient nous être utiles pour l amélioration du processus de corrélation. Quelles sont les informations demandées? Comment les prendre en compte dans le mécanisme de corrélation? Toutes ces questions sont ouvertes et on espère apporter quelques réponses. Conclusion Actuellement la demande en matière de sécurité est de plus en plus importante. Les attaques quant à elles, sont devenues inévitables et les outils de détection présentent certaines limites. La tendance à optimiser ces derniers va de pair avec la recherche de nouvelles sources de données exploitables. La corrélation d alertes est un domaine prometteur. Beaucoup de travaux sont actuellement en cours pour élaborer de nouvelles méthodes et de nouveaux outils permettant d optimiser le processus de détection d intrusions. Un autre domaine de recherche est en_train de progresser, celui de la cartographie de réseaux qui, on l espère, va venir en aide aux techniques de corrélation d alertes. C est dans cette voie de recherche que va s effectuer notre stage avec l espoir de pouvoir apporter des réponses à certaines questions qui se posent toujours dans ce domaine 15

Bibliographie [1] H. Debar, Etat de l art sur la cartographie de sites, techniques de corrélation a_priori et les techniques de corrélation explicite, draft 0.1, 2002. [2] B. Mukherjee, L.Heberlein, K.Levitt, Network Intrusion Detection, IEEE Network, May/June 1994. [3] Site Web de RNA http://www.sourcefire.com/products/rna.html [4] R.Deraison, R.Gula, T.Hayton, Passive Vulnerability Scanning Intoduction to NeVO, Tenable Network Security, August 2003. [5] Site Web d EthercapNG http://ettercap.sourceforge.net/index.php [6] J.Melton, Gail-Joon Ahn, Application Penetration Testing: Concepts and Taxonomy, http://uncc.servehttp.com/php/cgi-bin/apt_presentation.pdf [7] Site THC http://www.thc.org/releases.php [8] Site Web Nessus http:// www.nessus.org [9] Site Web Nmap http://www.insecure.org/nmap/index.html [10] Site Web p0f http://lcamtuf.coredump.cx/p0f/ [11] Site Web OSSIM http://www.ossim.net [12] Site Web SIRC/Checkos http://www.papyrusweb.ch/syspinner/stackfingerprinting.asp [13] Martin Roesch, Snort-Lightweight Intrusion Detection for Networks, Stanford Telecommuniactions,Inc. November 7-12, 1999. [14] R.Deraison, R.Gula, Blended Security Assessments, Combining Active, Passive and Host Assessment Techniques, Tenable Network Security, July 2004. [15] W.Jansen, P.Mell, T.Karygiannis, D.Marks, Mobile Agents in Intrusion Detection And Response, National Institute for Standards and Technology Gaithersburg, 2000. [16] B.Dayioglu, A.Ozgit, Use of Passive Network Mammping to Enhance Signature Quality of Misuse Network Intrusion Detection Systems, Proceedings of the 16 th International Symposium on Computer and Information Sciences, November 2001. [17] Site Web Scotty/Tkined http://wwwhome.cs.utwente.nl/~schoenw/scotty/ [18] Yohann Thomas, Acquisition passive de la cartographie d un réseau, rapport de stage de fin d études, France Telecom R&D Caen, Juin 2004. [19] S. Krishnamurthy, A. Sen, Stateful Intrusion Detection System (SIDS), Proceedings of the 2 nd International Information Warfare and Security Conference, Perth, Australia, November 2001. [20] H. Debar, Détection d intrusions vers un usage réel des alertes, rapport d habilitation à diriger des recherches. [21] B. Morin, L. Mé, H. Debar, M. Ducassé, M2D2 : A Formal Data Model for IDS Alert Correlation, Proceedings of the 5 th symposium on Recent Advances in Intrusion Detection (RAID 2002), Zurich, Switzerland, October 2002. [22] F.Cuppens, R.Ortalo, LAMBDA : A Language to Model a Database for Detection of Attacks, Third International Workshop on Recent Advances in Intrusion Detection (RAID 2000), Toulouse, Octobre 2000. [23] F. Cuppens et A. Miège. Alert correlation in a cooperative intrusion detection framework. IEEE Symposium on Research in Security and Privacy, Oakland, Mai 2002. [24] B.Morin, H.Debar, Correlation of Intrusion Symptoms: an Application of Chronicles, Proceedings of the 6 th symposium on Recent Advances in Intrusion Detection (RAID 2003),Carnegie Mellon University, Pittsburg, Septembre 2003. 16

ANNEXES Annexe A Outils utilisés dans OSSIM La table ci-dessus a été retirée du site de OSSIM. 17

Annexe B Caractérisation d une machine par OSSIM Windows Linux 18

Moniteur de session TCP Détection de changement d OS 19