Structure interne d un IDS



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

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

Les IDS et IPS Open Source. Alexandre MARTIN Jonathan BRIFFAUT

Détection d'intrusions et analyse forensique

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

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

Sécurité des réseaux Les attaques

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

Topologies et Outils d Alertesd

Sécurité des réseaux Firewalls

SECURIDAY 2013 Cyber War

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

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

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

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

Retour d expérience sur Prelude

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

PACK SKeeper Multi = 1 SKeeper et des SKubes

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

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

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

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

IPS : Corrélation de vulnérabilités et Prévention des menaces

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

Indicateur et tableau de bord

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

Fiche Technique. Cisco Security Agent

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

INTRUSION SUR INTERNET

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

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

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

SECURITE. Figure 1. Incident réseau, source CERT. Nombre. Sécurité

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Administration réseau Firewall

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

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

NT Réseaux. IDS et IPS

Projet de Sécurité Groupe Audit

Les firewalls libres : netfilter, IP Filter et Packet Filter

Compromettre son réseau en l auditant?

Protection des protocoles

L3 informatique Réseaux : Configuration d une interface réseau

Introduction. Adresses

Laboratoire de Haute Sécurité. Télescope réseau et sécurité des réseaux

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

Couche application. La couche application est la plus élevée du modèle de référence.

DIFF AVANCÉE. Samy.

SECURIDAY 2012 Pro Edition

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

Groupe Eyrolles, 2004, ISBN :

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Sécurisation du réseau

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

RAPPORT DE TER sur PRELUDE-IDS

Chapitre 7. Le Protocole SNMP 7.1 INTRODUCTION COMPOSANTES POUR L UTILISATION FONCTIONNEMENT LE PAQUET SNMPV1...

Bibliographie. Gestion des risques

TCP/IP, NAT/PAT et Firewall

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

Gestion des incidents de sécurité. Une approche MSSP

Plan. Programmation Internet Cours 3. Organismes de standardisation

Sécurité des Réseaux et d internet. Yves Laloum

Security and privacy in network - TP

La citadelle électronique séminaire du 14 mars 2002

avec Netfilter et GNU/Linux

FORMATION PROFESSIONNELLE AU HACKING

Sécurité de la ToIP Mercredi 16 Décembre CONIX Telecom

Programme formation pfsense Mars 2011 Cript Bretagne

DenyAll Detect. Documentation technique 27/07/2015

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

DenyAll Protect. Sécurité & accélération. Parefeux pour applications et services Web. de vos applications.

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

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

THEGREENBOW FIREWALL DISTRIBUE TGB::BOB! Pro. Spécifications techniques

Notions de sécurités en informatique

FORMATION CN01a CITRIX NETSCALER

Supervision de réseau

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

VoIP Sniffing IHSEN BEN SALAH (GL 3) MAHMOUD MAHDI (GL 3) MARIEM JBELI (RT 2) SAFA GALLAH (RT 3) SALAH KHEMIRI (RT 3) YOUSSEF BEN DHIAF (GL 3)

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

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

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

Welcome. Bienvenue. Willkommen. welkom. yôkoso. Benvenuto. Bienvenida. tervetuloa

Mise en place d une politique de sécurité

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

Kerberos en environnement ISP UNIX/Win2K/Cisco

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

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

z Fiche d identité produit

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

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

WIFI (WIreless FIdelity)

Etat des lieux sur la sécurité de la VoIP

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Mise en place d un cluster NLB (v1.12)

Transcription:

Structure interne d un IDS vcars 2003 Laurent Oudot oudot@rstack.org http://www.rstack.org/oudot vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 1

Bibliographie Intrusion Detection Systems, article de Rebecca Bace & Peter Mell Network Intrusion Detection, an Analyst s Handbook, livre de Stephen Northcutt & Judy Novak Implementing Intrusion Detection Systems, livre de Tim Crothers Revue MISC numéro 3, Dossier spécial : «IDS, La détection d intrusions», juillet 2002 Incident Response, livre de Kenneth R.van Wyk & Richard Forno Architecture expérimentale pour la détection d intrusions dans un système informatique, étude de Philippe Biondi [http://www.cartel-info.fr/pbiondi/ids.pdf] Honeypots, Tracking Hackers, livre de Lance Spitzner Honeyd - Virtual Honeypots, présentation de Niels Provos [http://www.rstack.org/oudot/rmll/] vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 2

Plan de la présentation Introduction et rappels Détection d intrusions au niveau des réseaux Détection d intrusions au niveau système (et applicatif) Exploitation des systèmes de surveillance Particularité : les pots à miel Le futur : vers la prévention d intrusions? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 3

Introduction et rappels vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 4

La notion d intrusions Qu entend-on ici par «intrusions»? «Utilisation d un système informatique à des fins autres que celles prévues, généralement dues à l acquisition de privilèges de façon illégitime» (*) Tentative [attaque] ou réussite [intrusion] ayant pour objectif de compromettre sur un système ou sur un réseau : la confidentialité, l intégrité, la disponibilité et l imputabilité. (*) P.Biondi («Architecture expérimentale pour la détection d intrusions dans un système informatique») vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 5

Définition : la détection d intrusions Qu entend-on ici par «détection d intrusions»? La détection d intrusions est l activité correspondant à : 1) la surveillance des événements au niveau des systèmes, des applications et des réseaux collection d informations sur l utilisation d un système d information 2) l analyse de ces événements à la recherche de «signes» d intrusions Les Systèmes de Détection d Intrusion (Intrusion Detection Systems : IDS) sont des produits ou du matériel qui automatisent les processus de surveillance et d analyse. vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 6

Champ d action des IDS Extranet DMZ Accès sans-fil Internet avant le pare-feu Intranet (stagiaires, sous-traitants ) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 7

CIDF CIDF: Common Intrusion Detection Framework Enregistrement D-BOX (stockage) Surveillé A-BOX (analyse) E-BOX (générateur d évènements) Interactions Contre-Mesure C-BOX (response) Environnement extérieur vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 8

Point sur les types d analyse Signatures et comportements vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 9

Types d analyses Deux approches principales dites «par signatures» ou «comportementale» La technique «par signatures» permet de rechercher des formes d évènements caractérisant une attaque Ex: Milliers de NOP + data et «/bin/sh» vers un serveur HTTP La technique «comportementale» permet de rechercher des évènements liés à des activités anormales Ex: la secrétaire se met à utiliser des outils de gestion réseau vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 10

Analyse par signatures Avantages «Censés» être très puissants pour reconnaître une attaque sans générer trop de fausses alarmes (faux positifs) Capables de diagnostiquer rapidement l utilisation d une technique d attaque ou d un outil d attaque spécifiques Possibilité d aider les administrateurs systèmes (moyennant leur niveau d expertise) à traquer un problème de sécurité en initiant des procédures de gestions d incidents... Inconvénients Impossibilité de détecter des attaques non connues (!) => update Problèmes d évasions (=> systèmes avec états, etc) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 11

Analyse comportementale Recherche d anomalies comportementales sur le réseau ou les machines Construction de profils définissant le comportement normal d utilisateurs, de machines, de réseaux (apprentissage) Seuils de détection statiques ou heuristiques (ex: nombre de tentatives de connexions erronées, %CPU utilisé par un processus ) Mesures statistiques, règles, réseaux de neurones, algorithmes génétiques, modèles de systèmes immunitaires... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 12

Analyse comportementale Avantages : La détection d anomalies permet de détecter un comportement non usuel et ainsi offrent la possibilité de trouver des symptômes d une attaque sans en connaître les détails Peut permettre de produire de l information qui peut être utilisée pour définir des signatures utilisables pour les systèmes à signatures Inconvénients : Produit une quantité énorme de fausses alertes à cause du caractère imprévisible des utilisateurs et des réseaux (ruptures ) Demande une intense phase d apprentissage pour caractériser la normalité des comportements vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 13

Systèmes de détection d intrusions Détection d intrusions au niveau des réseaux NIDS : Network based Intrusion Detection System Détection d intrusions au niveau système (et applicatif) HIDS : Host based Intrusion Detection System Exploitation des systèmes de surveillance Particularité : les pots de miel Honeypots Le futur : vers la prévention d intrusions IPS : Intrusion Prevention Systems vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 14

Détection d intrusion au niveau réseau NIDS vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 15

Fonctionnement Définition : système de détection d intrusions basé sur l analyse temps réel (sauf shadow) de flux au niveau réseau Principe : constitué d une fonctionnalité type sniffer capturant les trames et d une autre jouant le rôle d analyseur «Comparaison» : Anti-virus analysant un système de fichiers Réseau paquets Interception et tampon pour les paquets paquets Moteur d analyse Alertes Base de signatures Soussystèmes... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 16

Remarques Protection apportée : capable de surveiller le brin réseau sur lequel il se trouve connecté (donc protéger ainsi plusieurs machines) Déploiement classique : installation courante de plusieurs NIDS sur des segments réseaux disjoints afin de protéger chacun de ces derniers remontée des alertes sur un point central jouant le rôle de console d administration des alertes Robustesse : ces sondes de détection (sensors) sont facilement sécurisées voire même invisibles Boîtiers TAP (Test Access Port) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 17

De l analyse classique assez simple... vers une analyse avec état et interprétation des protocoles vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 18

Analyse sans état (1) Le pattern matching «simple» Concept : Appliquer un masque sur chaque paquet Exemple : signature = «winnt» dans trame HTTP ngrep -q -x "winnt» T 192.168.2.182:4239 -> 192.168.1.201:80 [AP] 47 45 54 20 2f 63 2f 77 69 6e 6e 74 2f 73 79 73 GET /c/winnt/sys 74 65 6d 33 32 2f 63 6d 64 2e 65 78 65 3f 2f 63 tem32/cmd.exe?/c 2b 64 69 72 20 48 54 54 50 2f 31 2e 30 0d 0a 48 +dir HTTP/1.0..H 6f 73 74 3a 20 77 77 77 0d 0a 43 6f 6e 6e 6e 65 ost: www..connne 63 74 69 6f 6e 3a 20 63 6c 6f 73 65 0d 0a 0d 0a ction: close... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 19

Analyse sans état (2) Problème : évasions simples (ex: fragmentation, TCP_MSS ) Paquet 1: "GET /c/win" Paquet 2: "nt/system32/cmd.exe?/c+dir" nt/system32/cmd.exe?/c+dir Attaquant GET /c/win NIDS signatures winnt Pile IP Cible GET /c/winnt/system32/cmd.exe?/c+dir Serveur HTTP Ré-assemblage vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 20

Analyse avec états Pattern matching évolué Concept : Appliquer un masque sur des flux de paquets associés Sessions TCP Fragments IP Implique de se comporter comme les machines «cibles» Interpréter de la même manière ce qui est reçu Problèmes : gourmand en ressources (suivi des sessions!) évasions possibles Exemple : Bombardement Nécessite des algorithmes puissants Exemple : Translation de «cmd.exe» dans flux HTTP GET /c/winnt/system32/cmd.ex%65?/c+dir Nécessite l interprétation des flux vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 21

Analyse avec états et décodage Pattern matching évolué associé à des systèmes de décodage de protocoles HTTP, RPC, TELNET, FTP Problèmes Limite : attaques inconnues (non recensées) Nécessite des analyses à base d IA Limite : l interprétation finale de ce qui est envoyé complexe Exemple d évasion (recherche de «vcars» dans session telnet) $ stty erase X $./voxcarixs $ stty erase ^? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 22

Cas d exemple : prelude-nids vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 23

Réassemblage IP & TCP Exemple : prelude-nids Plugins de détection [détection d'attaque]. Utilisent les données transmises par le cœur de prelude-nids, et génèrent éventuellement une alerte. Indiquent au cœur de prelude-nids les paquets intéressant (exemple : activation que lors de paquet TCP). Ex: ARP Spoofing, Shellcode polymorphic, port scan Plugins de protocole [protocoles de haut niveau] Utilisés au dessus de udp/tcp, ils essaient de décoder un flux, afin d'en extraire des informations importantes. Normalisation et décodage pour contrer des problèmes de pattern matching (UTF-8 Unicode, FTP/Telnet, RCP) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 24

Exemple : prelude-nids Analyse basée sur des algorithmes à base d arbres binaires : une seule alerte par paquet Objectif : minimiser l ensemble des tests à effectuer afin de déterminer quelles règles correspondent au paquet Inutile de vérifier si un paquet UDP vers port 514 contient «GET /scripts/../../winnt...» sensé être dans TCP vers 80 Structure choisie : arborescente on associe chaque test à un nœud de l arbre une réponse positive à ce test dirige vers le fils une réponse négative dirige vers le frère [voir code signature_engine_process_packet( racine, paquet) ] vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 25

Exemple : prelude-nids L arbre représente le OU de toutes les signatures Chaque nœud contient notamment : une variable symbolisant le test placé sur ce nœud un pointeur sur la fonction de test du paquet une liste de fonctions de callback (règles venant d être réussies) un fils et un frère Difficultés rencontrées : création de l arbre (règles à ordonner, pertes de mémoire ) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 26

Exemple : prelude-nids Moteur d analyse des paquets (simplifié) Si node->match_packet(packet, node->var.set) < 0 Alors node=node->brother Sinon node=node->child Si node est une feuille && règle match_packet ok Alors appel de fonction permettant d émettre alerte Exemple (idée générale de fonctionnement) : UDP? oui non TCP? oui Sport=53? non Dport=2049? oui SYN? oui non vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 27

Factorisation et moteurs de signatures Exemple de problème (vieille version de snort [2001]) Système basé sur les en-têtes (IP sources, Ports sources, IP destinations, Ports destinations) Les règles de signature avec la même en-tête sont regroupées On teste chaque paquet à chaque en-tête, et en cas de correspondance, on y teste toutes les règles associées de manière séquentielle. => Duplication, tests en double ou inutiles... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 28

Exemple : prelude-nids Décapsulation et analyse dans prelude-nids «Découpage» de la trame et «Stockage» des éléments nécessaires pour sousroutines (code : SliceAndStoreEtherPkt()...) Validations et gestion des streams Détection ANALYSE_SIMPLIFIEE(TRAME){ Si Ethernet Alors Validation Ethernet Si IP Alors Validation IP Si TCP Alors Validation TCP Validation Plugin DATA Signatures au niveau TCP Si UDP Alors Signatures au niveau IP Si ARP Alors RELEASE de la TRAME } vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 29

Analyse heuristique Problème des systèmes classiques : les systèmes de signatures ne peuvent trouver ce qui n est pas déjà référencé Solution possible : analyse heuristique Outils :??? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 30

Avantages des NIDS Avec seulement quelques NIDS bien positionnés on peut surveiller de très grands réseaux Chaque brin réseau à surveiller doit posséder son NIDS Déployer un NIDS a un faible impact sur un réseau existant en effet un NIDS est un équipement passif écoutant le trafic sur son câble sans interférer avec le réseau Les machines avec un NIDS sont facilement très blindées Invisibles aux attaquants (pas besoin d avoir une adresse sur le réseau, pas besoin de parler sur le réseau [sauf si CM]) Une seule tâche à effectuer : regarder le trafic et le traiter vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 31

Inconvénients des NIDS Problèmes de charges réseau / CPU nécessaire (trop de paquets ) Une attaque peut donc ne pas être détectée! Le mythe du zéro paquet de perdu Les solutions basées sur le hardware sont plus rapides (mais plus chères) Les réseaux switchés modernes gênent le fonctionnement : Le réseau est subdivisé en plusieurs segments (un par machine) Liens directs pour du trafic inter-hosts d un même switch Pas de support de port-monitoring sur certains switches Même avec le support du port-monitoring, le switch peut difficilement envoyer tout le trafic sur un seul port (+ perte d information : tag 802.1q...) On risque alors de ne devoir surveiller qu un seul brin vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 32

Inconvénients des NIDS Impossible d analyser le trafic chiffré (VPN, IPSEC, HTTPS, SSH ) Impossible ou difficile de dire qu une attaque a effectivement marché l initiation de l attaque est détectée, investigation manuelle sur le système nécessaire (!) Limites : problèmes liés aux paquets «mal-formés» et aux signatures instabilités techniques d évasions faux-positifs Exemple : recherche de «../..» => GET /intranet/2003/../../pics/vcars2003.png base de signatures toujours incomplètes et à mettre à jour vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 33

NIDS Quelques outils «opensource» intéressants NIDS Snort Bro Prelude-nids http://www.snort.org http://www.icir.org/vern/bro-info.html http://www.prelude-ids.org Shadow http://www.nswc.navy.mil/issec/cid/ (??) Autres Arpwatch Ettercap Tester la fiabilité des NIDS snot isic idswakeup fragroute whisker http://www-nrg.ee.lbl.gov/ http://ettercap.sourceforge.net vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 34

Détection d intrusion au niveau des systèmes Systèmes, applications, logs, audits trail... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 35

HIDS : Host-based IDS Définition : système de détection d intrusions basé sur l analyse d informations provenant de systèmes Principe : utilisation de «l audit trail» (kernel) et des logs systèmes Protection : capable surveiller une machine (protection locale) ou plusieurs en cas de déport des alertes vers un point central Déploiement : installation courante de plusieurs HIDS sur des machines sensibles afin de protéger chacune d entre elles ; remontée des alertes sur un point central jouant le rôle de console d administration des alertes Robustesse : ces sondes de détection (sensors) sont plus difficiles à protéger à cause des impacts de compromissions locales vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 36

Avantages des HIDS La capacité des HIDS à traiter des évènements locaux permet de voir certaines attaques qu un NIDS ne peut pas voir (noms des users et des fichiers, processus ) Les HIDS peuvent souvent fonctionner en environnement avec un trafic réseau chiffré (ex: attaques dans flux ssh) Les HIDS ne sont pas affectés par l utilisation de réseaux switchés Les HIDS utilisant les «audit trails» peuvent aider à détecter des chevaux de Troie ou d autres problèmes d intégrité (inconsistances pendant l exécution d un processus) [utilisation complexe] vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 37

Inconvénients des HIDS Difficultés d administration : informations à configurer et à manager pour chaque machine surveillée Risques énormes en cas de compromission locale (logs ) Difficultés pour voir des problèmes réseaux ayant trait à plusieurs machines (scans larges ) [travail local seulement] Certaines attaques type dénis de service peuvent gêner le fonctionnement d un HIDS (ils ne sont pas invisibles) L utilisation de «l audit trail» implique un traitement colossal de données (!) [problèmes de stockage ] [CPU du surveillant = CPU du surveillé] => performances vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 38

HIDS spécial : Application-based IDS Sous-classe des HIDS analysant les traces issues non pas du système mais des applications (ex: /var/log/apache/access.log) Avantages : Surveille l interaction utilisateur/application/données Environnement chiffré possible (points d entrées applicatifs) Inconvénients : Encore plus vulnérable qu un HIDS (logs moins protégés que ceux issus du système directement) Difficultés de voir un cheval de Troie ou une attaque cachant des choses à l application (mode utilisateur) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 39

Exemple de traçabilité bas-niveau Objectif : savoir qui a lancé quoi et quand? Exemple brut «simplifié» sous Linux : Modifications du noyau, exemple : int do_execve( ) dans fs/exec.c printk(kern_info "Suivi execution: [%s] execute avec le pid [%d] (args=%d, evars=%d) uid=%d euid=%d\n", filename, current->pid, bprm.argc, bprm.envc, current->uid, current->euid); Traces obtenues au niveau syslog Nov 22 00:56:54 localhost kernel: Suivi execution: [/usr/lib/gcc-lib/i386- linux/2.95.4/cpp0] execute avec le pid [12526] (args=40, evars=29) uid=0 euid=0 Nov 22 00:56:54 localhost kernel: Suivi execution: [/usr/lib/gcc-lib/i386- linux/2.95.4/cc1] execute avec le pid [12527] (args=11, evars=29) uid=0 euid=0 vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 40

Exemple d analyse de logs May 8 03:22:45 rstack.org sshd[31178]: Did not receive identification string from 62.16.70.9. May 8 08:34:50 rstack.org sshd[31463]: Bad protocol version identification '?ô?ý^f' from 14.251.50.xxx May 8 09:06:40 rstack.org sshd[31475]: Bad protocol version identification '^V^C^A' from 19.213.32.xxx May 8 09:06:40 rstack.org sshd[31476]: Bad protocol version identification '^V^C' from 19.213.32.xxx May 8 09:06:40 rstack.org sshd[31477]: Bad protocol version identification '\200.^A' from 19.213.32.xxx May 8 09:06:41 rstack.org sshd[31478]: Bad protocol version identification 'GET / HTTP/1.0' from 19.213.32.xxx May 8 09:08:19 rstack.org sshd[31479]: Connection closed by 19.213.32.xxx May 8 09:08:20 rstack.org sshd[31480]: Connection closed by 19.213.32.xxx May 8 09:08:21 rstack.org sshd[31481]: Connection closed by 19.213.32.xxx May 8 09:08:22 rstack.org sshd[31482]: Connection closed by 19.213.32.xxx May 8 09:09:51 rstack.org sshd[31483]: Did not receive identification string from 19.213.32.xxx. May 8 09:13:31 rstack.org sshd[31487]: Bad protocol version identification '`' from 19.213.32.xxx May 8 09:13:31 rstack.org sshd[31488]: Bad protocol version identification '`/bin/id` #' from 19.213.32.xxx May 8 09:13:31 rstack.org sshd[31489]: Bad protocol version identification '`/usr/bin/id` #' from 19.213.32.xxx May 8 09:14:17 rstack.org sshd[31490]: Connection closed by 19.213.32.xxx May 8 09:14:18 rstack.org sshd[31491]: Connection closed by 19.213.32.xxx May 8 09:29:43 rstack.org sshd[31495]: Did not receive identification string from 19.213.32.xxx. May 8 09:29:43 rstack.org sshd[31496]: Did not receive identification string from 19.213.32.xxx. May 8 09:30:04 rstack.org sshd[31497]: Did not receive identification string from 19.213.32.xxx. May 8 20:55:43 rstack.org sshd[31776]: Could not reverse map address 20.39.220.xxx. May 8 20:55:49 rstack.org sshd[31776]: Failed password for ROOT from 20.39.220.xxx port 2348 May 8 20:56:16 rstack.org last message repeated 2 times May 8 20:56:17 rstack.org sshd[31776]: Connection closed by 20.39.220.xxx vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 41

Exemple : fonctionnement de prelude-lml lml vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 42

Quelques types d outils Usuellement on utilise des outils du type : analyse de traces systèmes et applicatives swatch, logchecker, prelude-lml protection/surveillance au niveau noyau un même exécutable plante trop de fois contrôle d intégrité Tripwire, AIDE, md5sum analyse de la sécurité locale vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 43

Exploitation des systèmes de surveillance Métier difficile et souvent ignoré vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 44

Exploitation des IDS Vision centralisée des problèmes de sécurité Visualisation simplifiée Outils d analyse agrégation corrélation statistiques analyses spécifiques Moyens d alerter Rapports synthétiques Veille technologique, documentation... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 45

Centralisation : capteurs / managers vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 46

Exemple de centralisation avec prelude-ids vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 47

Surveillance des alertes vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 48

Type d attaques recensées vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 49

Provenance des attaques vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 50

Outils de statistiques «Internet saturé» «Apparition du ver» «Combat et reprise» «Normal» vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 51

Normalisations des alertes Problèmes : gérer les multiples formats utilisés NT, Cisco, Unices, IIS, Apache... Objectifs : permettre l interopérabilité entre différents outils de sécurité Solution de l IETF : IDMEF Intrusion Detection Message Exchange Format basé sur XML fournit un descriptif de messages échangés par des IDS <Alert>...</Alert> <Hearbeat>... </Hearbeat> <CorrelationAlert>...</CorrelationAlert> vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 52

Outils complémentaires à l exploitation Analyse de vulnérabilités Exemple : Nessus et Prelude-IDS Nessus : «Machine vcars sous OpenBSD : telle vulnérabilité Apache» Prelude-nids : «Attaque détectée vers vcars : type agression pour IIS» Corrélation des deux informations Conclusion : ne pas traiter en priorité Extension : base de connaissance du système d information (pas que les vulnérabilités) à comparer avec les alertes remontées vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 53

Honeypots Un autre moyen de surveillance vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 54

Honeypots Pots à miels : «Honeypots» «A honeypot is an information system resource whose value lies in unauthorized or illicit use of that resource», Lance Spitzner => Énorme intérêt pour les activités type détection d intrusion!? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 55

Pourquoi? Toute interaction avec le honeypot traduit une activité malveillante ou anormale Réduction colossale du nombre de faux positifs!! Perte de temps pour le pirate bien occupé Attaque d un système qui n est pas en production Découverte de nouvelles vulnérabilités Utile par rapport aux problèmes de signatures Protection du reste du système fait gagner du temps aux défenseurs pour la réponse Champ de recherche, aspect ludique Nouveau, champ de recherche énorme, «blagues» aux pirates vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 56

Types de Honeypots Peu d interaction : quelques services simulés sans accès à un vrai système Beaucoup d interaction : représente un (vrai) système d exploitation complet Physique : le honeypot est le système réel tournant sur la machine qui l héberge Facile à faire, mais beaucoup de surveillance! Virtuel : aucun système physique ne correspond au Honeypot (pas de machine sacrifiée) Plus difficile à créer pour avoir l air réel, mais moins de risques vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 57

Problèmes Légalité : Peut poser un problème dans certains pays (UK) Que se passe-t-il si le pirate rentre comme «prévu» sur le honeypot et se met à attaquer ailleurs? Expertise et temps Création : Ce n est pas un jouet (enfin un peu quand même) le «blindage» est important et difficile Maintenance : Suivant le type mis en place, l analyse des attaques et la surveillance peut être un boulot à part entière Psychologie/Criminologie : Pourquoi énerver plus le pirate affamé? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 58

Leurrer le pirate Pas évident face à un bon niveau Au niveau du réseau Empreintes réseaux (xprobe, nmap, etc) Topologie réseau (paradis perdu?) Activité réseau (rien..?) Au niveau du système Empreinte (exemple : mémoire, cpuinfo, bios, ide ) Activité (jamais personne..?) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 59

Leurrer le pirate (exemple) Exemple avec Honeyd (faible interaction) create template set template personality "Windows 2000 Professional, Build 2128" add template tcp port 80 "sh scripts/web.sh" set template uid 65534 gid 65534 add template tcp port 4662 open add template tcp port 21 open add template tcp port 137 open add template udp port 137 open set template default tcp action reset bind 10.0.0.1 template set 10.0.0.1 uptime 1234567 create default set default default tcp action block set default default udp action block set default default icmp action block vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 60

Surveiller le pirate (!) honeyd[8348]: Connection request: (81.49.89.102:3679-10.0.0.1:80) honeyd[8348]: Connection established: (81.49.89.102:3679-10.0.0.1:80) <-> sh scripts/web.sh honeyd[8348]: Connection dropped with reset: (81.49.89.102:3679-10.0.0.1:80) honeyd[8348]: Connection request: (81.49.89.102:3692-10.0.0.1:80) honeyd[8348]: Connection established: (81.49.89.102:3692-10.0.0.1:80) <-> sh scripts/web.sh honeyd[8348]: Connection dropped with reset: (81.49.89.102:3692-10.0.0.1:80) honeyd[8348]: Connection request: (81.49.89.102:3700-10.0.0.1:80) honeyd[8348]: Connection established: (81.49.89.102:3700-10.0.0.1:80) <-> sh scripts/web.sh honeyd[8348]: Connection dropped with reset: (81.49.89.102:3700-10.0.0.1:80) honeyd[8348]: Connection request: (81.49.89.102:3761-10.0.0.1:80) honeyd[8348]: Expiring TCP (81.49.89.102:3761-10.0.0.1:80) (0x80bfc70) in state 3 honeyd[8348]: UDP Connection: (67.68.97.72:1031-10.0.0.1:137) honeyd[8348]: Connection established: (67.68.97.72:1031-10.0.0.1:137) honeyd[8348]: UDP Connection: (213.1.37.74:1028-10.0.0.1:137) honeyd[8348]: Connection established: (213.1.37.74:1028-10.0.0.1:137) honeyd[8348]: UDP Connection: (218.2.19.141:1550-10.0.0.1:137) honeyd[8348]: Connection established: (218.2.19.141:1550-10.0.0.1:137) honeyd[8348]: UDP Connection: (200.33.188.66:1025-10.0.0.1:137) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 61

Contrôle de l attaquant Entrée autorisée Sortie interdite ou limitée Interdite => le pirate ne peut pas faire partir de paquets n appartenant à aucune session Padded Cell Filtrage stateful (ESTABLISHED) et NAT Environnement assez protégé : sandbox (systrace) Limité => le pirate a droit à certains types de trafic ou à un certain nombre de paquets Autoriser les requêtes DNS Autoriser 3 paquets TCP en sortie par attaquant par heure vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 62

Systèmes de prévention d intrusions Mieux vaux prévenir... vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 63

Le concept d «IPS» IPS : Intrusion Prevention System Evolution du concept d IDS vers le concept de IPS Marketing? Technique? Certains IDS peuvent contrer une attaque suite à une détection : contre-mesures Ralentir, Reset TCP, ICMP unreachable, Coupure, ACL... Risques en cas de faux positifs Plutôt que de détecter et ensuite agir, ne peut-on peut pas : détecter et donc interdire => prévenir? IPS vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 64

Rappel : exemple de contre-mesure Extrait de IDS Active Response Mechanisms: Countermeasure Subsytem for Prelude IDS, Krzysztof Zaraska (Libre Software Meeting 2002 / Security Topic) vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 65

IPS, fonctionnement IPS : attaque détectée => attaque gérée Interdiction Requête rejetée Requête ignorée Flux associé à la requête ralenti Re-direction invisible vers un honeypot (déception) Exemples basés sur snort : Snort-inline (processus, espace utilisateur) libpcap remplacée par un contact direct avec le noyau linux (QUEUE) les trames sont demandées à la pile IP la pile IP attend la réponse de snort-inline pour agir sur le paquet Bait and switch : honeypot et/ou production vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 66

Conclusion pour ou contre? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 67

Conclusion générale Les IDS sont complexes Les IDS sont coûteux (temps et/ou argent) Les IDS ne sont pas parfaits En général, les IDS sont installés puis sont rarement utilisés (en tout cas pas régulièrement) Pourtant, pourquoi les IDS? Ce sont des «gadgets» qui peuvent parfois sauver un système d information ou même comprendre ce qui s est passé Futur prometteur, technologie encore jeune vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 68

Questions? vcars 2003-21 mai, Autrans - Oudot Laurent : "Structure interne d'un IDS" Page 69