Hiérarchie des données dans le processus de détection des intrusions
La détection des intrusions
Selon Kruegel, Valeur et Vigna (2005), il existe trois grandes classes de mécanismes de sécurité : la prévention, le « contournement » (avoidance) et la détection des attaques. La première classe consiste à mettre en place des mesures permettant de se défendre contre certaines attaques avant même qu’elles ne se produisent. On retrouve entre autres dans cette catégorie les listes de contrôle d’accès et les pare-feu. Le contournement des attaques tient ensuite pour acquis que les mesures de prévention peuvent être déjouées, et tente de transformer le contenu de façon à le rendre inutilisable par un utilisateur malveillant. On retrouve dans cette catégorie les mécanismes de cryptographie, de certification, etc. Malheureusement, il arrive parfois que les mécanismes de prévention et de contournement ne soient pas suffisants, et qu’un attaquant parvienne malgré tout à altérer ou à accéder au contenu protégé. La dernière classe présente donc des mécanismes de derniers recours pour détecter des attaques ou des tentatives d’intrusions. Les systèmes de détection d’intrusions (IDS) figurent habituellement parmi les meilleures solutions pour effectuer ce travail. Le Code criminel américain définit une intrusion informatique comme un accès intentionnel à un ordinateur sans autorisation ou en abusant des accès autorisés (United States (2010)). De façon plus générale, une intrusion correspond à la violation d’une politique de sécurité de l’organisme (Bejtlich (2004)). Selon Cole (2009), le rôle d’un système de détection d’intrusions consiste à capturer la présence d’un utilisateur malveillant sur un réseau compromis, à éliminer toute malversation causée par la présence de l’intrus et à cataloguer les activités de façon à pouvoir éviter des attaques similaires à l’avenir. Selon Kruegel, Valeur et Vigna (2005), les systèmes de détection d’intrusions peuvent être classifiés selon plusieurs caractéristiques, dont les plus importantes sont présentées ciaprès. 6 Méthode de détection : Les IDS sont habituellement répartis selon deux types de stratégies de détection : par base de connaissances (misuse-based) ou par anomalie (anomaly-based). La première stratégie consiste à conserver un dictionnaire des modèles d’attaques (signatures) et à déterminer si ces éléments se retrouvent dans le trafic réseau analysé. Cette technique possède l’avantage d’être très performante puisqu’elle génère moins de faux positifs (fausses alertes générées par un IDS) et qu’elle nécessite moins de ressources pour l’analyse (il s’agit essentiellement d’une simple comparaison). Dans la mesure où les informations brutes sont comparées à des signatures d’attaques connues préalablement, seules les données correspondant exactement à la signature seront retenues. En contrepartie, le fait de nécessiter une signature pour reconnaître une attaque réduit les capacités du système à détecter les nouvelles attaques ou les attaques polymorphes (attaques changeant leur signature à chaque fois). Le nombre de faux négatifs (attaques non détectées par le système) est également généralement plus important que par anomalie, puisqu’il est nécessaire de connaître les signatures de chaque attaque pour qu’elle puisse être détectée. De plus, cette approche implique des ressources humaines dédiées à la création et à l’ajustement des signatures afin d’être constamment à jour face aux nouvelles attaques. À l’inverse, les approches par anomalie recherchent plutôt des déviations de la « normalité » sur le réseau. Un IDS par anomalies apprendra, à l’aide de techniques d’apprentissagemachine, ce qui est normal sur le réseau. Tout ce qui dévie suffisamment de cette normalité sera considéré comme suspect et sera rapporté aux responsables. Cette stratégie s’avère beaucoup plus flexible que l’approche par signatures pour détecter des attaques zero-day. Une attaque « jour 0 » exploite des vulnérabilités inconnues jusqu’à présent. Il n’existe donc habituellement pas de signature pour détecter ces attaques qui n’ont jamais été répertoriées. Puisque les IDS par anomalies n’ont pas à connaître les caractéristiques des attaques pour les détecter, ces derniers peuvent détecter des attaques zero-day beaucoup plus facilement. Malheureusement, les IDS par anomalies s’avèrent habituellement moins précis et génèrent souvent beaucoup plus de faux positifs. État : Les IDS se distinguent également par leur gestion d’état (stateless / stateful). Un IDS « sans état » traite chaque événement indépendamment, et toutes les informations concernant cet événement seront détruites une fois le traitement terminé. À l’inverse, un IDS «avec état» 7 conserve des informations sur les événements passés. Cette caractéristique permet, par exemple, de détecter plus facilement des attaques composées de plusieurs étapes, où plusieurs signatures doivent être présentes dans un ordre précis pour qu’une attaque soit signalée. Dans la mesure où il est plus difficile de reproduire de fausses attaques impliquant plusieurs étapes, les IDS « avec état » peuvent généralement résister plus facilement aux attaques de type alert storm, où un utilisateur surcharge un IDS de trafic générant un grand nombre de fausses alertes afin de dissimuler des actions malveillantes dans cette mer d’alertes. Par contre, un IDS sans état sera beaucoup plus performant au niveau de la rapidité d’exécution, n’ayant pas à effectuer les analyses complexes rattachées à l’état et à la corrélation des alertes. Certains IDS utilisent également l’approche « par transition d’état », qui consiste à modéliser les différents états du système à chaque phase de l’attaque. Cette approche présente plusieurs avantages, dont celui de permettre une réponse avant l’étape finale de l’attaque (en détectant une série d’états intermédiaires). Cette approche est toutefois plus difficile à maintenir en cas d’attaques multiples simultanées. Type de réponse : La plupart des IDS sont passifs (ne font que rapporter les incidents). Toutefois, certains peuvent être actifs et réagir automatiquement face à des intrusions (ex : tuer des processus, etc.). Ces derniers peuvent malheureusement causer encore plus de mal dans certains cas (ex : causer des dénis de service, etc.). Lorsqu’un IDS est actif, il prend généralement le nom d’IPS (Intrusion Prevention System). Fréquence d’utilisation : On retrouve deux types de fréquence : en temps réel et en différé. L’analyse en temps réel ou dynamique possède évidemment l’avantage de détecter plus rapidement les attaques et permet de réagir avant qu’il ne soit trop tard. À l’inverse, l’analyse différée ou statique réduit les ressources nécessaires (ex. : bande passante) en effectuant des analyses au besoin ou à intervalle régulier sur des extraits des données. Cette approche peut permettre, par exemple, des analyses plus approfondies sur les données, sans réduire les performances des installations. 8 Coopération et corrélation : Certains IDS de nouvelle génération permettent des analyses collaboratives en échangeant, par exemple, des résultats d’analyse. Deux IDS utilisant des techniques d’analyse différentes peuvent compléter leur zone de couverture et réduire le nombre de faux positifs. On entend par corrélation l’ajout d’informations provenant de sources externes permettant de compléter l’analyse. Il est possible de corréler les résultats d’analyse de plusieurs IDS situés à différents endroits sur le réseau ou encore de considérer les alertes des autres systèmes sur le réseau. Source des données d’audit : Il existe quatre grandes familles d’IDS à ce niveau : hostbased (HIDS), application-based (APIDS), network-based (NIDS), et les systèmes de corrélation. Les systèmes basés sur des hôtes détectent les attaques perpétrées contre un système informatique hôte en particulier. Ces IDS utilisent, entre autres, les journaux du système et les informations du système (ex. : processus actifs) pour détecter les intrusions. Les IDS basés sur des applications sont particulièrement adaptés pour protéger des processus précis (ex. : serveur web). Ils peuvent être intégrés directement dans le code source de l’application, ou encore être intégrés via des interfaces publiques ou des extensions (hooks). De leur côté, les IDS réseau analysent habituellement le trafic échangé entre les nœuds d’un réseau. Ce type d’IDS est particulièrement répandu, principalement grâce à sa simplicité de déploiement (simplement insérer entre deux nœuds du réseau). Ils apportent malheureusement leur lot de difficultés : capacité limitée de traitement réduisant la rapidité du réseau, incapacité à analyser les données cryptées, etc. Enfin, les systèmes de corrélation combinent habituellement les informations de plusieurs solutions (ex. : un HIDS et un NIDS) pour obtenir une vue plus générale de la situation, laquelle serait impossible à récupérer à l’aide d’un seul outil. Malheureusement, l’utilisation d’un IDS apporte également quelques désavantages. La plupart des analystes déplorent tout d’abord la quantité de faux positifs qu’un IDS peut générer. Plusieurs rapportent devoir gérer plusieurs milliers d’alertes par jour, alors que moins d’une dizaine d’événements intéressants doivent être rapportés. La plupart des IDS deviennent également impuissants lorsque la communication est cryptée. Enfin, selon 9 Axelsson et Sands (2005), ces appareils peuvent facilement être déjoués. Les auteurs présentent en effet plusieurs techniques simples permettant de contourner les engins de détection ou de causer des dénis de service. D’autres inconvénients s’ajoutent également à cette liste, selon le type d’IDS utilisé. Malgré tout, ces systèmes demeurent des outils de premier choix pour assister les analystes dans la détection des intrusions. Parcourir quelques milliers d’alertes s’avère malgré tout plus efficace qu’explorer l’ensemble des journaux de tous les équipements de l’organisation…
|
Table des matières
INTRODUCTION
CHAPITRE 1 REVUE DE LA LITTÉRATURE
1.1 La détection des intrusions
1.2 Les pots de miel (honeypots)
1.3 Le processus d’analyse en sécurité informatique
1.4 La visualisation
1.5 La visualisation des alarmes d’intrusions
1.5.1 Les approches textuelles et tabulaires 1.5.2 Les approches « classiques » et coordonnées
1.5.3 Les approches par pixel
1.5.4 Les approches hybrides ou non conventionnelles
1.6 Le regroupement des liens
CHAPITRE 2 PROBLÉMATIQUE
2.1 Complexité de l’analyse
2.2 L’analyse des pots de miel (Honeypots)
2.3 Techniques de visualisation
2.4 Liste des caractéristiques recherchées
CHAPITRE 3 PRÉSENTATION DE LA SOLUTION
3.1 Principes fondamentaux
3.2 Environnement de l’application
3.3 Vue principale – Roue d’alertes
3.3.1 Anneau extérieur (source / destination)
3.3.2 Cercle intérieur (classifications)
3.3.3 Courbes (alertes)
3.4 Vue intermédiaire – Matrice des données
3.5 Vue détails
3.5.1 Propriétés d’une alerte
3.5.2 Affichage du paquet
3.5.3 Autres informations
3.6 Filtres
3.7 Scénarios
3.8 Surbrillance
3.9 Approche à plusieurs vues coordonnées
3.10 Les faux positifs
CHAPITRE 4 ÉTUDES DE CAS
4.1 Contexte
4.2 Cas #1 : Analyse des données d’une journée
4.3 Cas #2 : Généralisation d’une attaque
CHAPITRE 5 DISCUSSION
5.1 Nombre d’alertes et de sources
5.2 Aspect temporel
5.3 La réalité du processus
CONCLUSION
ANNEXE I Processus de détection des intrusions selon D’Amico et Whitley (2008)
ANNEXE II Liste des classifications des alertes
LISTE DE RÉFÉRENCES BIBLIOGRAPHIQUES
Tableau 1.1 Hiérarchie des données dans le processus de détection des intrusions selon
D’Amico et Whitley (2008)
Tableau 1.2 Rôles des analystes selon D’Amico et Whitley (2008)
Télécharger le rapport complet