Objectifs de la sécurité informatique
Le système d’information est généralement défini par l’ensemble des données et des ressources matérielles et logicielles de l’entreprise permettant de stocker ou de faire circuler ces données. Le système d’information représente un patrimoine essentiel de l’entreprise, qu’il convient de protéger. La sécurité informatique, d’une manière générale, consiste à assurer que les ressources matérielles ou logicielles d’une organisation sont uniquement utilisées dans le cadre prévu. La sécurité informatique vise généralement cinq principaux objectifs :
– L’intégrité : c’est-à-dire garantir que les données sont bien celles que l’on croit être. Vérifier l’intégrité des données consiste à déterminer si les données n’ont pas été altérées durant la communication (de manière fortuite ou intentionnelle) ;
– La confidentialité : la confidentialité consiste à rendre l’information inintelligible à d’autres personnes que les seuls acteurs de la transaction. Ceux qui ne doivent pas connaître certaines informations ne doivent pas avoir la possibilité de le faire. Le chiffrement brut d’un fichier entre dans cette catégorie.
– La disponibilité : l’objectif de la disponibilité est de garantir l’accès à un service ou à des ressources. Il renvoie à la nécessité de garantir 24h sur 24h le fonctionnement d’un ordinateur ou d’un réseau, si c’est une exigence stratégique. Ceci est le domaine par excellence de la sécurité physique (alimentation en courant électrique, chaleur, durée de vie des composants, vols, etc…), mais c’est aussi un peu le domaine de la sécurité logique au travers des plans de secours destinés à assurer la continuité de service.
– La non répudiation : la non-répudiation de l’information est la garantie qu’aucun des correspondants ne pourra nier la transaction. Des transactions permettent de prouver de façon certaine et non contestable par les parties en présence que telle ou telle action a bien été effectuée par une personne et non par une autre. Ce n’est pas à vous de prouver que vous n’avez pas acheté un yacht à Monaco il y a 8 jours avec votre carte bancaire, mais à votre banque de fournir la preuve que vous avez bien tapé votre code PIN sur le terminal du vendeur de bateau…
– L’authentification : l’authentification consiste à assurer l’identité d’un utilisateur, c’est-à-dire de garantir à chacun des correspondants que son partenaire est bien celui qu’il croit être. Un contrôle d’accès peut permettre (par exemple par le moyen d’un mot de passe qui devra être crypté) l’accès à des ressources uniquement aux personnes autorisées.
Nécessité d’une approche globale
La sécurité d’un système informatique fait souvent l’objet de métaphores. En effet, on la compare régulièrement à une chaîne en expliquant que le niveau de sécurité d’un système est caractérisé par le niveau de sécurité du maillon le plus faible. Ainsi, une porte blindée est inutile dans un bâtiment si les fenêtres sont ouvertes sur la rue. Cela signifie que la sécurité doit être abordée dans un contexte global et notamment prendre en compte les aspects suivants :
– la sensibilisation des utilisateurs aux problèmes de sécurité,
– la sécurité logique, c’est-à-dire la sécurité au niveau des données, notamment les données de l’entreprise, les applications ou encore les systèmes d’exploitation,
– la sécurité des télécommunications : technologies réseau, serveurs de l’entreprise, réseaux d’accès, etc,
– la sécurité physique, soit la sécurité au niveau des infrastructures matérielles : salles sécurisées, lieux ouverts au public, espaces communs de l’entreprise, postes de travail des personnels, etc.
Mise en place d’une politique de sécurité
La sécurité des systèmes informatiques se cantonne généralement à garantir les droits d’accès aux données et ressources d’un système en mettant en place des mécanismes d’authentification et de contrôle permettant d’assurer que les utilisateurs des dites ressources possèdent uniquement les droits qui leur ont été octroyés. La sécurité informatique doit toutefois être étudiée de telle manière à ne pas empêcher les utilisateurs de développer les usages qui leur sont nécessaires, et de faire en sorte qu’ils puissent utiliser le système d’information en toute confiance. C’est la raison pour laquelle il est nécessaire de définir dans un premier temps une politique de sécurité, dont la mise en oeuvre se fait selon les quatre étapes suivantes :
– Identifier les besoins en terme de sécurité, les risques informatiques pesant sur l’entreprise et leurs éventuelles conséquences ;
– Elaborer des règles et des procédures à mettre en oeuvre dans les différents services de l’organisation pour les risques identifiés ;
– Surveiller et détecter les vulnérabilités du système d’information et se tenir informé des failles sur les applications et matériels utilisés ;
– Définir les actions à entreprendre et les personnes à contacter en cas de détection d’une menace .
La politique de sécurité est donc l’ensemble des orientations suivies par une organisation (à prendre au sens large) en terme de sécurité. A ce titre elle se doit d’être élaborée au niveau de la direction de l’organisation concernée, car elle concerne tous les utilisateurs du système. A cet égard, il ne revient pas aux seuls administrateurs informatiques de définir les droits d’accès des utilisateurs mais aux responsables hiérarchiques de ces derniers. Le rôle de l’administrateur informatique est donc de s’assurer que les ressources informatiques et les droits d’accès à celles-ci sont en cohérence avec la politique de sécurité définie par l’organisation. De plus, étant donné qu’il est le seul à connaître parfaitement le système, il lui revient de faire remonter les informations concernant la sécurité à sa direction, éventuellement de conseiller les décideurs sur les stratégies à mettre en oeuvre, ainsi que d’être le point d’entrée concernant la communication à destination des utilisateurs sur les problèmes et recommandations en terme de sécurité.
Protection du système d’information
Les attaquants peuvent appliquer un plan d’attaque bien précis pour réussir leurs exploits [75]. Leurs objectifs sont distincts et multiples. On distingue l’attaquant hacker, qui dans un but d’approfondissement de connaissances, essaie de découvrir les failles de sécurité dans un système informatique. Cette personne partage librement ses découvertes et évite la destruction intentionnelle des données. Le deuxième type d’attaquant, appelé cracker, cherche à violer l’intégrité du système. Généralement, il est facilement identifiable à cause de ses actions nuisibles. Néanmoins il faut distinguer un expert qui cherche les exploits et conçoit lui même les programmes, d’un gamin scripteur (script kiddy) qui utilise la technologie existante dans un but malveillant. Les différents types d’attaquants cherchent à découvrir les propriétés du réseau cible avant de lancer les attaques. On parle généralement de la reconnaissance qui peut être passive ou active. Ayant récolté les informations nécessaires, ils lancent leurs vraies attaques pour exploiter le système. Ensuite ils créent des portes dérobées pour garantir des futurs accès faciles au système compromis. Enfin ils effacent leurs traces des journaux de sécurité.
Les attaquants disposent de plusieurs moyens pour réussir chaque phase d’attaque. La disponibilité des outils d’attaques et la richesse des sources d’informations accentuent le risque des intrusions. Par conséquent les administrateurs sécurisent de plus en plus leurs systèmes informatiques. Ils s’appuient sur diverses solutions comme les pare feux, la cryptographie, les scanners de vulnérabilités et les systèmes de détection d’intrusions. Nous détaillons dans la suite chacune de ces méthodes et nous soulignons leurs limites.
Pare-feux
Un pare-feu (firewall) est un système physique ou logique qui inspecte les flux entrant et sortant du réseau. Il se base sur un ensemble de règles afin d’autoriser ou interdire le passage des paquets. Il existe principalement trois types de pare-feux :
– Pare-feu avec filtrage des paquets : ce pare-feu filtre les paquets en utilisant des règles statiques qui testent les champs des protocoles jusqu’au niveau transport.
– Pare-feu à filtrage des paquets avec mémoire d’états : ce modèle conserve les informations des services utilisés et des connexions ouvertes dans une table d’états. Il détecte alors les situations anormales suite à des violations des standards protocolaires.
– Pare-feu proxy : ce pare-feu joue le rôle d’une passerelle applicative. En analysant les données jusqu’au niveau applicatif, il est capable de valider les requêtes et les réponses lors de l’exécution des services réseaux.
Malgré leur grand intérêt, les pare-feux présentent quelques lacunes. En effet, un attaquant peut exploiter les ports laissés ouverts pour pénétrer le réseau local. Ce type d’accès est possible même à travers des pare feux proxy. Il suffit d’utiliser un protocole autorisé tel que HTTP pour transporter d’autres types de données refusées. Ainsi l’opération supplémentaire d’encapsulation/décapsulation des données permet à l’attaquant de contourner le pare feu. Les scripts constituent aussi des sources d’intrusion que les pare feux échouent à détecter. Par exemple la vulnérabilité du RDS (Remote Data Service) sur les serveurs web IIS (Internet Information Server) de Microsoft permet aux intrus d’exécuter des commandes à distance sur des stations Serveur NT. Le script « msadc.pl » de Rain Forest Puppy (RFP) exploite cette vulnérabilité. Il emploie des méthodes valides du protocole HTTP telles que GET et POST pour pouvoir passer inaperçu à travers un pare-feu proxy.
|
Table des matières
INTRODUCTION
Chapitre 1 Introduction Générale
1.1 Motivation
1.2 Contribution
1.3 Organisation de la thèse
Chapitre 2 Introduction à la Sécurité Informatique
2.1 Introduction
2.2 Objectifs de la sécurité informatique
2.3 Nécessité d’une approche globale
2.4 Mise en place d’une politique de sécurité
2.5 Protection du système d’information
2.5.1 Pare-feux
2.5.2 Scanners de vulnérabilités
2.5.3 Outils d’archivage
2.5.4 Cryptographie
2.5.5 Pots de miel
2.5.6 Systèmes de détection d’intrusions
2.6 Conclusion
Chapitre 3 La Détection d’Intrusions
3.1 Introduction
3.2 Les méthodes d’attaque et d’intrusion
3.2.1 Définitions
3.2.2 Les différentes formes et méthodes d’attaques
3.3 La détection d’intrusion
3.3.1 Les systèmes de détection d’intrusions
3.3.2 Modèle générique d’un IDS
3.4 Outils de détection d’intrusion : taxonomie
3.4.1 Architecture
3.4.2 Stratégie de Contrôle
3.4.3 Sources d’Information
3.4.4 Comportement en cas d’attaque détectée
3.4.5 Fréquence d’utilisation
3.4.6 Analyse
3.5 Les techniques de détection
3.5.1 Approche comportementale
3.5.1.1 Combinaison des mesures d’anomalie individuelles pour obtenir une seule mesure
3.5.1.2 Analyse de séquences des événements
3.5.1.3 Occurence des événements multiples
3.5.2 Approche par abus
3.5.2.1 Utilisation de la probabilité conditionnelle pour prévoir des intrusions d’abus
3.5.2.2 Analyse de transition d’état
3.5.2.3 Systèmes à base de règles
3.5.2.4 Réseaux de Petri
3.5.2.5 Règles d’association
3.6 SNORT : Un Système de Détection d’Intrusions dans les Réseaux
3.6.1 Vue générale
3.6.2 Les règles SNORT
3.7 Sur la difficulté de la détection d’intrusion
3.7.1 Origines de l’inondation d’alerte
3.7.2 Vers un meilleur IDS
3.7.3 Traitement et corrélation des alertes
3.7.3.1 Corrélation implicite
3.7.3.2 Corrélation explicite
3.7.3.3 Discussion
3.8 Notre application de filtrage des alertes
3.8.1 Fonctionnement général
3.8.2 Les données utilisées
3.9 Conclusion
Chapitre 4 Prétraitement et Découverte des Comportements types
4.1 Une introduction au Clustering
4.1.1 Indice de proximité
4.1.2 Un survol des méthodes de Clustering
4.1.3 Qualité du Clustering
4.1.4 K-moyennes
4.1.5 La Carte auto-organisatrice de Kohonen (SOM)
4.1.5.1 L’algorithme SOM
4.1.5.2 Les cartes auto-organisatrice adaptatives
4.1.6 Clustering d’une SOM
4.1.6.1 Principe
4.1.6.2 Réglage de k
4.2 Application
4.2.1 Prétraitement temporel
4.2.1.1 Choix de la fenêtre
4.2.1.2 Aggrégation des données
4.2.1.3 Normalisation des données
4.2.2 Prétraitement Spatial
4.2.2.1 Gravité des alertes
4.2.2.2 Découverte des comportements-types
4.3 Découverte de comportements-types par SOM et K-Moyennes
4.3.1 Apprentissage
4.3.2 Analyse des comportements types obtenus
4.3.2.1 Analyse quantitative
4.3.2.2 Analyse qualitative
4.4 Découverte de comportements-types par GHSOM
4.4.1 Motivation
4.4.2 Analyse des résultats
4.4.2.1 Analyse quantitative
4.4.2.2 Analyse qualitative
4.4.3 Discussion
4.5 Conclusion
Chapitre 5 Détection d’Attaques
CONCLUSION