IDS - Enseeiht
Transcription
IDS - Enseeiht
IDS : intro Sécurité des RO Quoi ? Software/Hardware System qui automatise le processus d'analyse des événements d'un ordinateur/réseau pour y détecter des signes de problèmes de sécurité/attaques ayant pour but de compromettre la confidentialité, l'intégrité, la disponibilité . Partie 7 ➢ Infrastructure devenu nécessaire pour une organisation/entreprise ➢ intrusion=attaquant accéde au système (e.g., via internet) gagnant des droits interdits ➢ IDS n'empêche pas les intrusions, mais les détecte ➢ Recherche de signature d'attaque => « pattern » spécifiques indiquant intention suspecte/malicieuse Systèmes de Détection d'Intrusion IDS Pourquoi ? ➢ augmentation du nombre de réseaux et de leurs tailles ➢ prévenir les problèmes en découvrant les attaquants ➢ détecter les attaques et problèmes de sécurités non encore détectées/corrigés bug noncorrigés attaque inconnue ou non publiée système impossible à mettre à jour service/protocol vulnérable aux attaques mais nécessaire erreur dans la configuration de la part de l'utilisateur/administrateur ➢ prévenir/empêcher/réduire les attaques contrôle de qualité de la sécurité (grands réseaux) ➢ obtenir des informations sur les intrusions, faire des corrections (suite à l'intrusion), ... Anas ABOU EL KALAM [email protected] 06/12/07 IDS : Principales architectures Anas Abou El Kalam - IDS 2 IDS : intro Stratégie de contrôle ➢ décrit comment les éléments d'un IDS sont contrôlés/managés ➢ Centralisé : monitoring et détection contrôlé par un seul système ➢ Partiellement distribué : monitoring et détection contrôlé par un noeud local avec « reporting » hiérarchisé sur 1 ou plusieurs noeuds ➢ totalement distribué : monitoring et détection utilisant approche orienté agent. Décisions prisent localement. Timing ➢ Temps entre la capture et l'analyse d'un événement. ➢ IntervalBased (Batch Mode) : non continu, « store and analysis » ➢ RealTime (Continuous) : continu Type de détection 06/12/07 Anas Abou El Kalam - IDS 3 Détection par scénario Détection d'anomalie 06/12/07 Anas Abou El Kalam - IDS 4 IDS : Techniques de Détection d'intrusions IDS : Techniques de Détection d'intrusions Misuse Detection (détection par scénario) Misuse Detection (détection par scénario) ➢ Connaissance préalable des scénarios d'attaque, dont les occurrences sont détectées ➢ différents types de langages : Event langages Reporting langages Correlation langages Exploit langages detection langages IDMEF : Intrusion Detection Message Exchange Format CISL : Common Intrusion Specification Language (langage de CIDF : standarisation protocoles et interfaces) ➢ recherche de tout ce qui est connu comme étant mauvais (utilisé par les IDS commerciaux) ➢ pattern = signature ➢ signature-based detection / state-based détection ➢ Système à base de règles ou à base de signature ➢ modèle : ensemble de sondes produisant un flux d'événements une base de signatures pattern matching = automate fini ➢ utilisation de langage de description d'attaques STATL : langage for state-based Intrusion detection abstraction du détail de l'attaque • réduit l'inhabilité à détecter les attaques modifiées description complète du scénario de l'attaque textbased langage (pas de représentation graphique) représente une attaque comme une composition d'états et de transitions centré autour du concept de scénario d'attaques pré/post conditions assertions algo génétiques/réseaux bayésiens un algorithme de recherche de motif composant le flux d'événements et les signatures 06/12/07 Anas Abou El Kalam - IDS 5 IDS : Techniques de Détection d'intrusions 06/12/07 Anas Abou El Kalam - IDS IDS : Techniques de Détection d'intrusions Anomaly Detection (détection d'anomalies) ➢ se base sur un profil phase d'apprentissage probabiliste // tatistique // à base de règles // approche immunologique // approche bayésienne ➢ deux phases : phase d'apprentissage créer un profil phase de détection détecte déviation par rapport au profil ➢ exploite la définition empirique d'un fonctionnement « sûr » et recherche les déviations par rapport à cette norme ➢ recherche de pattern d'activité anormal à partir d'appel systèmes ordre, nombre et fréquence des invocations/ analyse patterns of system calls Base Profile/SUID profile : execve()/ Daemon profile méthode de reconnaissance similaire à la reconnaissance de parole DP Matching pour améliorer la reconnaissance ➢ utilisation de profil représentant utilisateurs, hosts, network connections, ... ➢ recherche de déviations par rapport à la normal ➢ mesure et techniques utilisées : Threshold detection : attributs (%CPU,...) exprimé sous forme de borne Statistical measures : apprentissage sur des données d'une historique nonnumérique, 06/12/07 RuleBased measures : quantitéAnas Abou El Kalammais - IDS des règles 8 Autre : NN, algorithme génétique, ... Misuse Detection (détection par scénario) ➢ Avantages très efficace pour la détection sans générer trop de fausses alarme taux faible de faux négatif peut facilement diagnostiquer une attaque/technique spécifique autorise l'administrateur a traquer les problème de sécurité ➢ Inconvénients Ne détecte que les attaques connues difficile de détecter les variantes d'une attaque Anas Abou El Kalam - IDS 7 mis à jour, entretien de la base difficile 06/12/07 6 IDS : Techniques de Détection d'intrusions IDS : Techniques de Détection d'intrusions Anomaly Detection (détection d'anomalies) Anomaly Detection (détection d'anomalies) ➢ Avantages permet de détecter les symptômes sans vraiment comprendre l'attaque peut produire des informations qui permettent de définir des signatures pour la « misuse ➢ se base sur un profil des comportements normaux des utilisateurs, hosts, connections réseaux, ... ➢ exploite la définition empirique d'un fonctionnement « sûr » et recherche déviations / cette norme ➢ deux phases phase d'apprentissage apprentissage créer un profil techniques probabilistes, statistique, bayésienne, etc. phase de détection détecte déviation par rapport au profils normaux detection » ➢ recherche de pattern d'activité anormal à partir d'appels systèmes ordre, nombre et fréquence des invocations/ analyse patterns of system calls Base Profile/SUID profile : execve()/ Daemon profile méthode de reconnaissance similaire à la reconnaissance de parole produit un grand nombre de fausses alarmes ➢ Inconvénients paramètres difficiles/longs à ajuster détection difficile lorsque la ≠ entre le profile et l'attaque est petite (attaque caché ...) besoin d'un « trainingset » pour l'apprentissage ➢ mesure et techniques utilisées : Threshold detection : attributs (%CPU,...) exprimé sous forme de borne Statistical measures : apprentissage sur des données d'une historique RuleBased measures : quantité non-numérique, mais des règles Autre : algorithme génétique, ... faux-négatif si modification lente du comportement en vue d'une attaque 06/12/07 Anas Abou El Kalam - IDS 9 06/12/07 NIDS : Network IDS Anas Abou El Kalam - IDS 10 NIDS : Network IDS ➢ recherche de ces « pattern » dans le trafic réseau ➢ grande partie des IDS commerciaux (se branche sur un switch, ...) ➢ ensemble de sensors ou d'Host placés sur le réseau ➢ sensors peuvent fonctionner en « stealth » mode : difficulté de détection ➢ utilisation de carte réseau en mode promiscious écouter et analyser le trafic en temps réel ➢ Avantages monitor un large réseau déploiement à peu d'influence sur l'architecture existante peu être vraiment solide contre les attaques, et rester invisible OS indépendant analyse et réponse Temps Réel pas besoin de déployer un HIDS sur tous les machines ➢ I nconvénients problème/difficulté de reconnaissance si le trafic est intense ➢ détection impossible (difficile) si le flux est chiffré (e.g., par VPN) ➢ problème de stabilité avec les packets fragmentés 06/12/07 Anas Abou El Kalam - IDS 11 06/12/07 Anas Abou El Kalam - IDS 12 HIDS : Host IDS HIDS : Host IDS ➢ technique des année 80 quand les réseaux étaient plus petits et moins complexe ➢ Avantages ➢ travail sur les informations collectées sur un ordinateur individuel ➢ 3 forme : analyse des logs --> recherche de « attack pattern » recherche de pattern dans le trafic réseau exécute log-based et Stack-Based IDS ➢ data source : utilise informations provenant de l'OS analyse spécifique de l'activité d'un système (monitoring login/logoff, file, admin, ...) peut écouter les ports => alerte quand certain port est accéder analyse des éléments clés : base de registre, dll, espace disque, ... vérification des logs en TR ou périodiquement Anas Abou El Kalam - IDS détection même si le flux réseau est crypté (s'occupe des logs qui sont noncrypté) non affecté par les switched networks pas d'ajout hardware vérification d'attaque <=> permet de savoir si l'attaque a abouti ou pas ➢ Inconvénients Operating system audit trails et system logs 06/12/07 peut détecter les attaques non visible avec un NIDS 13 /ear RealTime détection et réponse : du à l'analyse des logs (du passé) OS dépendent difficile à manager : doit être fait sur toutes les machines peut être attaqué et déconnecté peut pas détecter les scans réseau (pas d'intéraction entre les HIDS) utilisation des ressources de la machine hôte mieux adapté aux systèmes réparties (ayant des données communes) 06/12/07 Type de réponses pour les IDS Anas Abou El Kalam - IDS 14 Type de réponses pour les IDS Active Responses Passive Responses ➢ réponse automatique en réponse à un certain type d'attaques ➢ fournit des informations à « l'administrateur », qui s'occupe de la réponse ➢ 3 types : ➢ IDS commerciaux ➢ 2 types : Alarmes et notifications ➔ générer quand l'attaque est détectée ➔ popup, SMS, mail, ... SNMP Traps and Plugins ➔ alarmes et alertes reportées à un network management system ➔ utilisation de SNMP traps and messages 06/12/07 Anas Abou El Kalam - IDS 15 Collecter des informations supplémentaires ➔ dans un environnement plus fermé ➔ augmentation de la sensibilité des logs, du nombre de logs Modifier l'environnement ➔ bloquer l'accès à l'attaquant (IP) ➔ stopper l'attaque ✔ injecter TCP reset dans la connexion de l'attaquant ✔ reconfigurer routeur et firewall pour bloquer les packets de l'attaquant ✔ reconfigurer routeur et firewall pour bloquer les services, ports, protocols ✔ isoler la machine : bloquer la connexion, l'interface réseau Effectuer un action contre l'attaquant ➔ problème légal ? ➔ utilisation de fausse IP par l'attaquant 06/12/07 Anas Abou El Kalam - IDS 16 Rapports . Outils complémentaires : Vulnerability Analysis or Assessment Systems Génération et archives de rapport determiner les vulnérabilité d'une machine ou d'un réseau essentiellement : batch mode misuse detector Vulnerability Analysis System Process : un ensemble spécifié d'attributs du système est testé le résultat est stocké dans une base sécurisé il est ensuite comparé avec un ensemble de référence toute différence est identifiée et reportée + parallélisation, + encryptage Vulnerability Analysis Types : HostBased Vulnerability Analysis (Prevention System): déterminer vulnérabilités par accés aux sources de data (file, configuration, ...) recherche des vulnérabilités passive NetworkBased Vulnerability Analysis (Prevention System) : nécessite une connexion à distance au système cible tentative d'attaques et de scan du système cible recherche des vulnérabilités active 2 mdes : Test par exploit // Inference methods (version logiciel, ports ouverts) Avantages : partie importante du security monitoring system système ne supportant pas les IDS information sur la sécurité du système Désavantages : OS et applications cibles spécifiques NBVA Osindépendant, mais moins puissant et renvoi plus de faussealarme DOS test peut faire planter le système test lorsque IDS fonctionne = problèmes ➢ génération de rapport et archive dans une BD, packages (Crystal report) Camouflage ➢ camoufler les réponses et alertes de l'IDS pour que l'attaquant ne les voit pas ➢ utilisation de canaux privés, chiffrés 06/12/07 Anas Abou El Kalam - IDS 17 06/12/07 Outils complémentaires : Anas Abou El Kalam - IDS 18 Bien choisir son IDS 1.Besoin et Techniques existantes ➢ Quel est votre OS Spécifications techniques de l'OS Spécifications techniques du système de sécurité actuelle But de l'entreprise, de l'organisation ? degré de formalisation de votre organisation? ➢ But, objectif de la sécurité : problème prioritaire? subit de nombreuses attaques? utiliser l'IDS pour définir de nouveau besoin? utiliser l'IDS pour contrôler le réseau? ➢ L'existant en matiére de sécurité comment est elle structuré? profession des utilisateurs? policies (potilique) ou autre management provisions? action à effectuer lors de la violation de la politique ? Integrity checkers ➢ digest, checksums, ..., comparé à un BD de références ➢ recherche de différence => alarmes ➢ permet de savoir quoi restaurer après une attaque ➢ http://www.tripwiresecurity.org Honey Pot ➢ noncommercial, recherche depuis 80 ➢ problèmes légales? ➢ honey pot : « The secret to a good defense is good offense » leurrer un attaquant potentiel, le détourner des attaquants potentiels : ➔ divertir l'attaquant ➔ collecter des informations sur les techniques de l'attaquant ➔ pousser l'attaquant à rester longtemps, le temps de le repérer outils de détection de présence d'honeypots existe exemple d'honeypots : honeyd Anas Abou El Kalam - IDS 19 06/12/07 2.+écessités et contraintes ➢ +écessité à l'extérieur de l'organisation accès public? audit interne? accréditation? résolution d'attaque? ➢ Contraintes budgetaire budget? 06/12/07 Anas Abou El Kalam - IDS administrateur? le droit d'effectuer des modifications suite aux résultats de l'IDS? 20 Déployer un IDS Déployer un IDS Déployer un HIDS 1. stratégie de déploiement ➢ ajoute un niveau de sécurité au NIDS ➢ pas sur tous les machines, seulement les plus critiques ➢ programmer régulièrement une analyse des résultats du HIDS ➢ security policies, plans, procedures doit être en place ➢ combinaison de HIDS et NIDS recommandé ➢ NIDS installé en premier => plus simple d'installation Déployer un NIDS ➢ puis HIDS sur machine critique ➢ tester de temps en temps les systèmes pour améliorer la configuration ➢ Honey pots, ..., si assez de connaissance dans ce domaine dans l'organisation Stratégie d'alarme ➢ bien choisir les types d'alarmes : email, paging, network management protocol traps, ... ➢ recommandation : ne pas mettre en service les alarmes avant un certain temps d'adaptation / surveillance / test 06/12/07 Anas Abou El Kalam - IDS 21 ➢ Où mettre le system sensors? derrière un firewall avec accès à l'extérieur : ➔ voir les attaques de l'extérieur pénétrant le réseau ➔ souligner les problèmes de politiques, performances, ..., du firewall ➔ savoir ce qui est attaquer (suivant la position du firewall) ➔ si l'attaque n'a pas été reconnu, l'IDS peut reconnaître le trafic sortant devant un firewall avec accès à l'extérieur : ➔ connaître le nombre, type d'attaques venant de l'extérieur on major network backbones : ➔ analyse maximum trafic, mais augmente la possibilité spoffing attacks ➔ détecter action non-autorisé de la part des utilisateurs autorisé sur les sous-réseaux critiques ➔ détecter les attaques ciblant les systèmes et ressources critiques ➔ réduire les ressources nécessaires aux- IDS IDS 06/12/07 Anas Abou El Kalam Avantages & Limitation des IDS Terminologie Avantages ➢ Alerts (events) : warning généré par l'IDS lorsqu'il détecte quelquechose de suspect ➢ Arach+IDS : attack profile database pour créer dynamiquement des signatures (compatible avec beaucoup de NIDS) ➢ Blacklist : http://www.kgb.to/ ➢ CIDF – Common Intrusion Detection Framework : effort de standardisation des IDS ➢ CISL – Common Intrusion Specification Language : language utilisé avec des composants CISL ➢ Correlation : mise en commun de plusieurs sources pour « mieux » en déduire des alertes ➢ Enumeration : scan d'un réseau pour en connaitre l'architecture ➢ False +egatives / Miss : attaque ou événement non détecté ➢ False Positives / False Alarm : attaque, qui n'en est pas une, détectée ➢ Fragementation : packet trop grand est découpé en fragment ➢ Intrusion Detection Working group : défini formats de données et formats d'échange de ces données ➢ Islanding : coupé l'accés internet du réseau ➢ Load Balancing : un IDS qui redirige le traffic vers d'autres NIDS pou alléger sa charge ➢ promiscious : permet d evoir les packet d'une interface (normalement visible que par elle) ➢ Signatures ➢ +etwork Grepping/ Pattern Matching ➢ Protocol decode/ Analysis ➢ Heuristic ➢ Anomaly/ Behavioral Signatures ➢ Statistical Anomaly ➢ Protocol anomaly ➢ Stealth Mode : permet à un IDS d'être invisible par rapport aux autres hôtes Analyser et étudier les événement système et les utilisateurs Tester le niveau de sécurité d'un système Connaître l'état de sécurité d'un système et en connaître les modifications Reconnaître les patterns d'événement qui correspondent à une attaque Reconnaître les patterns d''activité qui correspondent statistiquement à une attaque Managing OS audit et logging Alerter les bonnes personnes lors d'une attaque Mesurer la robustesse de la politique de sécurité Procurer des informations de base sur la politique de sécurité Permettre a des nonexperts de maintenir les systèmes Limitations Ne permet pas de : renforcer certains mécanismes (firewalls, identifications, encryptions, ...) détecter, reporter, repondre à une attaque instantanément détecter attaques nouvelles ou variantes d'attaques répondre à une attaque complexe automatisé tout : pas d'interversion humaine résister aux attaques contre IDS problèmes liés à la fidélité de la source d'information bien fonctionner avec switched networks 06/12/07 Anas Abou El Kalam - IDS 22 23 06/12/07 Anas Abou El Kalam - IDS 24 Introduction • Système de détection d'intrusion réseau (NIDS) • Auteur : Martin Roesh (21.12.1998) • Version actuelle 1.5.2 • Logiciel libre de droit Exemple d'IDS • Taille des sources faibles SNORT • Portable sur plusieurs types de plateformes • Installation et configuration simples • Détection en temps réel et puissante Anas Abou El Kalam - IDS Fonctionnalités 26 Portabilité Processeur • Détection au niveau des protocoles : – IP _ TCP _ UDP _ X86 SPARC M68K/PPC ALPHA AUTRES Linux OpenBSD FreeBSD NetBSD Solaris O.S. ICMP • Détection d'activités anormales – Stealth scan Découverte d'empreinte d'OS – Code ICMP "invalide" _ . . . _ SunOS 4.1.x • Pré-processeur HTTP (attaque CGI) HP-UX AIX • Détection de dénis de service Irix • Détection de débordement de buffer Tru64 • Détection des petits fragments • ... Anas Abou El Kalam - IDS 27 MacOS X server Anas Abou El Kalam - IDS 28 Source : www.clark.net Procédure d'installation (2) Procédure d'installation (3) – Visualisation du répertoire • Compilation – tar xzvf snort-2.8.0.1.tar.gz – cd snort-2.8.0.1 – ./configure – Vérifier que la librairie libpcap est présente • ftp:/ftp.ee.lbl.gov/libpcap.tar.Z – make • Configuration • Installation – Modification du fichier de configuration • "preprocessor http_decode: 80 443 8080" • "var MY_NET 193.51.138.0/24" – mkdir /tmp/monrep – cp snort /tmp/monrep • Lancement avec la base standard – strip /tmp/monrep/snort Anas Abou El Kalam - IDS – cp *.lib /tmp/monrep/ 29 Écriture de règles (1) 30 Écriture de règles (2) • Langage de description simple et facile à utiliser • Une règle doit être impérativement écrite sur une seule ligne • Exemple de règle Alert tcp any any -> 192.16.1.0/24 any (flags:SF; msg:"Possi. SYN FIN scan";) • En-tête de règle Alert tcp any any -> 192.168.1.0/24 any • La combinaison de règles est autorisée – Action de la règle • alert • log • pass • Variables de substitutions acceptées • Possibilité de faire référence à des fichiers de règles séparés Anas Abou El Kalam - IDS – ./snort <-option>Anas Abou El Kalam - IDS 31 – Le protocole • tcp • udp • icmp Anas Abou El Kalam - IDS 32 Écriture de règles (3) Écriture de règles (4) • En-tête de règle (suite) • Opérateur de direction – L'adresse source et destination alert tcp any any -> 192.168.1.0/24 any • any • Adresse IP suivi de l'espace d'adressage – Indique l'orientation du trafic auquel la règle s'applique • Unidirectionnel "->" – 193.51.138.0/24 – log udp any any -> 194.78.45.0/24 any • Opérateur de négation "!" • Bidirectionnel "<>" – !193.51.138.0/24 • Pas de mécanisme par nom de domaine – Le port source et destination • any alert tcp any any -> 192.168.1.0/24 any – log 193.51.138.0/24 any <> 194.78.45.0/24 any • Options de règles • Port spécifique • Gamme de port avec ":" – 1:1024 • Opérateur de Anas négation Abou El Kalam"!" - IDS 33 (flags:SF; msg:"Possible SYN FIN scan";) – Cœur du moteur de détection d'intrusion – Combinaison de règles séparées par ";" – Séparation du mot cléEl Kalam et de Anas Abou - IDS l'argument par ":" 34 – !6000:6010 Écriture de règles (5) Écriture de règles (6) • Règles avancées (suite) • Options de règles (suite) – Inclusion de fichiers de règles externes. • "include:<chemin et nom de fichier>" – msg, logto, minfrag, ttl, id, dsize, content, offset, depth, flags, seq, ack, itype, idecode, nocase, session • "minfrag" fixe un seuil de taille minimum pour un paquet fragmenté. • "content" permet de rechercher un contenu spécifique dans le payload. – (content:"|0909090909090909|"; msg: SMTP exploit.";) • Règles avancées – Variables de substitutions • "var MY_NET 192.168.1.0/24" Anas Abou El Kalam - IDS 35 • Ou trouver des règles – http://www.whitehats.com – http://www.snort.rapidnet.com – http://www.xanadu.rem.cmu.edu – http://www.incident.org/snortdb Anas Abou El Kalam - IDS 36 – http://www.spyjurenet.com/linuxrc.org/projects/snort • Implantation Test (1) Test (2) Internet – Schéma d'implantation – Réalisation des tests sous redhat 6.2 et slackware 7 Routeur ARPC – Machines utilisées : • 486 DX2 66 - DD 820 Mo - 40 Mo RAM CISCO F.H. 34 Mb/s • Pentium II - 120 MHz - DD 6 Go - 64 Mo RAM Real Secure • Pentium III - 500 MHz - DD 8 Go - 128 Mo RAM – 860 règles – Méthode d'analyse : Snort DMZ Snort • Je prends le maximum de règles, je regarde ce qui remonte dans les logs et j'affine – Débit théorique des lignes de test : • 10 Mb/s et 100Anas Mb/s (34 Mb/s) Abou El Kalam - IDS Snort Net Ranger 37 Résultat (1) Real Secure CAMPUS Anas Abou El Kalam - IDS 100 Mb/s 34 Mb/s PRESIDENCE 38 Résultat (2) • Enregitrement des logs • Les logs (suite) – Le fichier alert (-d) – Un fichier par type d'"attaque" – Un fichier spécifique par attaque (logto) – Un répertoire spécifique (-l) – Le répertoire /var/log/snort (-s) – L'enregistrement dans un répertoire s'effectue par adresse IP de machines sources et/ou destinations Anas Abou El Kalam - IDS 39 Anas Abou El Kalam - IDS 40 Résultat (3) Avantages • Les logs (suite) – Visualisation des fichiers de log Règle : alert TCP any any -> $MY_NET any (msg:"NMAP TCP ping !"; flags: A; ack: 0;) date heure port source @IP source • • • • • port dest – Peu onéreux – Source et signatures accessibles – ... @IP dest protocole drapeaux temps de vie restant type de service n°d'ordre d’acquittement en hexadécimal n°séquence en hexadécimal Anas Abou El Kalam - IDS n°d'ordre d'identification du paquet 41 Inconvénients • Ne détecte pas tout • Pas d'interface graphique ss linux • Nécessite une veille technologique pour la mise à jour des règles • • • • Lecture des logs (snortlog, snortstat, logsurfer ...) Rapport ? Écriture des règles gourmandes en temps Vérification de la véracité des règles • Pas de description des vulnérabilités • Majuscule et minuscule Anas Abou El Kalam - IDS 43 Ne fait pas tout, mais le fait correctement N'engendre pas de ralentissement du trafic Simplicité d'écriture des règles Nombre de règles conséquent Logiciel libre • • • • Adaptation à un contexte spécifique Installation simple et rapide Taille de l'exécutable faible (420 Ko) Anas Abou El Kalam - IDS Portable, ... 42