IPS : Corrélation de vulnérabilités et Prévention des menaces SIM+IPS opensource David Bizeul & Alexis Caurette C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y
Définitions SIM : Security Information Management Générateurs : Composants de sécurité Filtrage Corrélation Historisation IPS : Intrusion Prevention System IDS en coupure La détection devient prévention
Fonctionnalités recherchées Corréler les alertes IDS avec le niveau de sécurité réel de l infrastructure Contexte : Un IDS ou un IPS ne peut qualifier le succès d une attaque -> Nombreux Faux positifs Un scanner de vulnérabilités peut identifier les machines vulnérables à une attaque Tentative d attaque + Machine vulnérable = Succès de l attaque Solution Corréler les remontées d alertes avec les informations contenues dans un scan de vulnérabilité pour les attaques ayant abouties
Fonctionnalités recherchées Configurer automatiquement un IPS en fonction du niveau de sécurité réel de l infrastructure Contexte : Lors de mises à jours de règles, un IPS laisse passer les flux pour éviter les dénis de service Les mises à jours de règles sont régulières Le niveau de sécurité des serveurs évolue dans le temps Solution Activer automatiquement les règles de filtrage strict sur l IPS en fonction des remontées d un scan de vulnérabilité
Problématique Faire le lien entre les règles de filtrage, les alertes de sécurité remontées et les vulnérabilités système ou applicatives Solution : Une base de référence des alertes commune à tous les outils: Bugtraq (BID) Identification et référencement de failles de sécurité Common Vulnérabilities and exposures (CVE) Liste standardisée de référence des vulnérabilités Accessible publiquement et utilisées par tous les outils libres
Architecture Composants distribués ou regroupés Scanner de vulnérabilités 1 3 2 DMZ 1 Identification de vulnérabilités en DMZ 2 Identification de vulnérabilités sur le LAN 3 Rapport de vulnérabilités auprès de l IPS Internet IPS LAN
Outils Choisis Les produits Libres utilisés Firewall Netfilter http://www.netfilter.org/ IPS Snort Inline http://snort-inline.sourceforge.net/ Agrégateur d évènement Prelude http://www.prelude-ids.org Scanner de vulnérabilités Nessus 2.2.6 http://www.nessus.org
Paramétrage Nessus Mise à jour des plugins journalière Activation de tous les plugins Scan des vulnérabilités de domaine Windows Accès à la registry des postes Identification des patchs Unix installés sur les serveurs Compte adminsitrateur dédié Lancement automatique de scans sur tous les serveur
Paramétrage iptables Solution testée Politique sortante en ACCEPT Vérification via Snort Puis autorisation des flux sortants provenants d une interface Politique entrante en DROP Vérification via Snort Politique passerelle en DROP Vérification via Snort Solution entreprise Politique sortante en DROP Sauf communications IPS/scanner Politique entrante en DROP Sauf communications scanner/ips Politique passerelle en DROP Vérification via Snort
Paramétrage Snort Utilisation de snort-inline plutôt que l option - -enable-inline Paramétrage de certains pré processeurs Utilisation des bleeding-edge-rules Renvoi des informations en IDMEF via libprelude Configuration indispensable des variables
Paramétrage Prelude Utilisation de GNU TLS pour les échanges Utilisation de Prewikka pour la visualisation Profil de visualisation dédié à la corrélation (supervision premier niveau) Utilisation de mysql pour le stockage des évènements
Schéma fonctionnel
Fonctionnement possible : Mode autonome Mode réactif Chaque événement devient une règle IPS activable Pas d intelligence dans l outil Fonctionnement classique en entreprise Nombreux faux positifs et difficultés d identification des flux àbloquer
Fonctionnement possible : Mode réactif Mode proactif Corrélation entre alertes déjà observées et vulnérabilités présentes Avantage : l outil est intelligent et nous prévient d une vulnérabilité exploitée Inconvénient : trop tard pour bloquer une menace Le ver est déjà dans la pomme
Fonctionnement possible : Mode proactif Mode préventif Modification des règles sur détection de vulnérabilités et présentation de l action à l utilisateur Avantage : solution efficace face aux menaces La mise à jour nessus et snort est nécessaire Inconvénient : Absence de visibilité sur les flux explicitement autorisés
Solution Choisie : Mode proactif et réactif Cumul des deux techniques Les principales attaques ne passent pas Les attaques passant par un dispositif non bloquant sont prises en compte, corrélées et escaladées
Composants utilisés Composants opensource Filtrage : iptables Détection : snort Mise à jour de règles : oinkmaster Scanner : nessus Concentration : Prelude Visualisation : prewikka Analyse de log : Prelude- LML Composants développés Script d intégration des rapports Nessus en BDD Scripts de dialogue nessus-snort Script de corrélation Nessus-Prelude
Outils de corrélation mis en place Pour Nessus Identification des vulnérabilités trouvées Présentation synthétique Pour Snort Recherche des signatures de vulnérabilités trouvées par Nessus Création d un fichier local.rules bloquant la menace Action DROP pour toutes les catégories de sévérité haute Pour Prelude Intégration des rapports Nessus en Base de Données Corrélation des résultats Nessus et des entrées stockées dans prélude Génération d évènements notifiant d un attaque réussie au moyen de Prelude-lml
Démo Démo Vidéo
Limitations En entreprise La mise en œuvre d un scanner interne passe difficilement. Les plugins de détection du scanner sont laxistes. L IPS ne bloque pas les flux. Les IPS Les signatures sont faillibles. Exploit codé main ou recompilé spécialement Les modes de détection sont souvent laxistes. Certains pré processeurs Snort ne vont pas assez loin
Et après.. Corrélation dans Prelude Développement de scénarios Des avancées en cours utilisant Sec/Prelude-LML http://prelude-ids.org/pipermail/prelude-user/2006-january/001399.html Utilisation de libprelude-db Pour les imports-exports dans le script de corrélation Optimisations pour diminuer la charge de Base de données Amélioration du script de création de règles Snort Gestion des sous réseaux pour les détection de vulnérabilités Gestion des règles de Nat pour association scan nessus et flux iptables
Documentation Snort : http://www.snort.org Snort_inline : http://snort-inline.sourceforge.net Prelude : http://www.prelude-ids.org Iptables : http://www.netfilter.org Nessus : http://www.nessus.org Oinkmaster : http://oinkmaster.sourceforge.net Sec : http://sourceforge.net/projects/simple-evcorr Outils développés : http://www.linuxgateway.org
CONTACT Contact Member David Bizeul & Alexis Caurette Phone Email david.bizeul@apogee-com.fr alexis.caurette@xpconseil.com Country France www.devoteam.com Authors Date of release 30/01/2006 David Bizeul & Alexis Caurette File Info SIM, IPS, snort, nessus, prelude DEVOTEAM GROUP This document is not to be copied or reproduced in any way without Devoteam express permission. Copies of this document must be accompanied by title, date and this copyright notice. AUSTRIA BELGIUM CZECH REPUBLIC DENMARK FRANCE MOROCCO MIDDLE EAST NETHERLANDS SPAIN SWITZERLAND UNITED KINGDOM