UNIVERSITE MOHAMMED V AGDAL FACULTÉ DES SCIENCES Rabat THÈSE DE DOCTORAT. Présentée par : Ali KARTIT. Discipline: Sciences de l ingénieur

Dimension: px
Commencer à balayer dès la page:

Download "UNIVERSITE MOHAMMED V AGDAL FACULTÉ DES SCIENCES Rabat THÈSE DE DOCTORAT. Présentée par : Ali KARTIT. Discipline: Sciences de l ingénieur"

Transcription

1 UNIVERSITE MOHAMMED V AGDAL FACULTÉ DES SCIENCES Rabat N d ordre : 2553 THÈSE DE DOCTORAT Présentée par : Ali KARTIT Discipline: Sciences de l ingénieur Spécialité : Informatique et Télécommunications Une nouvelle approche de détection d intrusions et étude des problèmes liés au déploiement de politiques de sécurité dans les réseaux informatiques Soutenue le : 05/11/2011 Devant le jury composé de: Président : M. Driss ABOUTAJDINE, PES (FS, Rabat, Maroc) Examinateurs: M. Mohamed EL MARRAKI, PES (FS, Rabat, Maroc) M. Mohamed RZIZA, PH (FS, Rabat, Maroc) Mme. Salma MOULINE, PH (FS, Rabat, Maroc) M. Ahmed HAMMOUCH, PES (ENSET, Rabat, Maroc) Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

2 Avant propos Les travaux présentés dans ce mémoire ont été effectués au sein de laboratoire LRIT " Laboratoire de Recherche en Informatique et Télécommunications " à la faculté des sciences de Rabat (FSR). Il n'aurait pas pu voir le jour sans le soutien de nombreuses personnes que je tiens à remercier. Je tiens tout d'abord à remercier mon directeur de thèse Mohamed El MARRAKI, professeur de l enseignement supérieur à la faculté des sciences de Rabat, qui grâce à sa disponibilité et rigoureux conseils, j'ai pu entamer, développer et mener à terme ce travail. Qu'il trouve ici l'expression de toute ma gratitude. Je remercie également Driss ABOUTAJDINE, professeur de l enseignement supérieur à la faculté des sciences de Rabat et directeur du LRIT, qui m'a fait l'honneur de présider le jury et qui m'a permis d'intégrer ce laboratoire. Je le remercie pour ses commentaires et ses nombreuses questions. Je remercie sincèrement tous ceux qui ont bien voulu prendre part à ce jury : À Salma MOULINE, Professeur Habilité à la faculté des sciences de Rabat qui a accepté d'examiner cette thèse. Je la remercie pour tout l'intérêt qu'elle a manifesté pour ce travail. À Mohamed RZIZA, Professeur Habilité à la faculté des sciences de Rabat et Ahmed HAMMOUCH, professeur de l enseignement supérieur à l ENSET de Rabat qui ont accepté d'être les rapporteurs de ma thèse. Je les remercie pour le temps consacré à ce travail ainsi qu'à leurs remarques et suggestions qui ont contribuées à améliorer le rapport. Je remercie tous mes collègues doctorants /docteurs pour tous les échanges intéressants que nous avons eus durant la période de la thèse. Je dédie cette thèse à ma femme Naciri Hasnaâ et à ma petite fille Yasmine. Merci de m'avoir supporté (dans tous les sens du terme) pendant ces années. Sans oublier de dédier ce travail à tous mes frères et mes sœurs. Enfin, mes remerciements les plus chaleureux vont vers tous ceux qui m ont toujours encouragé et soutenu depuis le début de cette thèse. Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

3 Table des matières Table des matières Introduction générale a b c d Introduction.12 Problématique.13 Contribution 13 Organisation de la thèse..14 Partie N 1 : Généralités sur la sécurité des réseaux informatiques Chapitre 1 : Historique et quelques définitions de base 1.1 Historique Définitions de base..18 Chapitre 2 : Systèmes contribuant à la sécurité des réseaux informatiques 2.1 Systèmes de détection d'intrusions Définition Vulnérabilité des systèmes Audit de sécurité Classification des systèmes de détection d'intrusions Approche par scénarios Approche comportementale Utilisation des agents mobiles dans les systèmes de détection d'intrusions Agent mobile Architecture du système avec les agents mobiles Outils de détection d'intrusions Pare-feux (Firewalls) Définition Principe de fonctionnement Filtrage statique (stateless packet filtering) Filtrage dynamique (Stateful Inspection) Filtrage applicatif Systèmes Cryptographiques Définition La cryptographie forte Principe de fonctionnement de la cryptographie Cryptographie conventionnelle Le chiffre de César Gestion de clé et chiffrement conventionnel La cryptographie à clé publique Fonctionnement de PGP..34 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

4 Table des matières Gestion des clés Signatures numériques Fonctions de hachage Certificats numériques Validité et confiance Contrôle de la validité Méta-avals et avals de confiance Modèles de confiance Confiance directe Confiance hiérarchisée Réseau de confiance Niveaux de confiance dans PGP Conclusion Partie N 2 : Politiques de sécurité et Problèmes liés au déploiement Chapitre 3 : Politiques de sécurité 3.1 Définition des propriétés d une politique de sécurité Confidentialité Intégrité Disponibilité Principe et Propriétés dérivées Politique de sécurité Définition générale Garantie d une politique de sécurité Contrôle d accès Contrôle d accès discrétionnaire Modèle de Lampson Modèle HRU Modèle TAM Discussion Contrôle d accès mandataire Modèle Bell et LaPadula Modèle Biba Modèle DTE Discussion..59 Chapitre 4 : Formalisation et évaluation des politiques 4.1 Présentation des langages d évaluation Concepts introduits et formalismes utilisés Présentation de P3P Présentation d APPEL Présentation d ELAN..63 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

5 Table des matières 4.3 Formalisation des règles en ELAN Définitions des types Définitions des signatures Les règles de réécriture Exemple de réécriture Réalisation du prototype d évaluation Les balises gérées par l évaluateur Intégration dans un navigateur Choix faits pour l évaluation Conclusion.70 Chapitre 5 : Optimisation des politiques de sécurité 5.1 Positionnement de problème Concept d optimisation d une ACL et algorithme utilisé Structure de données utilisée Algorithme d'analyse d ACL Définitions L algorithme d optimisation utilisé «optimise» Conclusion.77 Chapitre 6 : Déploiement des Politiques de sécurité au sein de Pare-feu 6.1 Préambule Pare-feu et politique de sécurité Déploiement des politiques de sécurité Déploiement de type I Déploiement de type II Conclusion 81 Partie N 3 : Systèmes de détection d intrusions et nouveaux modèles Chapitre 7 : vue générale sur les systèmes de détection d intrusions 7.1 Les systèmes de détections d'intrusions Classification des systèmes de détection d'intrusions Qualités requises des systèmes de détection d'intrusions Méthodes de détection d'intrusions Détection d'intrusions comportementale Approche statistique Apprentissage automatique Approche immunologique Spécification des programmes Fouilles de données et théorie d'information Détection d'intrusions basée sur la connaissance Systèmes experts...89 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

6 Table des matières Automate et logique temporelle Machines à états finis Réseau de Pétri Logique temporelle Algorithmes génétiques Fouille de données Filtrage de motifs Avantages et inconvénients des méthodes de détection Limites de la détection d'intrusions basée réseau avec filtrage de motifs Problèmes du filtrage de motifs Attaques d'évasion Techniques d'évasion Solutions contre les attaques d'évasion Génération de faux positifs Problèmes de la détection basée réseau Haut débit Commutation et routage asymétrique Chiffrement des données Suivie des attaques Attaques d'évasion Stratégie pour une détection d'intrusions basée réseau Phase de la division du trafic Phase de la détection d'intrusions Conclusion.100 Chapitre 8 : Les langages de description d'attaques 8.1 Classification des langages Les langages d'exploit Les langages d'événements Les langages de détection Les langages de corrélation d'alertes Les langages de description d'alertes Les langages de réaction Récapitulatif des langages Conclusion Chapitre 9 : Une nouvelle méthode de détection d'intrusions 9.1 Problématique Catégories d attaques de sécurité Système à trois niveaux de sécurité Niveau 1 : Stratégies de protection externe Niveau 2 : Politiques de sécurité fonctionnelle Niveau 3 : Politiques de sécurité opérationnelle Architecture générale du système proposé Diagramme du système proposé Conclusion..112 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

7 Table des matières Conclusion générale et perspectives a b Conclusion générale..114 Perspectives Bibliographie Glossaire..127 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

8 Table des figures Table des figures Fig1 : Modèle de détection pour l'approche par scénarios..24 Fig2 : Modèle de détection pour l'approche comportementale 25 Fig3 : Couche physique d'un système de détection d'intrusions par des agents mobiles 27 Fig4 : L'emplacement du pare-feu...30 Fig5 : Chiffrement conventionnel 32 Fig6 : Chiffrement à clé publique 34 Fig7 : Fonctionnement de chiffrement de PGP.35 Fig8 : Fonctionnement de déchiffrement de PGP..35 Fig9 : Signature numérique simple..37 Fig10 : Signature numérique sécurisée..38 Fig11 : Anatomie d un certificat...39 Fig12 : Confiance hiérarchisée..41 Fig13 : Exemple d automate à états finis représentant les états d un système..50 Fig14 : Configuration DTE pour apache...58 Fig15 : Interaction agent utilisateur / Serveur web 62 Fig16 : Extrait d un fichier APPEL...63 Fig17 : Exemple de formalisation des règles en ELAN 65 Fig18 : Comparaison d ensembles de balises 66 Fig19 : Module d évaluation.69 Fig20 : Relations des règles...74 Fig21 : Vérification de la redondance...74 Fig22 : Vérification de fusion...75 Fig23 : Classification des systèmes de détection d'intrusions...85 Fig24 : Détection d'intrusions avec filtrage de motifs...91 Fig25 : Techniques d'évasion 94 Fig26 : Stratégie d'analyse du trafic réseau.100 Fig27 : Langages de détection par corrélation d'événements/alertes..106 Fig28 : Catégories d attaque de sécurité..108 Fig29 : Architecture générale du système de sécurité à trois niveaux.111 Fig30 : Diagramme de l algorithme de politique de sécurité à trois niveaux..112 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

9 Liste des tableaux Liste des tableaux Tab1 : Règles de configuration d'un pare-feu 29 Tab2 : Exemple de règles de firewall...63 Tab3 : Exemple de mappage entre les attributs d une ACE et le nœud d arbre à intervalle.72 Tab4 : Deux politiques de pare-feu...79 Tab5 : Réponses aux attaques des systèmes de détection d'intrusions..85 Tab6 : Comparaison des deux principes de détection d'intrusions 93 Tab7 : Techniques d'évasion..95 Tab8 : Exemples de langages de description d'attaques (liste non exhaustive) Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

10 Faculté des Sciences, 4 Avenue Ibn Battouta B.P RP, Rabat Maroc Tel +212 (0) /35/38, Fax: +212 (0) ,

11 Introduction générale

12 Introduction générale a. Introduction Les réseaux informatiques sont devenus des ressources vitales et déterminantes pour le bon fonctionnement des entreprises. Mais l'ouverture facile au monde extérieur via des réseaux connectés à Internet rend l'entreprise plus vulnérable aux attaques. Ces attaques peuvent avoir de graves conséquences comme en témoignent ces dernières années. Par exemple en février 2000 un événement marquant est l'attaque par déni de services répartie (DDos) qui a paralysé plusieurs sites web populaires dont CNN, Amazon.com, Yahoo et ebay. Par ailleurs, les possibilités d'accéder aux systèmes informatiques s'accroissent avec l'impulsion de nouvelles technologies telles que les réseaux privés virtuels (VPN) et les réseaux Ad-hoc. Ces techniques offrent à des utilisateurs détachés physiquement l'opportunité de se connecter au réseau de l'entreprise. Cependant les attaquants peuvent en profiter pour accéder au réseau local et perturber les communications internes. Ils disposent de plusieurs outils à emploie facile pour réussir leurs exploits. D'après une étude faite à l'université de Carnegie Mellon, les programmes d'attaques deviennent de plus en plus dangereux et nécessitent moins d'expertise ce qui expose les entreprises à des menaces d'intrusions supplémentaires. En outre, les attaquants profitent des logiciels point-à-point en pleine expansion tels que Kazaa, emule et Napster [173]. Ces utilitaires ouvrent des chemins directs pour accéder à des machines distantes appartenant au réseau cible. De plus elles contribuent à la propagation rapide des virus et des vers sur les réseaux d'entreprises. Enfin elles constituent des moyens faciles d'échange de connaissances et d'outils d'attaques entre les intrus. Par conséquent sécuriser les accès réseaux, les données confidentielles et les serveurs devient un des premiers soucis de l'entreprise. Les dirigeants investissent de plus en plus afin de mieux protéger les réseaux informatiques. Ils acquièrent les nouvelles technologies de routeurs et de pare-feux aux coûts élevés. Ils s'intéressent également à la détection d'intrusions pour déceler les attaques à l'entrée du réseau et saisir les intrusions à l'intérieur du réseau local ou celles passées inaperçues à travers d'autres outils de sécurité. En effet, les systèmes de détection d'intrusions analysent en permanence les données disponibles sur le système informatique. Ils découvrent les scénarios d'attaques et les exploitations non conformes du système informatique. Cette surveillance contribue à éviter le renouvellement des attaques en bloquant les sources d'attaque et en corrigeant les vulnérabilités du système. De plus une détection précoce d'un scénario d'attaque permet de stopper rapidement son développement et par suite éviter des dégâts plus graves. Suite à leur grand intérêt, les systèmes de détection d'intrusions (IDS) [125] connaissent de nos jours un essor important et constituent un investissement des entreprises. Ils sont déployés dans des zones précises du réseau ou sur des machines particulières pour compléter le travail des pare-feux et détecter les attaques passées inaperçues. Considérés comme une dernière barrière de sécurité, les IDS sont capables de comprendre la nature et les caractéristiques du trafic réseau afin de mieux détecter les intrusions. Les administrateurs adaptent les IDS aux services déployés sur leurs réseaux. Ils les configurent pour détecter par exemple les attaques sur les services Web et découvrir la présence des portes dérobées et les balayages de ports. Par conséquent, ils réduisent les risques d'intrusions et accentuent la sécurité du réseau. Cette protection exige néanmoins la bonne configuration de l'ids et la définition et le respect d'une politique de sécurité réseau [174] qui inclut entre autres la gestion des incidents informatiques. En parallèle à cette recherche académique, des outils de gestion des pare-feux tels que Cisco ASA, Cisco FWSM, Juniper Networks NetScreen Series Security Systems et Check Point 3D Security ont gagné en popularité avec les administrateurs réseau. Les outils de gestion intuitive fournissent des interfaces utilisateur graphiques (GUI) pour faciliter la spécification des politiques, donner des services publics pratique pour la détection des erreurs et l'optimisation de la règle. Quand un 12

13 Introduction générale administrateur réseau est satisfait de la politique configurée par le biais de l'interface graphique, il indique à l'outil de gestion de la déployer. L'outil de gestion se traduit alors par les changements nécessaires des politiques dans un format reconnu par le pare-feu, généralement sous la forme de lignes de commandes dans le texte, et les envoie au pare-feu afin que la nouvelle politique devienne la politique en cours d'exécution. En effet, un outil de gestion vise à atteindre quatre buts fondamentaux lors du déploiement de politiques de sécurité: l'exactitude, la confidentialité, la sécurité et la vitesse. b. Problématique Un pare-feu est un dispositif de protection se trouvant sur la frontière des réseaux, contrôle la circulation des informations entre les différentes zones de confiance et sert de première ligne de défense contre les accès non autorisés ou malveillants. Le processus de configuration de règles de pare-feu est difficile et génératrice d erreurs. Des études ont montré qu'il est probable que la majorité de véritables politiques de pare-feu du monde présentent des erreurs de configuration. La taille et la complexité des topologies de réseau sont toujours en augmentation, c est le cas donc pour la taille et la complexité des politiques de pare-feu. La configuration manuelle de ces politiques est clairement devenue une mission impossible, même pour les administrateurs réseau chevronnés. Une fois qu une politique de sécurité a été bien conçue, le problème qui est posé c est comment déployer cette politique nouvellement conçue afin qu elle remplace l ancienne politique en cours d exécution au sein de pare feu. Cette mise à jours de politiques des pare- feux doit se faire d une façon correcte et sécurisée. Les méthodes de détection d intrusions traditionnelles s intéressent aux intrusions provenant de l extérieur de système informatique à sécuriser. En effet, des études ont montré que plus de 70% des attaques proviennent de l intérieur de réseau de l entreprise, ce qui fait que les systèmes de détection d intrusions classiques sont incapables d analyser tout le trafic interne et externe, vue le grand nombre d informations qu il contient, afin de trouver un comportement anormal. Donc, il faut proposer un nouveau modèle qui sera capable de détecter les intrusions provenant de l intérieur et de l extérieur de système informatique en question. c. Contribution Beaucoup de travaux de recherche ont traité de la spécification des politiques, la détection des conflits et le problème d optimisation, mais très peu de travaux se sont intéressés au déploiement de politiques. Dans le chapitre 6, nous fournissons un algorithme correct et sûr qui va nous permettre de déployer une politique de sécurité cible afin qu elle remplace celle en cours d exécution. Ce travail a fait l objet d une publication dans un journal international [52], de trois communications internationales avec comité de lecture {[164], [165], [166]} et de deux communications nationales sans comité de lecture {[170], [171]}. Nous adoptons et implémentons la solution VPN/SSH pour garantir la sécurité lors de déploiement de la politique cible, ce travail a fait également l objet de deux publications dans deux journaux internationaux cités dans {[162], [168]} et d une communication internationale avec comité de lecture [167]. Nos résultats expérimentaux montrent que cet algorithme est très correct et peut être utilisé en toute sûreté, même pour le déploiement de politiques dont la taille est très importante. Les techniques de détection d intrusions tentent de faire la différence entre une utilisation normale du système et une tentative d intrusion et donnent l alerte. Typiquement, les données d audit du système sont parcourues à la recherche de signatures connues d intrusion, de comportements anormaux ou d autres choses intéressantes. La détection peut être faite en temps réel ou en tant qu analyse post- 13

14 Introduction générale mortem. Si la détection est en temps réel, le programme peut donner l alerte, auquel cas le personnel qualifié pourra tenter de remédier à l intrusion, en coupant le réseau ou en remontant la piste. Mais il peut probablement arriver après la fin de l intrusion. Le programme peut également être couplé à un dispositif de contre-mesures pour pallier la lenteur humaine du personnel. Dans tous les cas, les techniques de détection d intrusions seules n empêcheront pas l intrusion. Les techniques de prévention d intrusion (IPS) consistent à concevoir, implémenter et configurer le système assez correctement pour que les intrusions ne puissent avoir lieu, ou au moins soient sévèrement gênées. Lors d une attaque ou d une tentative d intrusion sur un système, le ou les attaquants engendrent un ensemble d actions (i.e. d interactions) violant une des propriétés de sécurité. Cette violation se traduit par l exécution d une seule interaction ou d un ensemble d interactions. Notre étude des propriétés de sécurité fait clairement apparaître la nécessité de considérer les séquences d interactions ou leurs corrélations. Dans le chapitre 9, nous proposons une nouvelle approche pour les systèmes informatiques complexes, basée sur une politique de sécurité à trois niveaux. Chaque niveau se charge de protéger le système informatique des attaques venant de l intérieur et de l'extérieur à la fois. Cette politique globale de sécurité permettra à l'administrateur des systèmes de sécurité non seulement de détecter les attaques, mais aussi pour l'avertir à propos de cette intrusion et en interdire l'accès à l'ensemble des réseaux. Ce travail a fait l objet de deux publications internationales citées dans {[161], [163]} et de deux communications internationales avec comité de lecture citées dans {[169], [172]}. En effet, c est un modèle général et complet qui garantit plus de propriétés de sécurité et qui a été expérimenté sur des systèmes virtuels et des réseaux de petites tailles afin de détecter des attaques qui ne sont pas traitées par les autres solutions. En plus, notre solution combine les avantages offert par l utilisation des politiques de sécurité au sein des pare-feux qui constituent la première barrière pour les attaquants et la robustesse et l efficacité de notre approche de détection d intrusions à trois niveaux qui est considérée comme une dernière barrière de sécurité. d. Organisation de la thèse Ma thèse s articule autour de trois grandes parties : Dans la première partie, nous faisons un rappel sur les généralités sur la sécurité des réseaux informatiques. Ensuite, nous décrivons les systèmes qui contribuent dans la sécurité des réseaux informatiques à savoir les pare-feux, les systèmes de détection d intrusion et les systèmes cryptographiques. La deuxième partie explique en détail la notion de la politique de sécurité, aborde les problèmes de formalisation et d évaluation de politiques, décrit les techniques d optimisation d une telle politique et en fin, présente les problèmes liés au déploiement de ces politiques au sein d un pare-feu. La troisième partie fait un rappel sur les systèmes de détection d intrusion classiques qui s articulaient sur deux approches principales dites approche comportementale et approche par scénarios, elle présente une nouvelle approche dite «Three Levels Security Policy» ou bien «politique de sécurité à trois niveaux» pour la détection et la prévention d intrusions dans un système informatique complexe. 14

15 Partie N 1 : Généralités sur la sécurité des réseaux informatiques 15

16 Chapitre 1 : Historique et quelques définitions de base 16

17 Chapitre1 : Historique et quelques définitions de base Partie N Historique De plus en plus d'entreprises ouvrent leur système d'information à leurs partenaires ou leurs fournisseurs grâce au développement de l'utilisation d'internet, il est donc essentiel de connaître les ressources de l'entreprise à protéger et de maîtriser le contrôle d'accès et les droits des utilisateurs du système d'information. Il en va de même lors de l'ouverture de l'accès de l'entreprise sur internet. Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter au système d'information à partir de n'importe quel endroit, les personnels sont amenés à «transporter» une partie du système d'information hors de l'infrastructure sécurisée de l'entreprise. À la fin des années 1950, la sécurité informatique ne concernait que les ordinateurs : les salles machines étaient protégées et gardées, les bacs à carte étaient enfermés dans des locaux sécurisés, le chiffrement utilisait des techniques électromécaniques simples. La sécurité telle qu on l entend aujourd hui naît avec le temps partagé au début des années 60 : quand un ordinateur exécute plusieurs tâches à la fois il faut s assurer que le processus d un utilisateur ne puisse pas espionner le processus d un autre. La mise en réseau des ordinateurs a commencé au début des années 70. Elle a nécessité des progrès dans le chiffrement, apportés notamment par les systèmes à clé publique. Ces progrès sont à la base du développement du commerce sur l Internet dans les années 90. Si les progrès du chiffrement ont été substantiels, la sécurité de l Internet et des programmes informatiques reste insuffisante. Il est difficile de repérer sur l Internet les interlocuteurs auxquels on ne doit pas faire confiance : un quart des ordinateurs sont parasités par des vers et la moitié des messages sont du spam. Par ailleurs la lutte contre le terrorisme s oppose à la protection des réseaux et des ordinateurs, que les services de renseignement veulent pouvoir pénétrer. La NSA mène sur l Internet un programme d écoute universel. Certaines histoires d'intrusions sont bien connues, elles ont été relayées par les médias, et font aujourd'hui partie de la légende du piratage informatique. Voici quelques faits : En 1994, un ingénieur de MCI communication a été inculpé pour avoir intercepté plus de numéros de cartes depuis un central téléphonique. En 1995, à l âge de 31 ans, Kevin Mitnick, a été arrêté pour avoir volé plus de numéros de cartes de crédits, en pénétrant des ordinateurs de Pacific Bell, Digital Equipment Corporation et en détournant pour environ 1 million de dollars d'informations volées. En 2007, la chaîne de magasins américaine a enduré un coup dur après qu'il ait été découvert que des pirates avaient exfiltré des données bancaires pendant une période de près de 18 mois. L'ampleur de l'attaque s'est révélée au fur et à mesure des mois. Ainsi alors qu'il était initialement question du vol de 45 millions de numéros bancaires, le bilan s'est alourdi pour passer à 94 millions. Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent qu'une infime partie du problème. Accompagnant la croissance du nombre de machines interconnectées dans Internet et la 17

18 Chapitre1 : Historique et quelques définitions de base Partie N 1 conscience dans le grand public du développement des "Autoroutes de l'information", le nombre d'intrusions explose littéralement. La nécessité d une protection efficace s est donc naturellement imposée. 1.2 Définitions de base Dans cette section, nous allons donner un ensemble de définitions de base qui sont très utilisées dans le domaine des réseaux et la sécurité des systèmes informatiques. Réseau informatique : ensemble d ordinateurs et de terminaux interconnectés pour échanger des informations numériques. LAN (Local Area Network) : réseau local, intra entreprise permettant l échange de données et le partage de ressources. MAN (Metropolitan Area Network) : réseau métropolitain qui permet la connexion de plusieurs sites à l échelle d une ville. WAN (Wide Area Network) : réseau à l échelle d un pays, généralement celui des opérateurs. Le plus connu des WAN est Internet. SAN (Storage Area Network) : est un réseau de stockage à part entière. Le SAN est un réseau dédié au stockage attaché aux réseaux de communication de l'entreprise. Les ordinateurs ayant accès au SAN possèdent donc une interface réseau spécifique reliée au SAN, en plus de leur interface réseau traditionnelle. VPN (Virtual Private Network) : est vu comme une extension des réseaux locaux et préserve la sécurité logique que l'on peut avoir à l'intérieur d'un réseau local. Il correspond en fait à une interconnexion de réseaux locaux via une technique de «tunnel». On parle de VPN lorsqu'un organisme interconnecte ses sites via une infrastructure partagée (publique ou dédiée) avec d'autres organismes. IPSec (Internet Protocol Security, RFC 2401) : est un protocole de la couche 3 du modèle OSI. C est un protocole destiné à fournir différents services de sécurité. Il propose ainsi plusieurs choix et options qui lui permettent de répondre de façon adaptée aux besoins des entreprises, nomades, extranets, particuliers, etc... Néanmoins, son intérêt principal reste sans conteste son mode dit de tunneling, c'est-à-dire d'encapsulation d'ip qui lui permet entre autres choses de créer des réseaux privés virtuels (ou VPN en anglais). Cette technologie à pour but d'établir une communication sécurisée (le tunnel) entre des entités éloignées, séparées par un réseau non sécurisé voir public comme Internet, et ce de manière quasi-transparente si on le désire. SSL (Secure Sockets Layer) : est un procédé de sécurisation des transactions effectuées via Internet. Le standard SSL a été mis au point par Netscape, en collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics. Il repose sur un procédé de cryptographie par clef publique afin de garantir la sécurité de la transmission de données sur internet. Son principe consiste à établir un canal de communication sécurisé (chiffré) entre deux machines (un client et un serveur) après une étape d'authentification. 18

19 Chapitre1 : Historique et quelques définitions de base Partie N 1 SSH (Secure SHell) : est à la fois la définition d'un protocole et un ensemble de programmes utilisant ce protocole, destinés à permettre aux utilisateurs d'ouvrir, depuis une machine cliente, des sessions interactives à distance sur des serveurs et de transférer des fichiers entre les deux. La connexion entre le client et le serveur est encryptée. Les pirates, même s'ils contrôlent cette connexion, ne peuvent pas lire les données confidentielles (telles que des mots de passe) qui y transitent. La cryptographie à clefs publiques permet à SSH de garantir l'authentification mutuelle du client (utilisateur) et du serveur. Des pirates ne peuvent pas dévier une connexion vers un serveur sous leur contrôle. Le protocole SSH a été conçu avec l'objectif de remplacer les différents programmes : rlogin, Telnet et rsh. TLS (Transport Layer Security) : anciennement nommé Secure Sockets Layer (SSL), est un protocole de sécurisation des échanges sur Internet, développé à l'origine par Netscape (SSL version 2 et SSL version 3). Il a été renommé en Transport Layer Security (TLS) par l'ietf suite au rachat du brevet de Netscape par l'ietf en Le groupe de travail correspondant à l'ietf a permis la création des RFC 2246 pour le TLS et RFC 4347 pour son équivalent en mode datagramme, le DTLS. Depuis son rapatriement par l'ietf, le protocole TLS a vécu deux révisions subséquentes : TLSv1.1 décrite dans la RFC 4346 et publiée en 2006 et TLSv1.2, décrite par la RFC 5246 et publiée en Authentification : est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité (personne, ordinateur ), afin d'autoriser l'accès de cette entité à des ressources (systèmes, réseaux, applications ). L'authentification permet donc de valider l'authenticité de l'entité en question. Confidentialité : a été définie par l'organisation internationale de normalisation (ISO) comme «le fait de s'assurer que l'information n'est seulement accessible qu'à ceux dont l'accès est autorisé», et est une des pierres angulaires de la sécurité de l'information. La confidentialité est l'une des raisons d'être des cryptosystèmes, rendus possibles dans la pratique par les techniques de la cryptographie moderne. Intégrité : désigne l'état de données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent un format permettant leur utilisation. L'intégrité des données comprend quatre éléments : l'intégralité, la précision, l'exactitude/authenticité et la validité. Non-répudiation : c est le fait de ne pas pouvoir revenir sur le contenu d'un document électronique ou d'une transaction. Elle concerne la signature, c'est-à-dire: Comment prouver qu un client a bel et bien passé une telle commande. Virus : est un petit programme informatique situé dans le corps d'un autre, qui, lorsqu'on l'exécute, se charge en mémoire et exécute les instructions que son auteur a programmé. La définition d'un virus pourrait être la suivante : «Tout programme d'ordinateur capable d'infecter un autre programme d ordinateur en le modifiant de façon à ce qu'il puisse à son tour se reproduire.» Ver informatique (en anglais Worm) : est un programme qui peut s'auto-reproduire et se déplacer à travers un réseau en utilisant les mécanismes réseau, sans avoir réellement besoin d'un support physique ou logique (disque dur, programme hôte, fichier, etc.) pour se propager; un ver est donc un virus réseau. 19

20 Chapitre1 : Historique et quelques définitions de base Partie N 1 Antivirus : est un programme capable de détecter la présence de virus sur un ordinateur et, dans la mesure du possible, de désinfecter ce dernier. On parle ainsi d'éradication de virus pour désigner la procédure de nettoyage de l'ordinateur. Spyware (en français espiogiciel) : est un programme chargé de recueillir des informations sur l'utilisateur de l'ordinateur sur lequel il est installé (on l'appelle donc parfois mouchard) afin de les envoyer à la société qui le diffuse pour lui permettre de dresser le profil des internautes (on parle de profilage). Chiffrement asymétrique (ou chiffrement à clé publique) : est une méthode de chiffrement qui s'oppose au chiffrement symétrique. Elle repose sur l'utilisation d'une clé publique (qui est diffusée) et d'une clé privée (gardée secrète), l'une permettant de coder le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul le destinataire (en possession de la clé privée) peut décoder, garantissant la confidentialité du contenu. Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur d'un message. Chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) : consiste à utiliser la même clé pour le chiffrement et le déchiffrement. Le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l'aide de la clé privée, afin de les rendre inintelligibles. Ainsi, le moindre algorithme (tel qu'un OU exclusif) peut rendre le système quasiment inviolable (la sécurité absolue n'existant pas). Certificat électronique : est une carte d'identité numérique dont l'objet est d'identifier une entité physique ou non-physique. Le certificat numérique ou électronique est un lien entre l'entité physique et l'entité numérique (Virtuel). L'autorité de certification fait foi de tiers de confiance et atteste du lien entre l'identité physique et l'entité numérique. Le standard le plus utilisé pour la création des certificats numériques est le X.509. RADIUS (Remote Authentication Dial In User Service) : est un réseau de protocole qui fournit des services centralisés d'authentification, d'autorisation et de comptabilité ( AAA ) de gestion pour les ordinateurs de se connecter et utiliser un service réseau. RADIUS est un protocole client / serveur qui s'exécute dans le couche d'application, en utilisant UDP comme le transport. Le serveur d'accès distant, le serveur de réseau privé virtuel, le commutateur de réseau avec l'authentification basée sur le port, et le Network Access Server (NAS), sont toutes les passerelles qui contrôlent l'accès au réseau, et tous ont un composant client RADIUS qui communique avec le serveur RADIUS. TACACS (Terminal Access Controller Access-Control System) : est un protocole d'authentification distante utilisé pour communiquer avec un serveur d'authentification, généralement utilisé dans des réseaux UNIX. TACACS permet à un serveur d'accès distant de communiquer avec un serveur d'authentification dans l'objectif de déterminer si l'utilisateur a le droit d'accéder au réseau. ACL (Access control List) : les listes de contrôle d accès sont des listes de conditions qui sont appliquées au trafic circulant via une interface de pare-feu. Ces listes indiquent au pare-feu les types de paquets à accepter ou à rejeter. L acceptation et le refus peuvent être basés sur des conditions précises. Les ACL permettent de gérer le trafic et de sécuriser l accès d un réseau en entrée comme en sortie. 20

21 Chapitre1 : Historique et quelques définitions de base Partie N 1 Système informatique : nous appellerons système informatique une ou plusieurs machines mises à la disposition de zéro, un ou plusieurs utilisateurs légitimes pour toutes sortes de tâches. Intrusion : nous appellerons intrusion toute 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. L intrus est généralement vu comme une personne étrangère au système informatique qui a réussi à en prendre le contrôle, mais les statistiques montrent que les utilisations abusives (du détournement de ressources à l espionnage industriel) proviennent le plus fréquemment de personnes internes ayant déjà un accès au système. Mécanisme d audit : nous appellerons mécanisme d audit toute partie de code du système informatique dont le but est de reporter des informations sur les opérations qu il lui est demandé d accomplir. Journal d audit : nous appellerons journal d audit l ensemble des informations générées par les mécanismes d audit. Événement : étant donné un niveau de granularité, nous appellerons événement toute opération élémentaire. Par extension, nous appellerons également événement le report de celui-ci par un mécanisme d audit. Flux d audit élémentaire : nous appellerons flux d audit élémentaire une suite temporelle reportant les événements se produisant sur une même partie du système et traduisant son comportement. Flux d audit : nous appellerons flux d audit une suite temporelle d événements, pouvant être l entremêlement de plusieurs flux élémentaires. Détection d intrusions : la détection d intrusions consiste à analyser les informations collectées par les mécanismes d audit de sécurité, à la recherche d éventuelles attaques. Bien qu il soit possible d étendre le principe, nous nous concentrerons sur les systèmes informatiques. Les méthodes de détection d intrusions diffèrent sur la manière d analyser le journal d audits. 21

22 Chapitre 2 : Systèmes contribuant à la sécurité des réseaux informatiques 22

23 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N Systèmes de détection d'intrusions Définition Un système de détection d'intrusions (IDS) est un mécanisme destiné à repérer des activités anormales ou suspectes sur une cible donnée afin de remédier aux problèmes dans les plus brefs délais. Vu leur utilité pratique, les IDS ont été étudiés massivement durant les 20 dernières années dans le but d'améliorer leur efficacité. Les fruits de ces études sont des différentes classes d'idss qui se basent sur différentes techniques de détection dont chacune est mieux appropriée pour un contexte bien particulier. Entre autres, nous trouvons les systèmes de détection d'intrusions qui basent leurs décisions sur des informations trouvées dans des machines hôtes et appelés HIDS et les systèmes de détections d'intrusions qui fondent leurs décisions uniquement sur des informations qui circulent dans un réseau et qui sont appelés NIDS. Plus de détails sur les différentes classes des IDS ainsi que leur évolution sont disponibles dans [1]. Dans ce qui suit, nous donnons, en premier lieu, un bref aperçu sur les vulnérabilités des systèmes informatiques ainsi que la notion d'audit de sécurité. Ensuite nous introduisons les deux grandes approches d'ids les plus utilisées : l'approche comportementale et l'approche par scénarios. Nous continuons avec une méthode récente basée sur l'utilisation des agents mobiles pour la détection d'intrusions. Nous terminons cette section par présenter quelques outils de détection d'intrusions Vulnérabilité des systèmes Une attaque est une exploitation d'une vulnérabilité présente dans un système. De ce fait, réduire les attaques ne peut se faire qu'avec une bonne compréhension du système et des possibles sources de vulnérabilité afin de trouver les remèdes convenables. Le mot vulnérabilité exprime toutes les faiblesses des ressources informatiques qui peuvent être exploitées par des personnes malintentionnées. Dans [2], D. Denning explique la présence de vulnérabilités dans des systèmes d'informations par, entre autres, les raisons suivantes : Une bonne sécurité coûte généralement très chère et la plupart des organismes n'ont pas le budget suffisant pour s'offrir ce besoin. Les outils de sécurité utilisés ne peuvent pas être sûrs à 100%, voir qu'ils sont souvent inefficaces. Les politiques de sécurité sont couramment complexes, incomplètes et parfois inconsistantes. Les bugs dans les programmes qui sont courants et qui sont toujours exploitables par les attaquants. Les faiblesses dues à la gestion et à la configuration des systèmes Audit de sécurité L'audit de sécurité permet d'enregistrer tout ou une partie des actions effectuées sur le système. L'analyse de ces informations permet de détecter d'éventuelles intrusions. Les systèmes d'exploitation disposent généralement d'un système d'audit intégré. Les différents événements du système sont enregistrés dans un journal d'audit qui devra être analysé fréquemment, voire en permanence. Dans les réseaux, il est indispensable de se disposer d'une base d'audit permettant d'estampiller et d'enregistrer certains événements. Selon les travaux de Mé et Alanou indiqué dans [1], il s'agit de collecter des informations concernant les différentes composantes (processus, mémoire, fichiers, entrées/sorties, etc.) du système afin de comprendre le "qui a fait à quoi, quand et comment?" et d'empêcher les intrusions dans la mesure du possible. L'audit permet également d'obtenir des informations relatives à chaque application (le 23

24 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 lancement ou l'arrêt des différents modules, les variables d'entrée et de sortie et les différentes commandes exécutées). D'autres informations sur les violations éventuelles de la sécurité (exemple : tentatives de commandes non autorisées) ainsi que des statistiques sur l'utilisation de certaines composantes (cpu, réseau, etc.) du système peuvent également être collectées Classification des systèmes de détection d'intrusions Approche par scénarios Cette approche consiste à chercher dans les activités de l'entité surveillée les empreintes ou les signatures d'attaques connues. Chacune de ces signatures décrit une attaque bien précise et chaque attaque peut être détectée par un seul ou une séquence d'événements obtenus à partir d'une ou plusieurs sondes (collecteur d'informations). Ces derniers permettent de classifier tous les événements d'attaques qui peuvent provenir, soit d'un hôte (exemple : fichiers audit, trace d'exécution des commandes, etc.), soit d'un réseau. La figure 1 représente un modèle générique de système de détection d'intrusions adapté pour l'approche par scénarios. Cette démarche est très similaire à celle des outils antivirus et présente les mêmes inconvénients que ceux-ci. Il est aisé de comprendre que ce type d'idss ne peut détecter que les attaques dont ils possèdent les signatures. Ils nécessitent également des mises à jour régulières de leur base de signatures et leur efficacité dépend du contenu de cette base. Si les signatures sont erronées ou incorrectement conçues, l'ensemble du système est par conséquent inefficace. Ce modèle est par contre très simple à implémenter et à optimiser. Fig. 1 : Modèle de détection pour l'approche par scénarios. Plusieurs mécanismes ont été proposés afin de localiser les signatures d'attaques dans les traces d'audit. Parmi ces mécanismes, on peut citer : Analyse des transitions d'états : Les signatures d'attaques sont vues comme des systèmes de transitions étiquetées. En partant d'un état initial et en analysant les séquences d'actions effectuées sur le système, nous pouvons détecter des états indésirables qui reflètent des tentatives d'intrusions. Réseaux de neurones : Les réseaux de neurones sont souvent utilisés pour répartir en différentes classes une population (un ensemble d'individus). Pour la détection d'intrusions, la 24

25 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 population est l'ensemble d'actions effectuées sur le système et on cherche à les répartir en au moins deux classes : les actions malicieuses ou douteuses et les actions non malicieuses. Grâce à leur flexibilité et leur rapidité, les réseaux de neurones permettent de faire une analyse efficace du flux d'audit en temps réel. Il est cependant difficile de comprendre dans tous les cas les raisons qui ont amené à placer une action dans une classe ou dans une autre. Reconnaissance de forme (Pattern Matching) : Il s'agit de représenter les signatures d'attaques par des séquences abstraites (avec possibilité d'inclure des variables) d'événements, de modéliser le trafic par une séquence concrète d'actions et de voir s'il est possible de les unifier Approche comportementale Cette approche à été proposée par J. Anderson dans [3] en 1980, puis révisée et étendue dans [4] par D. Denning en Elle consiste à détecter si un utilisateur a fait un comportement anormal par rapport à ses habitudes. Elle utilise pour cela un modèle statistique développé par Denning dans [4] et elle se base sur un profil du comportement normal de l'utilisateur, au vu de plusieurs variables aléatoires. Lors de l'analyse, on calcule un taux de déviation entre le comportement courant et le comportement passé. Fig. 2 : Modèle de détection pour l'approche comportementale. Si ce taux dépasse un certain seuil, le système déclare qu'il est attaqué. Par exemple, un employé qui travaille dans une compagnie et qui se connecte la nuit à certaines heures, en plus de la journée pourrait amener l'ids à signaler un comportement inhabituel. Le principal avantage des IDS comportementaux est la détection de nouveaux types d'attaques. En effet, ces IDS ne sont pas programmés pour reconnaître des attaques spécifiques mais plutôt pour signaler toute activité anormale. La figure 2 montre un exemple de modèle de détection utilisant l'approche par profil. Cette dernière utilise le profil construit à partir des événements passés pour le comparer aux événements actuels du collecteur [5]. Cependant, cette approche peut entraîner beaucoup de fausses alertes comme il est possible de ne pas détecter certaines attaques. L'approche comportementale est basée sur plusieurs techniques, on citera dans ce qui suit quelques-unes : Observation de seuils : Il s'agit de l'utilisation de la méthode de classification de BAYE (observation du seuil). Cette méthode permet de fixer le comportement normal d'un utilisateur par la donnée de seuils à certaines mesures (par exemple le nombre maximum de mots de passe erronés). Si le comportement d'un utilisateur dévie sur la valeur du seuil, le model de détection génère une alarme. 25

26 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 Profilage des utilisateurs [6] : L'idée est d'établir des profils individuels de chacun des usagers du système. Au fur et à mesure que l'utilisateur change ses activités, son profil de travail attendu se met à jour. Il reste cependant difficile de déterminer un profil pour un utilisateur irrégulier ou très dynamique. Profilage des groupes : Pour réduire le nombre de profil à gérer, on classe les utilisateurs par groupes. Le profil d'un groupe est par la suite calculé en fonction de l'historique de ses activités. On vérifie que les individus du groupe travaillent d'une manière uniforme et ne dévient pas par rapport à ce qui a été défini comme profil du groupe. Cependant, il n'est pas évident de trouver le groupe le plus approprié à une personne. D'ailleurs, il est parfois nécessaire de créer un groupe à un seul individu. Profilage d'utilisation de ressources : Il s'agit d'observer l'utilisation de certaines ressources (comme les CPU, les ports de communication, les comptes, les applications, la mémoire) sur de longues périodes et de comparer les activités courantes par rapport à ce qui a été observé dans le passé. On peut aussi observer les changements dans l'utilisation des protocoles réseau et rechercher les ports qui voient leur trafic augmenter anormalement. Les expériences ont montré, cependant, qu'il est difficile d'interpréter les écarts par rapport au profil normal. Profilage de programmes exécutables : Certains virus, chevaux de Troie et d'autres programmes malveillants peuvent être détectés en profilant la façon dont les objets du système comme les fichiers ou les imprimantes sont utilisées par les programmes de confiance. En d'autres termes, le profilage de programmes exécutables consiste à observer l'utilisation des ressources du système par certains programmes exécutables dans le but de détecter des déviations par rapport à ces comportements. On peut par exemple détecter le fait qu'un serveur se met à écouter sur des ports autres que ceux qu'il utilise d'habitude. Profilage statistique : Denning a défini dans [4] une approche statistique permettant de modéliser les comportements des utilisateurs d'un système. Ce modèle statistique permet de déterminer, au vu de n observations : r 1,..., r n faites sur une variable x, si la valeur xn+1 de l'observation (n+1) est acceptable ou non. Explicitement, un profil est constitué d'un ensemble de mesures représentant certaines statistiques sur des événements (exemple : nombre de fois qu'une commande système particulière a été exécutée par un utilisateur, nombre de quantums du temps CPU occupés par un programme, etc.) pendant une certaine période de temps. Approche immunologique : L'approche immunologique tente de reproduire le comportement des systèmes immunologiques réels pour faire la différence entre ce qui est normal et ce qui ne l'est pas. En fait, l'approche comportementale se base sur la connaissance de ce qui est bien et vérifiée en permanence que l'activité du système est normale. L'approche immunologique propose de rechercher ce qui est mal en connaissant ce qui est bien. En clair, l'approche immunologique consiste à construire un modèle de comportement normal des services à travers des courtes séquences d'appels système. En phase d'apprentissage, on construit une base de séquences d'appels normaux à partir de l'observation d'un service pendant un certain temps. Toute séquence étrangère à cet ensemble est considérée comme une potentielle intrusion Utilisation des agents mobiles dans les systèmes de détection d'intrusions Le domaine de recherche sur les agents mobiles est relativement récent (voir [7]). Le concept d'agents mobiles dans le réseau est apparu en 1994 avec Telescript de General Magic [8] qui ont proposé un système fermé pour le commerce électronique. Les agents sont des entités capables de migrer leur exécution d'une place à une autre via l'instruction go, de rencontrer d'autres agents sur la même place via l'instruction meet et de communiquer avec d'autres agents sur d'autres places par des connections 26

27 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 permettant l'envoi de messages. Beaucoup de travaux de recherche ont été effectués dans le but d'affiner les environnements de développement des systèmes d'agents mobiles, d'approfondir cette nouvelle forme d'architecture des réseaux et de faire valoir son impact sur l'existant en matière de communication et de services. Le but de cette section est de présenter, une vue globale sur l'utilisation des agents mobiles dans les systèmes de détection d'intrusions Agent mobile Un agent mobile est défini dans [9] comme étant un programme autonome qui peut se déplacer de son propre chef, de machine en machine sur un réseau hétérogène dans le but de détecter et de combattre les intrusions. Cet agent mobile doit être capable de s'adapter à son environnement, de communiquer avec d'autres agents, de se déplacer et de se protéger. Pour ce dernier point, une des fonctions de l'agent doit être l'identification et l'authentification pour donner l'emplacement et l'identité de celui qui l'a lancé. Il est également défini dans [10] comme étant «une entité logicielle qui fonctionne de manière continue et autonome dans un environnement particulier...capable d'effectuer des activités de manière flexible et intelligente qui réagit bien aux changements d'environnement... Idéalement, un agent fonctionnant continuellement serait capable de s'enrichir de ses expériences. De plus, nous attendons d'un agent qu il puisse cohabiter avec d'autres dans un même environnement et accomplir ses tâches en communicant et en coopérant avec eux, voir même effectuer cela en se déplaçant sur différents postes». Le principal avantage de l'utilisation des agents mobiles est la mobilité des ces derniers sous forme des entités indépendantes. Ils peuvent être ajoutés ou retirés d'un système sans altérer les autres composants et ils peuvent être aussi testés seuls avant d'être introduits dans des environnements plus complexes. En outre, ils peuvent faire parti d'un groupe et fournir alors des fonctions simples mais qui peuvent être échangées de façon à donner des résultats plus complexes qu'ils ne pourraient pas obtenir seuls. Le fait qu'il n'y ait pas de programme principal qui se sert des autres modules comme esclaves mais plutôt la présence de plusieurs entités intelligentes qui collaborent, fait que si une des entités s'arrête, le système continue son fonctionnement. Fig. 3 : Couche physique d'un système de détection d'intrusions par des agents mobiles. 27

28 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N Architecture du système avec les agents mobiles Cet exemple est donné dans [10] pour mettre en place des systèmes de détection d'intrusions utilisant des agents mobiles pour la collecte des données et leur analyse en employant une structure hiérarchique. Celle-ci permet une grande souplesse par sa faculté à s'adapter à la dimension du réseau. La figure 3 montre un exemple simple d'ids qui adhère à l'architecture des agents mobiles pour les systèmes de détection d'intrusions. Cette figure montre les trois composantes essentielles de l'architecture : agents, transmetteurs et moniteurs (ou contrôleurs). Un système de détection d'intrusions basé sur des agents mobiles peut être distribué sur un nombre quelconque de stations au sein d'un réseau. Tous les agents d'une station rapportent les résultats de leurs recherches à un ou plusieurs transmetteurs. Ces transmetteurs surveillent les opérations effectuées par tous les agents. Ils ont la capacité de lancer, d'arrêter et d'envoyer des commandes de configuration à ces agents. Ils peuvent également réaliser de la compression de données à partir des informations reçues par les agents. Finalement, ils rapportent leurs résultats à un ou plusieurs moniteurs. Ces derniers surveillent les opérations de plusieurs transmetteurs à la fois. Ils ont accès aux données du réseau de manière étendue et de là ils sont capables d'effectuer des corrélations de haut niveau et de détecter des intrusions impliquant plusieurs machines. Ils peuvent être organisés hiérarchiquement de telle sorte qu'ils réfèrent eux-mêmes leurs activités à un contrôleur supérieur. Aussi, un transmetteur peut reporter ses activités à plus d'un contrôleur pour fournir des informations redondantes permettant de résister à une panne provenant de l'un d'entre eux. Pour finir, un contrôleur est responsable de fournir des informations et d'obtenir des commandes de contrôle à partir d'une interface utilisateur. Pour conclure cette section, si les agents mobiles possèdent des avantages importants, les inconvénients qu'ils engendrent ne sont pas négligeables. Cependant, l'approche par agents mobiles semble pouvoir donner des résultats meilleurs que les autres technologies et la recherche est entrain de développer une nouvelle architecture pour cette technologie Outils de détection d'intrusions Depuis les années 80, divers outils des systèmes de détection d'intrusions ont été développés. On cite dans ce qui suit les plus importants : a. NIDS (Network Based Intrusion Detection Systems) Ce sont les systèmes les plus connus en pratique [11] et ils peuvent être assimilés à un sniffer permettant de capturer et de décoder toutes les trames qui transitent par les segments sur lesquels ils sont connectés. Toutefois, contrairement à un sniffer, cette sonde analyse les paquets IP dans leur intégralité afin de repérer des signatures d'attaques déjà connues ou des anomalies dans les entêtes des paquets. Un exemple de ce système est l'outil Snort [12]. b. HIDS (Host Based Intrusion Detection Systems) Ils représentent le complément naturel des NIDS. Les HIDS [13] utilisent des informations d'audit provenant essentiellement de la machine à protéger à partir de diverses sources (traces d'audit système, historique des commandes exécutées, etc.) pour la détection des comportements malicieux. Plus précisément, ils peuvent offrir les services suivants : Contrer les attaques provenant des applications installées sur le système protégé. Vérifier l'intégrité des fichiers sensibles. 28

29 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 Corréler les fichiers journaux en provenance d'applications ou d'équipements tiers tels que les routeurs, les pare-feux et les commutateurs. Un exemple de ce système est l'outil Tripwire [14]. c. IDES (Intrusion Detection Expert System) Les IDES [15] stipulent que le comportement d'un utilisateur reste presque inchangeable au cours d'une courte période de temps et que la manière dont il se comporte peut être résumée en calculant diverses statistiques sur son comportement. Les IDES construisent les profils des groupes (des utilisateurs censés avoir des comportements proches les unes des autres) et tentent de corréler le comportement actuel d'un utilisateur avec son comportement passé et le comportement passé de son groupe. Un exemple de ce système est l'outil P-BEST [16]. d. NIDES (Next Generation Intrusion Detection Expert System) Les NIDES [17] qui sont la continuation des IDES, fonctionnent sur une machine dédiée et indépendante du système surveillé. Le système cible chiffre son audit et il le transmet à la machine de surveillance via le réseau. Le NIDES apprend les habitudes du système cible en étudiant les événements d'accès aux fichiers et aux répertoires, la consommation de ressources, l'activité réseau, les activités des programmes, etc. Il s'appuie sur une approche statistique (modèle de Denning) et une approche qui repose sur les systèmes experts pour tirer ses conclusions. Un exemple de ce système est l'outil LAMBDA [18]. 2.2 Pare-feux (Firewalls) Le but de cette section est de présenter une autre technique très efficace et plus utilisée avec les systèmes de détection d'intrusions dans le but de renforcer la sécurité des réseaux : il s'agit des parefeux. Ces derniers sont utilisés pour contrôler, analyser, sécuriser et gérer le trafic dans les réseaux. Cela permet d'utiliser le réseau de la façon pour laquelle il a été prévu et d'empêcher les accès nonautorisés. Un pare-feu contient généralement un ensemble de règles prédéfinies permettant de rejeter ou d'autoriser des connexions et/ou des paquets. De ce fait, la protection d'un réseau local qui utilise des pare-feux (matériels ou logiciels) des accès non autorisés revient à configurer ces derniers d'une manière correcte par rapport aux contraintes de sécurité spécifiées. Plus de détails sur cette technique de sécurisation sont disponibles dans [19]. Règle Action IP Source IP Destination Protocole Port Source Port Destination 1 Accept tcp any 23 2 Accept any tcp any 80 3 Accept /24 any tcp any 80 4 Accept any any any any any Tab. 1 : Règles de configuration d'un pare-feu Définition Les pare-feux (firewalls) sont des dispositifs physiques (matériels) ou logiques (logiciels) conçus pour contrôler le trafic entre le réseau interne et le réseau externe en autorisant uniquement la circulation du trafic qui ne viole pas la politique de sécurité mise en place (voir Fig. 4 ). Ils sont configurés via des règles de filtrages spécifiées par des experts en sécurité des réseaux. Quand un pare-feu reçoit un 29

30 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 paquet, il commence par vérifier sa liste de règles de filtrages du début à la fin à la recherche d'une règle permettant d'accepter ou de rejeter le paquet. La règle suivante en est un exemple : Accept TCP any 23 Dans cette règle, le pare-feu est configuré pour accepter n'importe quel paquet du protocole TCP ayant " " comme adresse IP source et " " comme adresse IP destination et utilisant n'importe quel port source et 23 comme port destination. La table «Tab. 1» donne d'autres exemples de règles de configuration d'un pare-feu. Les règles du pare-feu permettent de mettre en œuvre un filtrage dépendant de la politique de sécurité adoptée. Les deux approches d'implantation de politiques de sécurité les plus répandues sont : Le premier type autorise uniquement les connexions ayant été explicitement autorisées : Tout ce qui n'est pas explicitement autorisé est interdit. Le deuxième type empêche les échanges qui ont été explicitement interdits : Tout ce qui n'est pas explicitement interdit est autorisé. La première méthode est la plus simple, mais elle impose une définition précise des besoins de connexions (quels logiciels, quelles adresses IP, quels ports, quelle direction, etc.) Principe de fonctionnement Fig. 4 : L'emplacement du pare-feu Essentiellement, il y a trois modes de fonctionnement de pare-feux [20] : le filtrage statique, le filtrage dynamique et le filtrage applicatif Filtrage statique (stateless packet filtering) C'est le filtrage de paquets le plus simple et il est une des premières solutions proposées pour les parefeux et mises en œuvre sur le marché. Un pare-feu qui fonctionne selon ce mode de filtrage inspecte les en-têtes de chaque paquet qui le traverse et décide selon la politique de sécurité de le laisser passer ou de le supprimer et ce sans tenir compte des autres paquets. Parmi les champs qui peuvent être analysées et pris en considération lors de la décision d'un pare-feu, nous trouvons : Adresse IP de la machine émettrice. Adresse IP de la machine réceptrice. Type de protocole (TCP, UDP, etc.). Numéro de port : le numéro associé à un service ou une application réseau. Etc. 30

31 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 Le principal intérêt du filtrage statique réside dans sa simplicité, sa transparence vis-à-vis des utilisateurs, ainsi que la vitesse de traitement des paquets qui le traverse. Cependant, cette solution ne permet de détecter plusieurs attaques (IP Spoofing / IP Flooding, certain DoS, etc.) qui nécessitent des analyses poussées des paquets en faisant des liens entre eux Filtrage dynamique (Stateful Inspection) Cette technique a été proposée pour palier aux certaines limites de pare-feux utilisant le filtrage simple. L'idée est de conserver les traces de sessions et de connexions dans des tables d'états internes aux pare-feux. Ces traces seront également prises en considération par les pare-feux lors de prise de décisions. Ces informations augmentent considérablement les capacités des pare-feux à détecter des attaques sophistiquées. Il reste, cependant, que les failles applicatives (les failles liées aux logiciels), qui sont à l'origine de la plus grande majorité de problèmes de sécurité, pour ce type de filtrage Filtrage applicatif Il a été proposé comme étant une amélioration supplémentaire du filtrage dynamique. Ce mécanisme est attaché au niveau de la couche application, où il peut extraire les données du protocole de niveau 7 pour les étudier. Les requêtes sont traitées par des processus dédiés, par exemple une requête de type http sera filtrée par un processus proxy http. Le pare-feu rejettera toutes les requêtes qui ne sont pas conformes aux spécifications du protocole et les paquets qui ne respectent pas la politique de sécurité. Cela implique qu'un pare-feu proxy connaît toutes les règles de communication des protocoles qu'il doit filtrer. 2.3 Systèmes Cryptographiques Définition La cryptographie est la science qui utilise les mathématiques pour chiffrer et déchiffrer des données. La cryptographie vous permet de stocker des informations sensibles ou de les transmettre à travers des réseaux non sûrs (comme Internet) de telle sorte qu elles ne puissent être lues par personne à l exception du destinataire convenu. Alors que la cryptographie est la science de la sécurisation des données, la cryptanalyse est la science de l analyse et du cassage des communications sécurisées. La cryptanalyse classique mêle une intéressante combinaison de raisonnement analytique, d application d outils mathématiques, de découverte de redondances, de patience, de détermination, et de chance. Les cryptanalystes sont aussi appelés attaquants. La cryptologie embrasse à la fois la cryptographie et la cryptanalyse La cryptographie forte Il y a deux sortes de cryptographie dans ce monde: la cryptographie qui empêchera votre petite sœur de lire vos fichiers, et la cryptographie qui empêchera les grands gouvernements de lire vos fichiers. Ce chapitre traite de la seconde. La cryptographie peut être forte ou faible, comme expliqué ci-dessus. La force de la cryptographie est mesurée par le temps et les ressources qui seraient nécessaires pour retrouver le texte clair. Le résultat de la cryptographie forte est un texte chiffré qui est très difficile à déchiffrer sans la possession de l outil de déchiffrement approprié. A quel point est-ce difficile? Même en utilisant toute la puissance 31

32 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 informatique disponible dans le monde aujourd hui à plein temps même avec un milliard d ordinateurs effectuant chacun un milliard de vérifications à la seconde il serait impossible de déchiffrer le résultat d une cryptographie forte avant la fin de l univers. Certains penseront, alors, que la cryptographie forte devrait tenir plutôt bien même contre un cryptanalyste extrêmement déterminé. Qui peut le dire vraiment? Personne n a pu prouver que le plus fort chiffrement qu on puisse se procurer aujourd hui tiendra devant la puissance informatique de demain. Cependant, la cryptographie forte employée par PGP est la meilleure disponible aujourd hui. La vigilance et le conservatisme vous protégeront mieux, toutefois, que toute prétention d impénétrabilité Principe de fonctionnement de la cryptographie Un algorithme cryptographique, ou chiffre, est une fonction mathématique utilisée dans le processus de chiffrement et de déchiffrement. Un algorithme cryptographique fonctionne en combinaison avec une clé un mot, un nombre, ou une phrase pour chiffrer le texte clair. Le même texte clair se chiffre en un texte chiffré différent si l on utilise des clés différentes. La sécurité des données chiffrées est entièrement dépendante de deux choses: la force de l algorithme cryptographique et le secret de la clé. Un algorithme cryptographique, plus toutes les clés possibles et tous les protocoles qui le font fonctionner constitue un cryptosystème. PGP est un cryptosystème Cryptographie conventionnelle Dans la cryptographie conventionnelle, aussi appelée chiffrement à clé secrète ou à clé symétrique, une seule et même clé est utilisée à la fois pour le chiffrement et le déchiffrement. Le Data Encryption Standard (DES) est un exemple de cryptosystème conventionnel qui est largement employé par le Gouvernement fédéral américain. La Figure 5 est une illustration du processus du chiffrement conventionnel Le chiffre de César Fig. 5 : Chiffrement conventionnel Un exemple extrêmement simple de chiffrement conventionnel est un chiffre à substitution. Un chiffre à substitution remplace un morceau d information par un autre. Le plus souvent, cela est effectué en décalant des lettres de l alphabet. Deux exemples sont l anneau décodeur secret du Captain Midnight, que vous avez peut-être utilisé quand vous étiez enfant, et le chiffre de Jules César. Dans les deux cas, l algorithme consiste en un décalage de l alphabet, et la clé est le nombre de caractères à décaler. Par exemple, si nous codons le mot SECRET en utilisant une valeur de 3 pour 32

33 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 la clé de César, nous décalons l alphabet de telle sorte que la troisième lettre en descendant (D) commence l alphabet. Donc en commençant avec ABCDEFGHIJKLMNOPQRSTUVWXYZ Et en décalant le tout de 3, vous obtenez DEFGHIJKLMNOPQRSTUVWXYZABC Où D=A, E=B, F=C, et ainsi de suite. En utilisant ce schéma, le texte clair, SECRET se chiffre comme VHFUHW. Pour permettre à quelqu un d autre de lire le texte chiffré, vous lui dites que la clé est 3. Evidemment, c est de la cryptographie excessivement faible au regard des normes actuelles, mais bon, cela marchait pour César, et cela illustre aussi comment fonctionne la cryptographie conventionnelle Gestion de clé et chiffrement conventionnel Le chiffrement conventionnel a des avantages. Il est très rapide. Il est particulièrement utile pour chiffrer des données qui ne vont aller nulle part. Cependant, le chiffrement conventionnel seul en tant que moyen de transmission de données sécurisées peut être assez onéreux simplement en raison de la difficulté de la distribution sécurisée de la clé. Rappelez-vous un personnage de votre film d espionnage préféré: l homme qui porte une mallette menottée à son poignet. Qu y a-t-il dans la mallette, justement? Ce n est probablement pas le code de lancement du missile (la formule de la biotoxine) le plan d invasion lui-même. C est la clé qui déchiffrera les données secrètes. Pour qu un expéditeur et un destinataire communiquent de façon sûre en utilisant un chiffrement conventionnel, ils doivent se mettre d accord sur une clé et la garder secrète entre eux. S ils sont dans des lieux géographiques différents, ils doivent faire confiance à un messager, au Bat Phone, ou à un autre moyen de communication sûr pour empêcher la divulgation de la clé secrète pendant la transmission. Quiconque a entendu par hasard ou intercepté la clé en transit peut plus tard lire, modifier, et contrefaire toutes les informations chiffrées ou authentifiées avec cette clé. Du DES à l anneau décodeur secret du Captain Midnight, le problème continuel avec le chiffrement conventionnel est la distribution de la clé: Comment donnerez-vous la clé au destinataire sans que personne ne puisse l intercepter? La cryptographie à clé publique Les problèmes de distribution de clé sont résolus par la cryptographie à clé publique, dont le concept fut inventé par Whitfield Diffie et Martin Hellman en (Il y a maintenant des preuves que les Services secrets britanniques l inventèrent quelques années avant Diffie et Hellman, mais en conservèrent le secret militaire et ne firent rien avec). La cryptographie à clé publique repose sur un schéma asymétrique qui utilise une paire de clés pour le chiffrement: une clé publique, qui chiffre les données, et une clé privée correspondante, aussi appelée clé secrète, qui sera utilisée pour le déchiffrement (Voir figure 6). Vous publiez largement votre clé publique, tout en gardant votre clé privée secrète. Toute personne en possession d une copie 33

34 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 de votre clé publique peut ensuite chiffrer des informations que vous seul pourrez lire. Même des gens que vous n avez jamais rencontrés. Il est mathématiquement impossible de déduire la clé privée de la clé publique. Quiconque a une clé publique peut chiffrer des informations mais ne peut pas les déchiffrer. Seule la personne qui a la clé privée correspondante peut déchiffrer les informations. Fig. 6 : Chiffrement à clé publique Le principal avantage de la cryptographie à clé publique est qu elle permet à des gens qui n ont pas d accord de sécurité préalable d échanger des messages de manière sûre. La nécessité pour l expéditeur et le destinataire de partager des clés secrètes via un canal sûr est éliminée; toutes les communications impliquent uniquement des clés publiques, et aucune clé privée n est jamais transmise ou partagée. Des exemples de cryptosystèmes à clé publique sont : Elgamal (du nom de son inventeur, Taher Elgamal), RSA (du nom de ses inventeurs, Ron Rivest, Adi Shamir, et Leonard Aldeman), Diffie-Hellman (nommé ainsi, vous l avez deviné, à cause de ses inventeurs), et DSA, l Algorithme de Signature Digitale (inventé par David Kravitz). Parce que la cryptographie conventionnelle était autrefois le seul moyen disponible pour transmettre des informations secrètes, le coût des canaux sûrs et de la distribution des clés réservait son utilisation uniquement à ceux qui pouvaient se l offrir, comme les gouvernements et les grandes banques (ou les petits enfants avec leurs anneaux décodeurs secrets). Le chiffrement à clé publique est la révolution technologique qui permet aux masses d accéder à la cryptographie forte. Vous vous souvenez du messager avec la mallette menottée à son poignet? Le chiffrement à clé publique le met à la retraite (probablement à son grand soulagement) Fonctionnement de PGP PGP combine à la fois les meilleures fonctionnalités de la cryptographie conventionnelle et de la cryptographie à clé publique. PGP est un cryptosystème hybride. Quand un utilisateur chiffre du texte clair avec PGP, PGP compresse d abord le texte clair. La compression de données économise du temps de transmission par modem et de l espace disque et, ce qui est plus important, renforce la sécurité cryptographique. La plupart des techniques de cryptanalyse exploitent les redondances trouvées dans le texte clair pour craquer le texte chiffré. La compression réduit ces redondances dans le texte clair, ce qui augmente grandement la résistance à la cryptanalyse. (Les fichiers qui sont trop petits pour être compressés ou qui ne se compressent pas bien ne sont pas compressés.) 34

35 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 PGP crée ensuite une clé de session, qui est une clé secrète qui ne sert qu une fois. Cette clé est un nombre aléatoire généré à partir des mouvements aléatoires de votre souris et des touches du clavier sur lesquelles vous tapez. Cette clé de session fonctionne avec un algorithme de chiffrement conventionnel très sûr et rapide qui chiffre le texte clair; le résultat est le texte chiffré. Une fois que les données sont chiffrées, la clé de session est elle-même chiffrée avec la clé publique du destinataire. Cette clé de session chiffrée par la clé publique est transmise avec le texte chiffré au destinataire. (Voir figure 7). Fig. 7 : Fonctionnement de chiffrement de PGP Le déchiffrement fonctionne de la manière inverse. La copie de PGP du destinataire utilise la clé privée de celui-ci pour retrouver la clé de session temporaire, que PGP utilise ensuite pour déchiffrer le texte chiffré de manière conventionnelle. (Voir figure 8). Fig. 8 : Fonctionnement de déchiffrement de PGP La combinaison des deux méthodes de chiffrement associe la commodité du chiffrement à clé publique avec la vitesse du chiffrement conventionnel. Le chiffrement conventionnel est environ 1000 fois plus rapide que le chiffrement à clé publique. Le chiffrement à clé publique fournit quant à lui une solution aux problèmes de distribution de la clé et de transmission des données. Utilisées toutes les deux, la performance et la distribution de la clé sont améliorées sans aucun sacrifice sur la sécurité. 35

36 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N Gestion des clés Une clé est une valeur qui est utilisée avec un algorithme cryptographique pour produire un texte chiffré spécifique. Les clés sont, à la base, de très, très, très grands nombres. La taille d une clé se mesure en bits; et le nombre qui peut être représenté par une clé de 1024 bits est vraiment immense. En matière de cryptographie à clé publique, plus la clé est grande, plus le chiffrement est sûr. Cependant, la taille d une clé publique n est absolument pas comparable avec la taille des clés secrètes employées en cryptographie conventionnelle. Une clé conventionnelle de 80 bits offre une sécurité équivalente à celle d une clé publique de 1024 bits. Une clé conventionnelle de 128 bits équivaut à une clé publique de 3000 bits. Encore une fois, plus grande est la clé, plus grande est la sécurité, mais les algorithmes utilisés pour chaque type de cryptographie sont très différents, et donc, comparer les tailles de clés revient à comparer des pommes et des oranges. Bien que la clé publique et la clé privée soient liées, il est très difficile de déduire la clé privée en partant de la seule clé publique; toutefois, il est toujours possible de déduire la clé privée si l on dispose de suffisamment de temps et de puissance de calcul. Il est donc très important de choisir une clé d une taille convenable; assez grande pour être sûre, mais suffisamment petite pour pouvoir être utilisée relativement rapidement. De surcroît, vous devez prendre en considération la nature des attaquants susceptibles de vouloir lire vos fichiers, leur détermination, le temps dont ils disposent, et leurs ressources éventuelles. Les clés les plus grandes resteront cryptographiquement sûres pour une plus longue période. Si ce que vous chiffrez doit rester caché de nombreuses années, vous voudrez sans doute utiliser une clé très grande. Qui peut dire en effet combien de temps il faudra pour casser votre clé en utilisant les ordinateurs du futur, plus rapides et plus efficaces? Il fut un temps où une clé symétrique de 56 bits était considérée comme extrêmement sûre. Les clés sont stockées sous forme chiffrée. PGP stocke les clés dans deux fichiers sur votre disque dur; l un pour les clés publiques et l autre pour les clés privées. Ces fichiers sont appelés des trousseaux de clés. Quand vous utiliserez PGP, vous ajouterez les clés publiques de vos correspondants à votre trousseau public. Vos clés privées sont stockées dans votre trousseau privé. Si vous perdez votre trousseau privé, vous serez incapable de déchiffrer tout message destiné à l une des clés qui était dans ce trousseau Signatures numériques Un des avantages majeurs de la cryptographie à clé publique est qu elle procure une méthode permettant d utiliser des signatures numériques. Les signatures numériques permettent à la personne qui reçoit une information de contrôler l authenticité de son origine, et également de vérifier que l information en question est intacte. Ainsi, les signatures numériques des systèmes à clé publique permettent l authentification et le contrôle d intégrité des données. Une signature numérique procure également la non répudiation, ce qui signifie qu elle empêche l expéditeur de contester ultérieurement qu il a bien émis cette information. Ces éléments sont au moins aussi importants que le chiffrement des données, sinon davantage. Une signature numérique a le même objet qu une signature manuelle. Toutefois, une signature manuelle est facile à contrefaire. Une signature numérique est supérieure à une signature manuelle en ce qu elle est pratiquement impossible à contrefaire et, de plus, elle atteste le contenu de l information autant que l identité du signataire. Certaines personnes utilisent les signatures plus qu elles n utilisent le chiffrement. Par exemple, vous pouvez vous moquer que quelqu un puisse savoir que vous venez de déposer F sur votre 36

37 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 compte bancaire, mais vous voudrez être absolument certain que c est bien avec votre banquier que vous avez traité. La méthode de base utilisée pour créer des signatures numériques est illustrée sur la Figure 9. Au lieu de chiffrer l information en utilisant la clé publique d autrui, vous la chiffrez avec votre propre clé privée. Si l information peut être déchiffrée avec votre clé publique, c est qu elle provient bien de vous. Fig. 9 : Signature numérique simple Fonctions de hachage Le système décrit ci-dessus comporte des inconvénients. Il est lent, et il produit un volume énorme de données il double au minimum la taille de l information originale. Une amélioration de ce concept est l addition d une fonction de hachage à sens unique dans le processus (voir figure 10). Une fonction de hachage à sens unique utilise une entrée de longueur variable dans notre cas, un message de n importe quelle longueur, jusqu à des milliers ou millions de bits et produit une sortie de longueur fixe, par exemple 160 bits. La fonction de hachage assure que, si l information était changée en quoi que ce soit même d un seul bit une sortie totalement différente serait produite. PGP applique une fonction de hachage cryptographiquement robuste, sur le texte clair que l utilisateur veut signer. Ceci génère comme résultat une donnée de longueur fixe appelée contraction de message. (Encore une fois, toute modification du contenu du message produirait un condensé totalement différent.) Ensuite, PGP utilise le condensé et la clé privée pour créer la signature. PGP transmet la signature et le texte clair ensemble. A la réception du message, le destinataire utilise PGP pour recalculer le condensé, et le comparer avec celui reçu avec le message, ce qui permet de vérifier la signature. PGP peut chiffrer le texte clair ou non; signer un texte clair est utile si certains destinataires ne sont pas désireux de vérifier la signature, ou pas équipés pour le faire. Tant qu une fonction de hachage sûre est utilisée, il n y a aucun moyen de recopier la signature de quelqu un sur un document pour l attacher à un autre, ni d altérer en quoi que ce soit un document 37

38 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 signé. Le plus petit changement dans un document signé provoquerait l échec de la vérification de la signature. Notez que les signatures numériques jouent un rôle majeur dans l authentification et la validation des clés PGP des autres utilisateurs Certificats numériques Fig. 10 : Signature numérique sécurisée Un problème, avec les cryptosystèmes à clés publiques, est que les utilisateurs doivent être constamment vigilants pour s assurer qu ils chiffrent leurs messages en utilisant la véritable clé de leur destinataire. Dans un environnement où l on peut échanger des clés à travers des serveurs publics, les attaques utilisant une personne interposée sont un danger potentiel. Dans ce type d attaque, un imposteur fournit une clé bidon portant le nom et l identifiant d utilisateur du destinataire réel des messages de l utilisateur. Les données chiffrées pour et interceptées par le vrai propriétaire de cette fausse clé, seront tombées en de mauvaises mains. Dans un environnement de clés publiques, il est vital que vous vous assuriez que la clé publique que vous vous apprêtez à utiliser pour chiffrer un message appartient bien au destinataire désiré, et n est pas une contrefaçon. Vous pourriez vous limiter à utiliser les clés publiques qui vous ont été remises physiquement, de la main à la main, par leur propriétaire. Mais supposez que vous deviez échanger des informations avec des gens que vous n avez jamais rencontrés; comment vous assurer que vous en possédez les véritables clés? Les certificats numériques [ou signatures], ou certs simplifient la tâche d établir la réelle appartenance d une clé à son propriétaire supposé (voir figure 11). Le dictionnaire de Webster définit un certificat comme un document contenant une affirmation certifiée, spécialement quant à la véracité de quelque chose. Un certificat est une sorte de pièce d identité. Comme par exemple votre passeport, votre carte de Sécurité Sociale, ou votre extrait de naissance. Chacun de ces certificats contient des informations vous identifiant, et la signature d une autorité qui certifie cette identité. Certaines de ces pièces d identité, comme votre permis de conduire, sont suffisamment importantes pour que vous preniez soin de ne pas les perdre, pour éviter que quelqu un ne puisse usurper votre identité. Un certificat numérique fonctionne en gros comme une pièce d identité matérielle. Un certificat numérique est une information attachée à une clé publique, et qui permet de vérifier que cette clé est authentique, ou valide. Les certificats numériques sont utilisés pour contrecarrer les tentatives de substituer une clé falsifiée à la clé véritable. Un certificat numérique comporte trois éléments: 38

39 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 Une clé publique Une information de certification ( l identité de l utilisateur, comme son nom, son adresse e- mail, etc.) Une ou plusieurs signatures numériques L objet de la signature numérique sur un certificat est de garantir que les informations de certification ont été contrôlées par une autre personne ou organisme. La signature numérique ne garantit pas l authenticité du certificat complet, elle garantit seulement que les informations d identité ainsi signées correspondent bien à la clé publique à laquelle elles sont attachées. Bien que certains experts en sécurité considèrent qu il n est pas de bonne pratique de mélanger des informations d identité personnelles et professionnelles sur une même clé, mais qu il vaut mieux utiliser une clé séparée pour chacune, vous rencontrerez néanmoins des certificats contenant une clé publique à laquelle sont associées plusieurs identités diverses (comme par exemple, le nom complet d une utilisatrice avec son adresse professionnelle, son surnom avec une adresse personnelle, un nom de jeune fille avec une adresse universitaire le tout dans un seul et même certificat). La liste des signatures validant chacune de ces identités peut être différente; chaque signature n atteste l authenticité que de l une de ces identités, mais pas forcément des trois. Par exemple, supposez que votre collègue Alice vous demande de signer sa clé. Vous la recherchez sur le serveur, et vous vous apercevez qu elle a deux informations d identité distinctes attachées à cette clé. La première est Alice Petucci La seconde est Cleopatra En fonction de votre connaissance d Alice, vous choisirez peut-être de ne signer que son identité telle que vous la connaissez au bureau Validité et confiance Fig. 11 : Anatomie d un certificat Chaque utilisateur d un système à clés publiques court le risque de confondre une clé falsifiée (certificat) avec une véritable. La validité est la créance qu une clé donnée appartient réellement à son propriétaire supposé. La validité est essentielle dans un environnement à clés publiques où l on doit à chaque instant être en mesure d établir l authenticité d un certificat donné. Quand vous vous êtes assuré qu un certificat qui appartient à autrui est valide, vous pouvez en signer la copie dans votre trousseau pour attester le fait que vous avez contrôlé ce certificat, et qu il est valide. Si vous voulez que d autres personnes puissent savoir que vous avez donné à ce certificat votre propre approbation, vous pouvez exporter la signature que vous lui avez apposée vers un serveur de certificats, afin que d autres puissent la voir. 39

40 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 Certaines sociétés désignent une ou plusieurs Autorités de Certification (A.C.), dont le rôle est de vérifier la validité de tous les certificats à l intérieur de l organisation, et de signer ceux qui sont valides. L A.C. est le grand Manitou de la validation à l intérieur de l organisation, en qui tout le monde a confiance et, dans certains environnements à clés publiques, aucun certificat n est considéré comme valide s il n a pas été certifié par l A.C Contrôle de la validité Une manière d établir la validité des certificats est de suivre une procédure manuelle. Il y a plusieurs façons d accomplir cela. Vous pourriez demander à votre futur correspondant de vous remettre physiquement, de la main à la main, une copie de sa clé publique. Mais c est souvent impraticable et inefficace. Une autre méthode est de contrôler manuellement l empreinte numérique du certificat. De la même façon que les empreintes digitales de chaque être humain sont uniques, chaque certificat PGP possède une empreinte numérique unique. Cette empreinte est un hachage du certificat de l utilisateur, et apparaît comme l une des propriétés de ce certificat. Vous pouvez vérifier qu un certificat est valide en appelant le propriétaire de la clé (de manière à ce que vous soyez à l origine de l appel) et en lui demandant de vous lire au téléphone l empreinte numérique de sa clé, de manière à pouvoir vérifier que celle-ci correspond bien à la copie que vous avez en votre possession. Cela fonctionne si vous connaissez la voix de votre correspondant, mais comment vérifier l identité de quelqu un que vous ne connaissez pas? Certaines personnes font imprimer les empreintes numériques de leur clé sur leur carte de visite professionnelle pour cette raison même. Une autre manière d établir la validité du certificat de quelqu un est de faire confiance à quelqu un d autre qui aura lui-même effectué le processus de validation. Une A.C., par exemple, est tenue de s assurer soigneusement qu un certificat appartient bien à son propriétaire supposé, avant de lui apposer sa signature de validité. Quiconque a confiance en l A.C. considérera automatiquement comme valides tous les certificats validés par cette A.C Méta-avals et avals de confiance Dans la plupart des situations, les utilisateurs s en remettent entièrement à leur confiance en l A.C. pour établir la validité des certificats. Ceci signifie que chacun se repose sur l A.C. pour effectuer la procédure manuelle complète de vérification à sa place. C est possible dans la limite d un certain nombre d utilisateurs ou de lieux de travail, au delà desquels il ne sera plus possible à l A.C. de maintenir le même niveau de qualité dans sa validation. Dans ce cas, il devient nécessaire d ajouter des avals supplémentaires dans le système. Une A.C. peut aussi être un méta-aval. Un méta-aval ne certifie pas seulement la validité des clés, mais il certifie de plus la qualité d autrui pour certifier des clés. De la même manière que le roi confie ses sceaux à ses conseillers pour qu ils puissent agir en son nom, le méta-aval délègue à d autres la qualité d agir comme avals de confiance. Ces avals de confiance peuvent à leur tour valider des clés, ce qui leur donnera la même validité que si celles-ci avaient été directement validées par le méta-aval. Toutefois, les avals de confiance ne peuvent pas à leur tour désigner d autres avals Modèles de confiance Dans des systèmes relativement fermés, comme à l intérieur d une société, il est facile de remonter l arbre de la confiance jusqu à sa racine: l A.C. Toutefois, dans le monde réel, les utilisateurs doivent souvent communiquer avec des personnes qui se trouvent en dehors du cadre de leur entreprise, y 40

41 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 compris des personnes qu ils n ont jamais personnellement rencontrées, comme des fournisseurs, des clients, des associés, et ainsi de suite. Etablir une ligne de confiance pour des gens qui n ont pas été explicitement certifiés par une A.C. est difficile. Les sociétés adoptent tel ou tel modèle de confiance donné, qui indique la procédure que devront suivre les utilisateurs pour établir la validité d une clé. On trouve trois modèles différents: Confiance directe Confiance hiérarchisée Un réseau [ou toile d araignée] de confiance Confiance directe La confiance directe est le modèle de confiance le plus simple. Dans ce modèle, un utilisateur considère qu une clé est valide parce qu il en connaît la provenance. Tous les crypto-systèmes utilisent cette forme de confiance d une manière ou d une autre. Par exemple, dans les navigateurs Web, les clés de l Autorité de Certification racine sont directement crédibles parce qu elles ont été fournies avec le programme par son éditeur. S il existe une quelconque forme de hiérarchie, elle procède de ces certificats directement fiables. Dans PGP, un utilisateur qui valide lui-même les clés de ses correspondants, et ne désigne jamais un autre certificat en tant qu aval de confiance, utilise ce modèle de confiance directe Confiance hiérarchisée Dans un système hiérarchisé, il y a un certain nombre de certificats racines à partir desquels s étend l arbre de la confiance (voir figure 12). Ces certificats peuvent valider directement d autres certificats, ou ils peuvent déléguer à d autres certificats le pouvoir de certifier par eux-mêmes, en descendant une chaîne. Il faut voir ceci comme un grand arbre de confiance. Le certificat qui occupe la place d une feuille dans cet arbre est vérifié en remontant le long d une branche, d aval en aval, jusqu à atteindre une racine de l arbre: un certificat ultime pour lequel la confiance est directe Réseau de confiance Fig. 12 : Confiance hiérarchisée Un réseau de confiance embrasse les deux modèles précédents, en y ajoutant la notion de confiance perçue du point de vue de l utilisateur (ce que l on trouve dans le monde réel), et l idée que la plus grande quantité d information est la meilleure. 41

42 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 C est donc un modèle de confiance cumulatif. Un certificat peut être validé directement, ou à travers une branche remontant jusqu à un méta-aval racine, ou par un groupe d avals de confiance. Peut-être avez-vous déjà entendu la formule six degrés de séparation, qui suggère que toute personne dans le monde peut être mise en relation avec toute autre personne en utilisant un maximum de six autres personnes comme intermédiaires. Ceci constitue un réseau d avals. C est aussi le concept de PGP à propos de la confiance. PGP utilise des signatures numériques comme forme de validation. Quand n importe quel utilisateur signe la clé d autrui, il devient lui-même un aval de cette clé. La continuation de ce processus aboutit à un réseau de confiance, ou toile d araignée de confiance. Dans un environnement PGP, n importe quel utilisateur peut agir comme autorité de certification. N importe quel utilisateur de PGP peut certifier la clé publique de n importe quel autre utilisateur. Toutefois, cette certification n a d effet pour un autre utilisateur que si celui-ci considère l aval comme fiable à ses propres yeux. (Ce qui veut dire: vous faites confiance à ma certification d une clé seulement si vous me considérez comme un aval de confiance. Dans le cas contraire, mon opinion quant à la validité d une autre clé est ignorée.) On trouve, stocké dans le trousseau public de chacun: L indication de l opinion de l utilisateur quant à la validité de chaque clé particulière. L indication de l opinion de l utilisateur quant à la crédibilité du propriétaire de chaque clé pour agir comme aval. Vous indiquez, sur votre copie de ma clé, le crédit que vous accordez à mon jugement. C est réellement un système basé sur la réputation: certaines personnes sont réputées donner des signatures crédibles, aussi de nombreuses personnes leur font-elles confiance pour attester de la validité d autres clés Niveaux de confiance dans PGP Le plus haut niveau de confiance dans une clé, la confiance implicite, est la confiance en votre propre paire de clés. PGP part de l hypothèse que si vous possédez la clé privée, vous devez avoir confiance dans les actions de la clé publique qui lui est liée. Toutes les clés signées par votre clé, dont la confiance est implicite, sont donc considérées comme valides. Il y a trois niveaux de confiance que vous pouvez assigner à la clé publique d autrui: Confiance complète Confiance marginale Aucune confiance (Untrusted) Pour rendre les choses encore plus confuses, il y a aussi trois degrés de validité: Valide Marginalement valide Invalide Pour définir la clé d autrui comme aval de confiance, vous: 1. Partez d une clé valide, qui est soit: Signée par vous-même Signée par un autre aval de confiance 2. Indiquez le niveau de confiance que vous accordez au propriétaire de cette clé. Par exemple, supposons que votre trousseau contienne la clé d Alice. Vous avez validé la clé d Alice, ce que vous indiquez en signant celle-ci. Vous savez également qu Alice est très pointilleuse avant de signer d autres clés. Vous assignez donc à sa clé votre confiance totale. Ceci fait d Alice une Autorité de certification à l intérieur de votre trousseau. Si vous avez d autres clés publiques signées par Alice, elles apparaîtront donc automatiquement comme valides. 42

43 Chapitre 2: Systèmes contribuant à la sécurité des réseaux informatiques Partie N 1 PGP demande une signature de confiance complète, ou deux signatures différentes de confiance marginale, pour établir qu une clé est valide. La méthode qu emploie PGP en demandant deux signatures de confiance marginale est la même que celle qu emploie un commerçant, lorsqu il vous demande deux pièces d identité différentes [avant d accepter un gros chèque]. Vous pouvez considérer qu Alice est assez crédible, et que Bob lui aussi est assez crédible. Chacun pris individuellement risque un jour par accident de signer une clé contrefaite, donc vous pouvez choisir de ne pas placer en chacun d eux une confiance totale. Toutefois, les chances pour que ces deux personnes aient toutes deux signé la même clé contrefaite sont relativement faibles. 2.4 Conclusion Dans ce chapitre, nous avons vu un ensemble de systèmes contribuant à la sécurité des systèmes informatiques. Premièrement, nous avons commencé par définir et expliquer le fonctionnement des systèmes de détection d intrusions. Deuxièment, nous avons expliqué le rôle joué par le pare-feu dans la sécurité des réseaux et finalement, nous avons détaillé le fonctionnement des systèmes cryptographiques et nous avons montré leur rôle dans la sécurisation des informations circulant dans le réseau. 43

44 Partie N 2 : Politiques de sécurité et problèmes liés au déploiement 44

45 Chapitre 3 : Politiques de sécurité 45

46 Chapitre 3: Politiques de sécurité Partie N Définition des propriétés d une politique de sécurité La définition et l application d une politique de sécurité représente le cœur de la sécurité d un système d information. Une politique de sécurité définit un ensemble des propriétés de sécurité, chaque propriété représentant un ensemble de conditions que le système doit respecter pour rester dans un état considéré comme sûr. Une définition incorrecte ou l application partielle d une politique peut entraîner le système dans un état non-sûr, autorisant le vol d informations ou de ressources, la modification d informations ou la destruction du système. Dans cette section, nous donnons une définition générale des propriétés de sécurité, d une politique de sécurité et des mécanismes utilisés pour l application d une politique. La sécurité des systèmes d information repose sur trois propriétés fondamentales : la confidentialité, l intégrité et la disponibilité. L interprétation de ces trois aspects varie suivant le contexte dans lequel elles sont utilisées. Cette représentation est liée aux besoins des utilisateurs, des services et des lois en vigueur. La définition et l application de ces propriétés font partie intégrante des critères d évaluation de la sécurité, tant au niveau international dans le TCSEC [21], qu au niveau européen dans ITSEC [22]. Plusieurs définitions de ces propriétés existent dans {[21], [22], [23]}, nous proposons dans cette section une synthèse de ces propriétés Confidentialité La confidentialité repose sur la prévention des accès non autorisés à une information. La nécessité de confidentialité est apparue suite à l intégration des systèmes d informations critiques, telles que les organisations gouvernementales ou les industries, dans des zones sensibles. La confidentialité est ainsi définie par l Organisation Internationale de Normalisation (ISO) comme le fait de s assurer que l information est seulement accessible qu aux entités dont l accès est autorisé. Plus précisément, la propriété de confidentialité peut être définie comme suit : Soit I de l information et soit X un ensemble d entités non autorisées à accéder à I. La propriété de confidentialité de X envers I est respectée si aucun membre de X ne peut obtenir de l information de I. La propriété de confidentialité implique que l information ne doit pas être accessible par certaines entités, mais doit être accessible par d autres. Les membres de l ensemble X sont généralement définis de manière implicite. Par exemple, lorsque l on parle d un document confidentiel, cela signifie que seulement certaines entités connues ont accès à ce document. Les autres, qui par définition ne doivent pas avoir accès à ce document, font partie de l ensemble X Intégrité D une manière générale, l intégrité désigne l état de données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent un format permettant leur utilisation. Dans le cas d une ressource, l intégrité signifie que la ressource fonctionne correctement, c est à dire qu elle respecte sa spécification. La propriété d intégrité des données vise à prévenir toute modification non autorisée d une information. La garantie de la fidélité des informations vis à vis de leur conteneur est connue sous le nom d intégrité des données. La garantie des informations en rapport avec la création ou les propriétaires est connue sous le nom d intégrité de l origine, plus communément appelée authenticité. Plus précisément, la propriété d intégrité peut être définie comme suit : Soit X un ensemble d entités et soit I de l information ou une ressource. Alors la propriété d intégrité de X envers I est respectée si aucun membre de X ne peut modifier I. 46

47 Chapitre 3: Politiques de sécurité Partie N 2 Tout comme la propriété de confidentialité, les membres de X sont généralement définis de manière implicite. Ainsi, les utilisateurs ayant le droit de modifier une information ou une ressource sont définis de manière explicite (propriétaires de cette information, etc.). Les autres utilisateurs forment alors l ensemble X Disponibilité La disponibilité se réfère à la possibilité d utiliser l information ou une ressource désirée. Cette propriété est à mettre en parallèle avec la fiabilité car le fait d avoir un système qui n est plus disponible est un système défaillant. Dans le cadre de la sécurité, la propriété de disponibilité se réfère au cas où un individu peut délibérément interdire l accès à certaines informations ou ressources d un système. Plus précisément, la propriété de disponibilité peut être définie comme suit : Soit X un ensemble d entités et soit I une ressource. Alors la propriété de disponibilité de X envers I est respectée si tous les membres de X ont accès à I Principe et Propriétés dérivées La confidentialité, l intégrité et la disponibilité sont des concepts fondamentaux de la sécurité. En se basant sur ces définitions, plusieurs cas particuliers, qui ne considèrent qu un sous-ensemble de conditions d intégrité, de confidentialité ou de disponibilité, peuvent ainsi être définis. Dans cette partie, nous donnons une définition de quatre de ces cas particuliers : 1) le confinement de processus, 2) le principe du moindre privilège, 3) la séparation de privilège et 4) la non-interférence. Ces propriétés peuvent ainsi être classées dans une des trois classes précédentes en fonction des privilèges qui sont contrôlés. Confinement de processus Lampson [24] caractérise le problème du confinement par : Définition (Problème du confinement) : Le problème du confinement concerne la prévention de la divulgation, par un service (ou un processus), d information considéré comme confidentiel par les utilisateurs de ce service. Lampson définit alors les caractéristiques nécessaires à un processus pour qu il ne puisse pas divulguer de l information. Une de ces caractéristiques est liée au fait qu un processus observable ne doit pas stoker de l information pour la réutiliser ultérieurement. En effet, si un processus stocke de l information liée à un utilisateur A et qu un autre utilisateur B peut observer ce processus, il y a alors un risque que B puisse obtenir cette information. Un processus qui ne stocke pas d information ne peut donc pas divulguer cette information. A l extrême, si un processus peut être observé, il ne doit pas non plus effectuer d opérations. En effet, dans certains cas, un analyste peut reconstituer le flux des événements (ou l état d un processus) et en déduire des informations sur les entrées de ce processus. En conclusion, un processus qui ne peut pas être observé et qui ne peut pas communiquer avec d autres processus ne peut pas divulguer de l information. Cette propriété est alors appelée l isolation totale. En pratique, l isolation totale est difficilement applicable sur un système. Les processus confinés partagent généralement des ressources telles que le processeur, le réseau ou le disque avec d autres processus non confinés. Les processus non confinés peuvent alors divulguer de l information provenant de ces ressources partagées. De plus, deux processus peuvent s échanger de l information de manière indirecte (sans communication explicite), via des canaux cachés. Définition (Canal caché) : Un canal caché est un canal de communication possible mais qui n était pas prévu, lors de la conception du système, comme canal de communication. 47

48 Chapitre 3: Politiques de sécurité Partie N 2 Supposons, par exemple, qu un processus p veut transmettre de l information à un processus q et que ces processus ne peuvent pas communiquer directement. Si ces deux processus partagent une même ressource, par exemple un système de fichiers, alors p peut transmettre de l information à q via un canal caché. Par exemple, p peut créer un fichier 0 ou 1 pour représenter les bit 0 ou 1 et end pour indiquer la fin de la communication. Ainsi à chaque création d un fichier, q obtient un bit d information et supprime le fichier pour obtenir le bit suivant jusqu à la fin du message symbolisé par end. De ce fait q obtient de l information de p sans communication directe par seule observation du comportement de p. Définition (Confinement de processus) : Soit p un processus, x et y deux entités. La propriété de confinement d un processus p est garantie si p ne peut pas transférer de l information de x à une autre entité y. Finalement, comme l indique Lampson, la notion de confinement de processus est transitive. Si un processus q est considéré comme confiné contre la divulgation d information, alors si ce second processus invoque un autre processus q, ce processus doit aussi être confiné sinon il peut divulguer de l information provenant de p. De part la difficulté d implanter l isolation totale, le problème des canaux cachés et la difficulté pour avoir la transitivité, le confinement est une propriété difficile à appliquer sur un système réel. De ce fait, le confinement est généralement appliqué à un sous-ensemble du système, par exemple les processus privilégiés. On parle alors de confinement partiel du système. Moindre privilège : Le principe du moindre privilège [25] établit qu une entité ne devrait jamais avoir plus de privilèges que ceux requis pour compléter sa tâche. L application de ce principe vise à minimaliser les privilèges associés à chaque entité ou processus du système. Ce principe est lié au confinement de processus. En effet, pour être appliqué, il requiert que les processus soient confinés dans le plus petit domaine d exécution possible. Ce principe peut ainsi être défini comme suit : Définition (Moindre privilège) : Soit x une entité, P un ensemble de privilèges assignés à x et T un ensemble de tâches attribuées à x. Alors, le principe du moindre privilège sur x pour les tâches T est respecté si tous les privilèges de P sont nécessaires pour réaliser T. Cette propriété implique qu une entité qui n a pas besoin d un droit d accès ne doit pas avoir la possibilité d obtenir ce droit. De plus, si une action requiert l augmentation des privilèges d une entité, ces droits supplémentaires doivent être supprimés lorsque cette action est terminée. Par exemple, si une entité a le droit d écrire ou d ajouter de l information dans un fichier et qu une tâche donnée ne nécessite pas la modification mais seulement l ajout de données, cette tâche devra être exécutée avec le privilège d ajout et non d écriture. Le privilège d écriture ne devra être accordé que si une modification des données existantes est nécessaire. Séparation de privilèges : Une première définition du principe de la séparation de privilèges implique qu un système ne doit pas permettre l acquisition de privilèges via un contrôle basé sur une unique condition. Par exemple, sous GNU/Linux, l acquisition des droits administrateurs nécessite de : 1) connaître le mot de passe administrateur, 2) appartenir au groupe wheel. Une seconde définition de ce principe, donnée dans [26] (page 187), sous entend que : Une règle élémentaire de séparation de privilèges peut être que toute personne ayant le droit de créer ou modifier des objets n ait pas le droit de les exécuter. De même dans [27] : La séparation de privilèges implique que différentes opérations réalisées sur un même objet doivent être effectuées par des utilisateurs différents. D une manière générale, ce principe peut être défini par : Définition (Séparation de privilège) : Soit o un objet, P un ensemble de privilèges associés à o et X un ensemble d entités. Alors, le principe de séparation de privilège implique que les privilèges P sur o soient distribués sur l ensemble des utilisateurs X. 48

49 Chapitre 3: Politiques de sécurité Partie N 2 Cette définition sous-entend que l ensemble des privilèges d un système doit être distribué sur l ensemble des utilisateurs. Par exemple, une règle, généralement appliquée aux services système (ou démons système), implique qu un service ne doit pas pouvoir créer/modifier un fichier puis l exécuter. Ce principe, qui peut être étendu au cas des utilisateurs système, nécessite donc que les services systèmes ne possèdent pas le privilège de modification et d exécution sur un même objet. Ce principe permet d endiguer des attaques visant la génération d un script par un service du système (ayant les droits administrateur) en vue de son exécution. Dans le cas des utilisateurs, ceci implique que les utilisateurs qui créent des objets soient différents de ceux qui les exécutent. Non-interférence : Le principe de la non-interférence [28] implique que deux ou plusieurs processus puissent s exécuter simultanément sans interférer, c est-à-dire sans modifier la vision des données ou le comportement des autres processus. D une manière générale, la non-interférence peut être définie par : Définition (Non-interférence) : Soit X un ensemble d entités et soit I un ensemble de données. Un ensemble d entités X n interfère pas avec un ensemble de données I si les valeurs de I sont indépendantes des actions effectuées par X. Dans le cas d un système, si nous considérons deux groupes de processus : les processus de haut niveau (processus système) et de bas niveau (utilisateur). La non-interférence peut correspondre à : l exécution des processus utilisateurs n a pas d incidence sur l exécution des processus système. Cela permet d endiguer certaines attaques des utilisateurs sur les services système. 3.2 Politique de sécurité Une politique de sécurité spécifie ce que l on entend par sécurisé, pour un système ou un ensemble de systèmes, et peut être définie de manière informelle (langage naturel) ou formelle (par des relations mathématiques). Une politique de sécurité considère les différentes propriétés de sécurité, définies dans la section précédente, relatives au système à protéger. En ce qui concerne la confidentialité, une politique identifie les différents états du système permettant l accès à des données non-autorisées. Il ne faut alors pas seulement considérer le vol d information direct, mais aussi une suite de transferts d informations qui, par transitivité, peut conduire à un flux d informations. Dans le cas de l intégrité, une politique de sécurité identifie quels sont les moyens autorisés pour modifier de l information, mais aussi quelles entités ont l autorisation de modifier ces informations. Dans le cas de la disponibilité, une politique de sécurité définit quels services doivent être fournis. Des paramètres supplémentaires peuvent aussi être définis, comme un intervalle de temps pendant lequel un service doit être accessible, ou un temps minimal de réponse. Ce type de propriété a un lien étroit avec la qualité de service. La déclaration d une politique de sécurité doit permettre de définir formellement les propriétés de sécurité désirées sur un système. Si l on doit prouver que le système est sûr, la définition de la politique doit pouvoir permettre de prouver que les différentes propriétés définies et leurs implantations sont correctes. Si une preuve formelle est impossible les propriétés de sécurité peuvent être garanties par des tests. 49

50 Chapitre 3: Politiques de sécurité Partie N 2 Fig. 13 : Exemple d automate à états finis représentant les états d un système. En pratique, peu de politiques de sécurité définissent formellement les propriétés. La politique définit alors l ensemble des actions légales entre entités. Le problème de vérification de ces règles reste en général entier, au regard de la confidentialité mais surtout vis à vis de l intégrité Définition générale Considérons un système d information comme un automate à états finis avec un ensemble de fonctions de transition changeant l état du système. Dans cette représentation, nous pouvons définir une politique de sécurité par : Définition (Politique de sécurité) : Une politique de sécurité est une déclaration qui partitionne les états d un système en un ensemble d états autorisés (ou sûrs) et un ensemble d états non autorisés (ou non-sûrs). Une politique de sécurité fixe donc le contexte dans lequel on peut définir un système sûr. Définition (Système sûr) : Un système sûr est un système qui, partant d un état sûr, ne pourra jamais entrer dans un état non-sûr. Considérons l automate présent dans la figure 13 contenant quatre états et cinq transitions représentant un système. Prenons l exemple d une politique de sécurité qui partitionne ce système en un ensemble d états autorisés A = {s1, s2} et un ensemble d états non-autorisés NA = {s3, s4}. Ce système est considéré comme non-sûr car partant d un état sûr, il existe une transition amenant le système dans un état non-sûr. Néanmoins, si l arc entre s1 et s3 est supprimé, le système sera considéré comme sûr. En effet, dans ce cas, il n est plus possible d atteindre un état non-sûr à partir d un état sûr. Le passage d un état sûr à un état non-sûr est alors appelé une brèche de sécurité : Définition (Brèche de sécurité) : Une brèche de sécurité apparaît lorsqu un système entre dans un état non-autorisé Garantie d une politique de sécurité La garantie et la définition d une politique de sécurité sont deux aspects différents. La garantie dépend du mécanisme de sécurité. Définition (Mécanisme de sécurité) : Un mécanisme de sécurité est une entité ou une procédure dont l objectif est de respecter chaque propriété de la politique ou d en détecter les violations. Un tel mécanisme peut appliquer de manière active l ensemble des propriétés de politique de sécurité ou passivement en détecter les violations. Ainsi, un mécanisme de contrôle d accès garantit une propriété de sécurité alors qu un système de détection d intrusions en détectera les violations. 50

51 Chapitre 3: Politiques de sécurité Partie N Contrôle d accès Comme nous l avons vu dans la section 3.1, la sécurité des systèmes d information repose sur trois propriétés fondamentales : la confidentialité, l intégrité et la disponibilité. Le contrôle d accès a pour objectif de garantir deux de ces trois propriétés fondamentales (confidentialité et intégrité) via la définition et l implantation d une politique sécurité régissant les accès : une politique de contrôle d accès. L exécution d un système d exploitation peut être vue comme un ensemble de sujets et d objets interagissant ensemble dans le but d effectuer des actions qui modifieront (ou non) l état du système. Ces entités peuvent être séparées en deux ensembles : celui des sujets, qui sont les entités actives (processus), et celui des objets, qui correspondent aux entités passives (ressources, fichiers, sockets). Une opération effectuée par un sujet sur un objet peut alors être représentée par un triplet (sujet, objet, type d accès). Une politique de contrôle d accès est composée d un ensemble d opérations permises. Un modèle de contrôle d accès classique peut être modélisé par : Un ensemble de sujets : Un sujet est une entité active du système (un processus) ; Un ensemble d objets : Un objet est une entité passive, un conteneur d informations, sur lequel un sujet peut effectuer des actions (les fichiers, sockets de communication, périphériques matériels) ; Un ensemble de permissions : Une permission représente une action autorisée entre un sujet et un objet (par exemple, lecture, écriture, exécution, etc.), ou entre deux sujets (envoi de signal ou de message interprocessus) ; Un ensemble de commandes de modification : Ces commandes permettent de modifier les ensembles précédents (création et destruction de sujets, d objets et de privilèges). Les commandes de modification permettent de faire évoluer ces politiques de sécurité pour, par exemple, prendre en compte l intégration de nouveaux utilisateurs dans le système d exploitation. Cette évolution doit être contrôlée pour prévenir les abus de la politique ou les configurations indésirables favorisant les intrusions. C est pourquoi, chaque mécanisme de contrôle d accès définit des règles de modification plus ou moins restrictives suivant le but recherché, et nécessitant éventuellement certains privilèges comme un niveau administrateur. Les parties suivantes présentent les deux premières familles de modèles de contrôle d accès. On en distingue principalement trois : Contrôle d accès discrétionnaire : La caractéristique principale du DAC ou Discretionary Access Control est le fait que ce sont les utilisateurs qui attribuent les permissions sur les ressources qu ils possèdent. C est le type de mécanisme utilisé dans les systèmes d exploitation traditionnels. En effet, étant donné que l attribution des droits est faite par les utilisateurs et non par les administrateurs, il se révèle très léger en termes de sécurité. Contrôle d accès obligatoire : Contrairement au DAC, le MAC ou Mandatory Access Control délègue l attribution des permissions à une entité tierce, typiquement un administrateur externe de la politique de sécurité. Ainsi, les utilisateurs du système ne peuvent pas intervenir dans l attribution des permissions d accès, même s ils disposent de droits d administration dans le système d exploitation. Contrôle d accès basé sur les rôles : Le modèle RBAC pour Role-Based Access Control a pour but de simplifier l administration des droits d accès des utilisateurs individuels en fournissant un niveau d indirection supplémentaire. Plutôt que de donner directement des permissions aux utilisateurs, on définit différents rôles possibles pour l utilisation du système d exploitation, 51

52 Chapitre 3: Politiques de sécurité Partie N 2 avec des droits d accès associés. Ensuite, chaque utilisateur a accès à un ensemble de rôles suivant son activité, et donc à un sous-ensemble de permissions correspondant Contrôle d accès discrétionnaire Le contrôle d accès discrétionnaire (DAC) est actuellement le modèle implanté dans la majorité des systèmes d exploitation. Son nom vient du fait que la définition des droits d accès à une ressource du système est réalisée à la discrétion de son propriétaire. Typiquement, les droits d accès sur un fichier sont positionnés par l utilisateur déclaré comme propriétaire de ce fichier. Par exemple, sous Unix, le propriétaire d un fichier gère les droits de lecture, d écriture et d exécution de ses fichiers pour luimême, les membres d un groupe et tous les autres utilisateurs du système Modèle de Lampson Une manière naturelle pour représenter un modèle de contrôle d accès est sous forme de matrice de contrôle d accès. Dans cette représentation, chaque ligne représente un sujet, chaque colonne représente un objet ou un sujet et chaque élément correspond à un ensemble de privilèges. Le premier modèle de ce type fût proposé par Lampson en 1971 [29]. Lampson propose ainsi de placer, dans une matrice A, l ensemble D des domaines de protection (qui représentent des contextes d exécution pour les programmes, i.e. les sujets) sur les lignes, et en colonnes l ensemble X des objets (incluant les domaines). Il pose ensuite deux définitions : Définition (Capabilities Lists) : Étant donné un domaine d D, la liste des capacités (capabilities) pour le domaine d est l ensemble des couples (o, A[d, o]), X. Définition (Access Control Lists) : Étant donné un objet o X, la liste de contrôle d accès (ACL) pour l objet o est l ensemble des couples (d, A[d, o]), D. La définition (Capabilities Lists) lie un domaine d avec l ensemble des permissions qu il possède sur chaque objet o. Une liste des capacités représente l ensemble des actions permises pour un sujet sur le système. La définition (Access Control Lists) lie un objet o avec l ensemble des permissions accordé à chaque domaine d. Une liste de contrôle d accès contient ainsi l ensemble des permissions sur un objet défini pour chaque sujet du système. A noter que les notions de capability et d ACL avaient déjà été définies de façon générale dans [30]. Dans [29], l auteur raffine ces définitions en les liants à la notion de matrice de contrôle d accès. Dans ce modèle la modification de la politique de sécurité, via l application des règles de modification, nécessite la modification de la matrice de contrôle d accès. Par exemple, la prise en compte d un nouvel utilisateur passe par l ajout d une ligne de la matrice. Par conséquent, la mise à jour d une telle politique est quelque peu fastidieuse. Le modèle de Lampson a été progressivement amélioré pour donner naissance à d autres modèles tels que le modèle HRU [31] Modèle HRU Établi par Harrison et al. en 1976, le modèle HRU est traditionnellement utilisé pour décrire les politiques de contrôle d accès discrétionnaires. Dans ce modèle, une matrice P représente l ensemble des droits d accès des sujets sur des objets. Ainsi chaque sujet possède des droits d accès sur certains objets. Mais dans ce modèle, les sujets sont eux-mêmes des objets. Ainsi chaque sujet possède des droits de modification de la matrice de contrôle d accès afin de créer ou de détruire des sujets ou des objets (ajout ou suppression de colonne). Mais un sujet a aussi la possibilité de modifier les droits que possède un autre sujet sur un objet. HRU propose de modéliser la protection dans les systèmes d exploitation comme suit : 52

53 Chapitre 3: Politiques de sécurité Partie N 2 Une matrice de contrôle d accès P ; L ensemble des sujets S et l ensemble des objets O modélisés par l ensemble des entiers de 1 à k ; L ensemble des droits génériques R tels que : possession, lecture, écriture, exécution ; Un ensemble fini C de commandes c1,..., cn, représente l ensemble des opérations fournies par le système d exploitation (création de fichier, modification des droits...) ; Un ensemble d actions élémentaires E : enter et delete pour l ajout et la suppression de droits, create subject et create object pour la création de nouveaux sujets et objets et enfin destroy subject et destroy object pour la destruction de sujets et objets. Du point de vue de la protection, les commandes de l ensemble C ont toutes la même forme : elles prennent en paramètres une liste de sujets et objets, et suivant la présence de certains droits dans la matrice P, elles effectuent des actions élémentaires sur le système. La configuration du système de protection est représentée par le triplet (S, O, P). Afin d étudier le problème de la sûreté d un système de protection, HRU s intéresse au transfert de privilège (droit), qui se produit lorsqu une commande insère un droit particulier r, dans une case de la matrice P où il était précédemment absent. Ce problème de sûreté peut être défini comme : étant donné une configuration initiale de la politique de sécurité, un système est considéré sûr (safe) pour un droit r si aucune des commandes de ce système ne provoque le transfert du droit r. Les auteurs du modèle HRU ont ainsi prouvé que : Dans le cas d un système de protection mono-opérationnel, i.e. dans lequel toutes les commandes ne contiennent qu une seule action élémentaire, le problème de sûreté est décidable. Toutefois ce problème de vérification est NP-complet. Dans le cas général, le problème de la sûreté d un système de protection est indécidable. Même si le problème de protection du modèle HRU à mono-opération est décidable et que ce système est facilement manipulable, il reste trop simple pour couvrir des politiques de sécurité réelles. Par exemple, la seule commande de création de fichiers d un système d exploitation de type UNIX se compose déjà de deux actions : création d un nouvel objet, et positionnement des droits sur celui-ci. En outre, les auteurs mentionnent le fait que la taille du problème est réduite à une taille polynomiale dès lors que les actions de création de sujet ou d objet sont retirées du système de protection Modèle TAM Le modèle TAM (Typed Access Matrix), introduit par [32], propose une extension du modèle HRU intégrant la notion de typage fort. Cette notion, étendant les travaux plus anciens sur SPM (Sandhu s Schematic Protection Model) par [33], se traduit par l attachement de types de sécurité immuables à tous les sujets et objets du système d exploitation. Cette approche apporte au modèle HRU la notion de type. Un ensemble fini T de type de sécurité et un ensemble d opérations élémentaires, permettant la gestion de ces types, est alors ajouté à la modélisation de HRU vue précédemment. En outre, cet ensemble est fini : la création ou la suppression de nouveaux types n est pas possible. De plus, lorsqu un objet est créé, son type est défini et n est jamais modifié. Les opérations autorisées sur la matrice de contrôle d accès dépendent alors des types de sujets et d objets concernés. Sandhu démontre ensuite que le problème de sûreté dans le cas de la version monotone (qui ne possède pas de requête de destruction ou de suppression) de ce modèle est décidable. Ce nouveau modèle, MTAM (Monotonic Typed Access Matrix), est obtenu en ôtant les opérations de suppression du modèle TAM. Toutefois la complexité de ce problème reste NP. C est pourquoi, Sandhu définit le 53

54 Chapitre 3: Politiques de sécurité Partie N 2 modèle MTAM ternaire, dans lequel toutes les commandes ont au maximum trois arguments. Au prix d une perte d expressivité, le problème de sûreté voit sa complexité ramenée à un degré polynomial. Une version dite augmentée de TAM, appelée ATAM [34], a ensuite été proposée afin de fournir un moyen simple de détecter l absence de droit dans une matrice de contrôle d accès. L objectif de cette démarche étant de pouvoir facilement modéliser la séparation de privilèges, celle-ci préconisant l intervention de plusieurs utilisateurs pour mener à bien une tâche Discussion Le modèle de contrôle d accès couramment utilisé sur les systèmes d exploitation actuels est le Discretionary Access Control. Le DAC délègue l accord des permissions d accès à la discrétion des propriétaires des ressources du système. En pratique, ce modèle de contrôle d accès a clairement montré ses limites. En effet, les attaques possibles contre les systèmes d exploitation visent à obtenir un accès de niveau super-utilisateur par abus de services système afin de gagner de nouveaux privilèges (en anglais, privilege escalation). Lorsqu une telle attaque est réussie, l attaquant obtient des pouvoirs qui outrepassent le DAC et donnent un accès complet à l ensemble des ressources du système d information. De plus, diverses études {[21], [35], [36]} ont établi la faiblesse des modèles DAC. En effet, le contrôle d accès discrétionnaire repose sur la capacité des utilisateurs à définir correctement les permissions sur les fichiers dont ils sont propriétaires. Toute erreur peut mener à une défaillance de sécurité. Par exemple si lorsque le fichier qui contient les mots de passe (/etc/shadow sous GNU/Linux) venait à être autorisé en écriture pour tous les utilisateurs, ceci pourrait modifier le mot de passe du super-utilisateur et obtenir ses droits. Les auteurs du modèle HRU [31] établissent que le problème de sûreté d un système de protection, c est-à-dire l assurance qu un droit d accès ne sera jamais accordé à un utilisateur donné, est un problème indécidable. Dans le cas du modèle MTAM [32], qui introduit la notion de type de sécurité, le problème est décidable. L auteur fournit une preuve avec une complexité NP dans le cas général, polynomiale dans le cas ternaire. Cependant le modèle MTAM ôte les opérations de suppression de droits, sujets et objets (propriété de monotonie) pour obtenir ce résultat. Or, ceci n est pas envisageable dans le cadre de l utilisation normale d un système d exploitation, où la suppression d utilisateurs, d applications, est courante. L introduction de la notion de rôle par [35] se justifie par le fait que les modèles DAC ne répondent pas aux exigences de sécurité des systèmes d exploitation, même non militaires. Enfin, les critères d évaluation de la sécurité des systèmes {[21], [22]} établissent une nette différence de niveau de sécurité entre un système implantant seulement DAC, et un système implantant également le modèle MAC. Il ressort donc de l analyse des modèles DAC que ceux-ci n offrent pas de réelle garantie quant à la confidentialité et l intégrité. Pour que les propriétés puissent être garanties, il est nécessaire d utiliser un modèle MAC permettant de restreindre les droits accordés au super-utilisateur et éviter que les utilisateurs modifient les permissions de leurs fichiers de façon erronée Contrôle d accès mandataire L objectif du contrôle d accès mandataire (MAC) est d imposer donc une politique non modifiable par les utilisateurs finaux, dans le but de garantir la sûreté du système. La politique définit l ensemble des interactions valides entre sujets et objets. Pour contrôler les accès entre sujets et objets, Anderson propose d utiliser un Moniteur de Référence (Reference Monitor). Cette matrice étant fixe, il devient alors possible de garantir que des droits d accès considérés dangereux ne pourront être donnés ou 54

55 Chapitre 3: Politiques de sécurité Partie N 2 obtenus par erreur. Ce concept de Moniteur de Référence est au coeur de la définition du Contrôle d accès mandataire. Ce terme, qui désignait initialement le modèle défini par Bell&LaPadula, a vu sa signification évoluer et représente aujourd hui tout mécanisme qui place la gestion de l attribution des permissions d accès hors d atteinte des utilisateurs concernés par ces permissions. Les différents modèles, présentés dans cette section, ont tous pour objectif de spécifier une politique de contrôle d accès Modèle Bell et LaPadula Le modèle Bell-LaPadula, établi par [37], plus couramment appelé BLP, est issu des besoins en confidentialité des données du monde militaire. Il a ainsi pour objectif de prévenir toute divulgation d informations. Ce modèle repose sur le modèle HRU et exclut toute création ou destruction de sujets ou d objets. Ce modèle introduit la notion de label associé à chaque sujet et objet du système. Un label représente un niveau de sécurité et contient deux types d identifiants de sécurité : Un identifiant hiérarchique. Cet identifiant représente le niveau de classification pour les objets (i.e. son niveau de sensibilité) ; et le niveau d habilitation pour les sujets, qui sont typiquement : non classifié, confidentiel, secret, top secret. Ces niveaux de classification sont classés sous forme hiérarchique. Des identifiants de catégories. Ces différentes catégories d informations correspondent aux différentes organisations manipulant les données, par exemple militaire, privé, public. Ces identifiants sont indépendants de la hiérarchie de confidentialité. En plus du contrôle effectué à l aide de la matrice de contrôle d accès classique, ce modèle repose sur le respect de deux nouvelles règles : ss-property ou simple security property : lorsqu un sujet demande un accès en lecture sur un objet, son niveau d habilitation doit être supérieur ou égal à celui de l objet. Cette règle assure la confidentialité de l information. *-property ou star-property : seuls les transferts d informations depuis des objets de classification inférieure vers des objets de classification supérieure sont autorisés. Cette règle assure donc la prévention contre la divulgation d informations. Le système est donc modélisé de la façon suivante : un ensemble de sujets S, un ensemble d objets O, une matrice d accès M et une fonction f : S O 1... n retournant l identifiant hiérarchique d un sujet ou d un objet. On dispose également d un ensemble de permissions d accès A={e, r, a, w} classées suivant leur capacité d observation (lecture) et d altération (écriture) de l information : e : ni observation ni altération (execute) ; r : observation sans altération (read) ; a : altération sans observation (append) ; w: observation et altération (write). Les règles précédentes, qui doivent être vérifiées par le mécanisme de contrôle d accès, peuvent donc s écrire : r r La vérification de la propriété * nécessite le contrôle de tous les flux d informations entre sujets et objets possibles sur le système. Lors de l implantation de ce modèle, l existence de canaux cachés, dans le système d exploitation cible, peut ainsi entraîner des problèmes de flux d informations non 55

56 Chapitre 3: Politiques de sécurité Partie N 2 contrôlables. Afin de prévenir ce problème, une version plus restrictive de la politique BLP utilise les règles suivantes : No Read Up : Lorsqu un sujet demande un accès en lecture sur un objet, son niveau d habilitation doit être supérieur ou égal à celui de l objet. No Write Down : Lorsqu un sujet demande un accès en écriture sur un objet, son niveau doit être inférieur ou égal à celui de l objet. Ce qui peut se traduire par : r a w L article de Bell et LaPadula décrit l intégration de ce modèle dans MULTICS, on le trouve également dans certaines versions de Solaris, HPUX ou autres systèmes UNIX. Généralement, ce modèle n est pas désigné sous le nom BLP, mais plutôt sous l acronyme MLS (Multi-Level Security pour modèle de sécurité multi-niveaux) comme dans l Unix System V/MLS. Cependant, l implantation de ce modèle, sans aucune adaptation à l environnement utilisé, peut être difficile. L attribution des labels à certains sujets ou objets peut poser des problèmes, c est par exemple le cas du dossier /tmp dans lequel n importe quel processus est supposé pouvoir créer des fichiers. Certaines propriétés ont donc été ajoutées au modèle. Par exemple, le niveau de classification d un objet passe à un niveau supérieur (celui du sujet) lorsqu il est accédé en écriture par un sujet de niveau supérieur. Notons que dans le modèle initial, il est normalement interdit de modifier un fichier de niveau inférieur. L effet néfaste lié à cet aménagement est que les objets ont tendance à être tirés vers le haut, et donc se trouver sur le même niveau (le plus élevé) après un certain temps. On doit attirer l attention sur le fait que le modèle BLP ne traite que la confidentialité et comme nous le verrons par la suite il ne garantit pas la confidentialité telle que définie dans [22] Modèle Biba Alors que le modèle BLP vu précédemment ne répond qu à des besoins de confidentialité, le modèle dit Biba [38] vise à garantir l intégrité. Il s agit en réalité d un modèle similaire à BLP qualifié de modèle dual à BLP. A chaque sujet et objet est associé un niveau d intégrité qui correspond respectivement au pouvoir d accès et au niveau d intégrité (du sujet qui l a créé). Les objectifs de sécurité de cette politique visent à : Interdire toute propagation d information d un objet vers un autre objet de niveau d intégrité inférieur ; Interdire à tout sujet de modifier des objets possédant un niveau d intégrité supérieur. Ainsi, les règles relatives à la matrice de contrôle d accès n autorisent la modification du contenu d un objet qu aux sujets possédant un niveau d intégrité suffisant. De plus, la communication entre sujets est prise en compte via la notion d invocation de s 2 sur s 1 représentant un flux d informations unidirectionnel de s1 vers s2. L ensemble de permissions d accès A se voit alors enrichi d un élément i correspondant à l invocation. Deux règles permettent alors d assurer l intégrité : No Read Down : Un sujet n est pas autorisé à accéder en lecture à un objet d intégrité strictement inférieure, car cela pourrait corrompre sa propre intégrité ; No Write Up : Un sujet n est pas autorisé à altérer le contenu d un objet d intégrité strictement supérieure. Ces règles pouvant être écrites sous la forme : 56

57 Chapitre 3: Politiques de sécurité Partie N 2 r Ces règles signifient que : 1. Pour qu un sujet s ait accès en lecture à un objet o, son niveau d intégrité f(s) doit être inférieur ou égal au niveau d intégrité f(o) de l objet ; 2. Pour qu un sujet s ait accès en écriture à un objet o, son niveau d intégrité doit être supérieur ou égal au niveau d intégrité de l objet ; 3. Pour qu un sujet s 1 puisse invoquer un sujet s 2, son niveau d intégrité doit être supérieur ou égal au niveau d intégrité du sujet invoqué. Ces règles évitent à tout moment que ne se produise un transfert d informations d un niveau d intégrité bas vers un niveau d intégrité haut, ce qui signifierait une compromission de l intégrité du niveau haut. La troisième règle découle du fait que si tous les canaux de flux d informations apparaissent sous forme d objets, alors une invocation de s 2 par s 1 s apparente à une écriture par s 1 dans un certain objet o suivie d une lecture de o par s 2. A l instar du modèle BLP, le modèle Biba est difficile à utiliser tel quel dans un système d exploitation. Ici l idée est de migrer un sujet vers un niveau d intégrité inférieur lorsqu il accède à un objet de niveau inférieur. L effet néfaste est que l ensemble des sujets va rapidement se trouver en bas de l échelle des niveaux d intégrité. Dés lors, l intérêt du modèle Biba est fortement remis en cause, puisqu il n y a plus de différence entre les sujets. Finalement, le modèle Biba n est qu un modèle d intégrité. Comme nous le verrons ensuite, il ne traite ni la propriété d intégrité ni la confidentialité Modèle DTE Le modèle Domain and Type Enforcement (DTE) [39] est un modèle de contrôle d accès de haut niveau. Disponible depuis des années dans certains systèmes d exploitation commerciaux [40], il se rapproche de l utilisation du typage fort disponible dans le modèle TAM et constitue une plateforme sur laquelle peuvent être implantées des politiques de contrôle d accès telles que Bell & LaPadula ou Biba. Concrètement, dans un système d exploitation, les politiques de sécurité définies via le modèle DTE visent à : Restreindre les ressources accessibles par un programme, notamment les programmes privilégiés (s exécutant sous le compte root), suivant le principe de moindre privilège décrit dans [41] ; Contrôler quels programmes ont accès aux ressources sensibles, et empêcher l accès par tout autre programme à ces ressources (confinement d application). Le modèle DTE reprend le principe de matrice de contrôle d accès, mais la notion de sujet et objet est remplacée ici par la notion de domaine et de type. Ainsi chaque objet (fichier, message, mémoire partagée, socket, etc.) du système possède un type, et chaque processus s exécute dans un domaine précis, dont découlent ses droits d accès. Le modèle DTE définit ainsi trois tables : 1. La table de typage, qui assigne les types aux objets du système ; 57

58 Chapitre 3: Politiques de sécurité Partie N 2 2. La table de définition des domaines (DDT), qui spécifie les droits d accès (lecture, écriture, exécution, ajout, suppression) de chaque domaine sur les différents types ; 3. La table d interaction des domaines (DIT), qui définit les droits d accès entre domaines (création, destruction, envoi de signal). La définition des trois tables en DTEL est effectuée par un administrateur, et les utilisateurs ne peuvent y déroger. C est pourquoi DTE est un modèle de contrôle d accès mandataire (MAC). Notons finalement que la définition de ces tables pour un système complet est une tâche difficile et fastidieuse qui nécessite des connaissances précises sur le fonctionnement de chaque application et une modélisation de bas niveau du système. Fig. 14 : Configuration DTE pour apache Lorsqu un nouveau processus est créé, il hérite automatiquement du domaine de son père. La DDT définit également les points d entrée des domaines, c est à dire quels sont les fichiers qui, une fois exécutés, vont créer un processus qui aura un domaine spécifique pouvant être différent du processus l ayant invoqué. Dans la définition de ce modèle, il n existe aucun autre moyen pour un processus d opérer un changement automatique de domaine (une transition). La figure 14 est un exemple de politique DTE pour le serveur Web apache. Cette politique définit trois domaines distincts : un domaine administrateur_web_d consacré à l administration de la configuration d apache ; un domaine développeur_web_d destiné à l écriture des pages Web ; et un domaine apache_d consacré à l exécution du serveur. Cette politique permet de garantir l intégrité des fichiers de configuration et des pages Web en instaurant une séparation de privilèges. Ainsi chaque domaine est destiné à une tâche qui lui est propre, et ils ne peuvent interférer entre eux. En conséquence, même si apache s exécute sous le compte administrateur root, il n a accès qu à ses fichiers de configuration, ses librairies et aux pages Web. De même seul apache a accès à son fichier de configuration, prévenant ainsi le système contre les attaques internes visant l intégrité de ce fichier. De plus, ce type de confinement permettra d endiguer certaines attaques sur le processus apache ayant pour objectif d obtenir les privilèges administrateur. Par exemple une attaque de type Buffer Overflow sur apache peut entraîner l exécution d un shellcode afin d ouvrir un terminal sera bloquée par le mécanisme de contrôle d accès. Notons que ce n est pas l attaque (le Buffer Overflow) qui sera détectée où bloquée mais la nécessité de droits 58

59 Chapitre 3: Politiques de sécurité Partie N 2 supplémentaires, non nécessaires à apache et donc non présents dans la politique, afin de réussir la deuxième partie de l attaque (ouverture d un terminal). Mais ce confinement ne permettra pas d empêcher une attaque ne nécessitant pas plus de droits que ceux accordés à un processus. Ainsi un vol d information, par exemple dans une base de données ou un fichier accessible par apache, ne pourra être empêché Discussion Les modèles Mandatory Access Control (MAC) ont été envisagés afin de répondre aux faiblesses des modèles DAC. On distingue deux orientations dans les modèles de type MAC. Une première orientation {[37], [38], [42], [43]} répond à des problématiques spécifiques, par exemple la nécessité de disposer d une habilitation adéquate pour la lecture de documents classifiés dans BLP. Cependant, les systèmes d exploitation relèvent de problématiques plus complexes. Une seconde orientation est le modèle DTE [39]. Plutôt que de considérer une propriété spécifique, DTE permet la spécification de politiques. Le problème de cette technique est qu elle ne permet pas de spécifier les propriétés requises. Par ailleurs, nous ne traitons pas les modèles à base de rôle (RBAC pour Role-Based Access Control) car ils n apportent rien en terme de propriété de sécurité. Ces modèles simplifient uniquement l administration. Les modèles MAC fournissent des propriétés que l on peut prouver. Par exemple, BLP repose sur deux lois qui empêchent la transmission directe d information [37]. En revanche, les propriétés qu ils permettent de garantir ne sont pas suffisamment larges. Il s agit soit de garantir la confidentialité, soit l intégrité. De plus, nous verrons que ces modèles ne traitent pas les séquences et donc ne garantissent pas les propriétés définies dans [22]. 59

60 Chapitre 4 : Formalisation et évaluation des politiques 60

61 Chapitre 4: Formalisation et évaluation des politiques Partie N Présentation des langages d évaluation L écriture et l évaluation de politiques est un problème qui revient de façon récurrente dans l internet. Ces politiques, qui touchent des domaines comme la confidentialité (P3P)[44], la sécurité (firewall), sont très souvent composées d un certain nombre de règles à parcourir suivant un ordre déterminé. Notre idée consiste à étudier l utilisation d un langage de réécriture (ELAN) [45] pour l évaluation de ces politiques. Nous allons concevoir un prototype basé sur ce langage qui, à partir d une politique P3P et d un fichier de préférences utilisateur (APPEL), sera capable de retourner le comportement à adopter. Plus généralement, il est possible d écrire une politique en ELAN et de l évaluer automatiquement. Par exemple, nous proposons une politique de firewall écrite en langage ELAN. 4.2 Concepts introduits et formalismes utilisés Présentation de P3P P3P est une recommandation du w3c qui doit permettre aux sites web de décrire en langage XML (extensible Markup Language) leurs politiques en matière de confidentialité des données personnelles. En premier lieu, pour chaque type de données collectées, le site a la possibilité de décrire l utilisation qu il va en faire. On distingue notamment : l objectif de la collecte (administration du site, maintenance, adaptation du contenu,...). les destinataires des données (le site lui-même, ses partenaires,...). la durée de conservation des données. le type de données. Le site annonce également ses données juridiques propres, le droit d accès éventuel des utilisateurs à leurs données, les moyens de recours dont dispose un utilisateur en cas de litige. Toutes ces informations sont regroupées dans un ou plusieurs fichiers XML que l on appelle fichier de politiques. Ensuite, il faut que l utilisateur puisse savoir quelle politique s applique à quelles ressources du site. Pour cela, le site crée un autre fichier XML qui lie les ressources aux politiques. On appelle ce fichier le fichier de références de politiques car il contient les URL des politiques associées aux ressources. Enfin, il faut que l utilisateur puisse savoir où se trouve le fichier de références de politiques. Le w3c a défini plusieurs moyens pour résoudre ce problème : placer ce fichier à un endroit connu de tous, c est-à-dire à l URL : ajouter un en-tête http dans les réponses du site contenant l URL du fichier ; ajouter une balise spéciale (LINK) dans tous les fichiers HTML qui contiendrait aussi la bonne URL ; La figure 15 montre l interaction entre l agent utilisateur et le serveur web. Tout d abord, l agent demande la page index.html. Ensuite, le serveur lui renvoie la réponse et l URL du fichier des références de politiques dans un en-tête HTTP. Puis, l agent demande ce fichier au serveur qui lui retourne. Soit la politique est incluse dans ce fichier auquel cas l agent n a pas besoin de demander le fichier contenant la politique souhaitée (c est le cas sur la figure), soit l agent doit envoyer une nouvelle requête pour obtenir la politique. Notons que l évaluation est asynchrone : cela signifie que pendant le temps de navigation où la politique n a pas encore été chargée et évaluée, l agent utilisateur considère que le site n implante pas P3P. Ensuite, le processus d avertissement de l utilisateur est déclenché. Cependant, pour limiter les abus, le w3c recommande de placer les fichiers P3P dans une zone sûre qui ne dépose pas de cookies et qui collecte un minimum de données. 61

62 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 Fig. 15 : Interaction agent utilisateur / Serveur web Présentation d APPEL APPEL (A P3P Preference Exchange Language) est un langage proche de P3P défini par le w3c. Il vise à fournir un moyen aux internautes de décrire leurs préférences personnelles en matière d utilisation de leurs données. Ces préférences sont décrites en langage XML. Evidemment, on ne peut pas demander à un utilisateur basique d écrire un fichier XML contenant des connecteurs logiques, des expressions régulières et des balises et attributs bien définis. Donc, il est possible d importer des préférences par défaut répondant aux attentes de la plupart des utilisateurs. Mais rien n empêche un utilisateur de définir son propre fichier APPEL. Le fichier de préférences APPEL contient un ensemble de règles (balise RULE) regroupées dans une même balise RULESET. Une règle est caractérisée par un comportement (attribut behavior) à adopter en cas de succès. Le w3c propose 3 comportements: Request : la politique du site est acceptable. Limited : l accès à la ressource devrait être limité. Block : l accès à la ressource ne devrait pas être autorisé. Voici un extrait d un fichier APPEL (voir la figure 16) qui indique que l utilisateur accepte les cookies qui sont déposés dans le but d adapter le contenu de la page (tailoring) et dont le destinataire sera uniquement le site lui-même (ours). La catégorie state signifie que les cookies permettent de gérer des états dans un protocole qui est sans état (http) : 62

63 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 Fig. 16 : Extrait d un fichier APPEL Cet exemple montre que le langage APPEL utilise les mêmes balises que celles utilisées dans le langage P3P. La structure du fichier des préférences utilisateur est très proche de celle d une politique P3P, ce qui facilite la comparaison de ces deux fichiers. Remarquons qu un plug-in tel que Privacy Bird d AT&T ne bloque jamais l accès à une ressource car il a été pensé comme un outil d avertissement. Il informe l utilisateur d une non-conformité en affichant un oiseau rouge et en jouant un son d oiseau adapté Présentation d ELAN ELAN est un formalisme de spécification qui permet de décrire des signatures multi-sortées, des règles de réécritures conditionnelles et des stratégies de contrôle. Une des particularités d ELAN est de permettre l utilisation de grammaires hors contexte pour décrire les signatures. Ceci permet de définir et d utiliser des opérateurs infixés qui font d ELAN un langage agréable à utiliser pour spécifier des structures de données complexes telles que celles utilisées dans des prouveurs automatiques, des résolveurs de contraintes ou des outils de modélisation de réseaux par exemple. La première partie d une spécification ELAN consiste en la définition des sortes utilisées, la liste des modules importés et un ensemble de règles de grammaires hors contexte pour déclarer les symboles de fonctions. Considérons, par exemple, la signature d un module permettant de modéliser une politique de firewall. Habituellement, une telle politique de firewall se représente par une table indiquant quels paquets doivent être filtrés et quels paquets doivent être routés. Voici un exemple d une telle table (voir table 2): Protocole IP source Port source IP destination Port Décision destination TCP any *.*.*.* 80 deny TCP * any *.*.*.* 80 accept TCP *.*.*.* any accept Tab. 2 : Exemple de règles de firewall 63

64 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 La première ligne du tableau indique qu un paquet dont le protocole est TCP, l adresse IP source est , le port source et l adresse IP destination sont quelconques et le port destination est 80, sera filtré. Décrire les règles d une politique de firewall en ELAN revient à formaliser les informations que l on va manipuler en donnant une notation. Dire que TCP et UDP sont des protocoles, et dire qu une adresse IP est constituée de quatre octets séparés par des points, se décrit de la façon suivante en ELAN: TCP : UDP : (Int) : (Octet Octet Octet Octet) Protocol; Protocol; Octet; IP Adress; Similairement, nous appelons Header, l ensemble des informations constituant le membre gauche d une règle de firewall. Un Header est composé d un protocole, d une adresse IP source, d un port source, d une adresse IP destination et d un port destination. En utilisant une notation où chaque élément est séparé par une virgule, cela se traduit de la manière suivante : (Int) : (Protocol IPAdress Port IPAdress Port) Header; Port; Le formalisme de définition de syntaxe d ELAN est suffisamment puissant pour décrire tout langage exprimable par des règles de grammaire hors contexte. Cette syntaxe permet de définir et de construire la structure algébrique des données, représentée par des termes. La deuxième partie d une spécification ELAN consiste en la définition des opérations manipulant les structures de données précédemment décrites. Le mécanisme d évaluation élémentaire repose sur la réécriture : les règles de réécriture sont des paires de termes (l, r) notées : l=> r, et sont utilisées pour définir une relation entre deux termes clos. Nous pouvons ainsi définir un ensemble de règles de réécriture qui rend exécutable une politique de firewall. La traduction de politiques en règles est systématique : il suffit de remplacer ce qui dénotait une valeur quelconque (any ou *) par une variable ELAN : any, x1,..., x4, y1,..., y4. Les trois règles du tableau 2 deviennent ainsi : Dans ce dernier exemple, nous avons introduit l opérateur eval :(Header) string qui permet de construire un terme à évaluer. En pratique, pour chaque paquet arrivant, il suffit d appeler la fonction 64

65 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 eval pour savoir si le paquet doit être accepté ou refusé. Pour compiler un ensemble de règles, ELAN utilise des techniques de filtrage utilisant des arbres de discrimination. La complexité de la procédure de filtrage ne dépend donc que de la taille du terme à évaluer et non du nombre de règles du système. Le compilateur ELAN permet ainsi d appliquer plusieurs millions de règles par seconde, ce qui rend la spécification utilisable en pratique. 4.3 Formalisation des règles en ELAN Définitions des types Pour formaliser en ELAN les règles d un fichier de préférences utilisateur respectant le langage APPEL, nous nous sommes inspirés de la pseudo-grammaire du langage APPEL. L ensemble des balises définies dans les langages P3P et APPEL doivent être reconnues comme telles. C est ce que nous faisons en écrivant (ligne 1 à 3 de la figure 17) que current, admin, develop,... sont des noms de balises (element_name). De même, les différents attributs existants sont reconnus grâce aux définitions de la ligne 5 à 7. Ensuite, on est capable de reconnaitre des entités plus grandes comme les attribute_exp (ligne 9). Par exemple, behavior= request sera reconnu comme étant de type attribute_exp. Une suite d attributs appartenant à une même balise est regroupée dans le type attribute_exps : la ligne 10 indique qu un attribut est un groupe d attributs contenant un seul élément et la ligne 11 rassemble deux ensembles d attributs pour créer un autre ensemble qui contient tous leurs attributs. Notre programme est capable de reconnaître des noms de balises et des attributs. Nous définissons maintenant les balises vides du type <current/> ou <p3p :DATA ref= #user.* />. Une empty-expression est une balise qui a un nom et un certain nombre d attributs. Voici le formalisme utilisé dans la spécification du langage APPEL: empty-expression= < element-name *attribute-expression /> Pour traduire cela en ELAN, il suffit d écrire les lignes 13 et 14 qui sont très proches du formalisme de la grammaire APPEL. Nous réutilisons évidemment les définitions précédentes des types element_name et attribute_exps. De la même façon, les balises qui contiennent d autres balises sont définies à la ligne 15. Reconnaître les composants d un fichier APPEL ou P3P va nous permettre de le parcourir et de l évaluer efficacement. Fig. 17 : Exemple de formalisation des règles en ELAN 65

66 Chapitre 4: Formalisation et évaluation des politiques Partie N Définitions des signatures Nous avons défini cinq fonctions principales qui permettent de faire les manipulations voulues. La fonction appelée lors de la requête initiale est la fonction eval qui prend comme paramètres l ensemble des règles APPEL et la politique fournie par le site. Elle est responsable de la gestion du parcours des différentes règles (RULE). De plus, elle réalise les appels à la fonction de comparaison cmp. Cette dernière prend comme paramètres deux expressions et les compare. Le résultat attendu est un booléen qui permettra à la fonction eval de savoir si une règle APPEL vérifie la politique. Si c est le cas, le traitement s arrête et le résultat est la valeur de l attribut behavior de la balise RULE Les règles de réécriture eval : (contained-exps expression) string; : (contained-exps contained-exps) bool; : (contained-exps contained-exps string) bool; : (contained-exps contained-exps) bool; : (contained-exps contained-exps) bool; /****cas généraux****/ [] eval (<RULE behavior=b at>p</rule>hs,e) b if cmp(p,e) end [] eval (<RULE behavior=b at>p</rule>hs,e) eval (hs,e) if not (cmp(p,e)) end /****cas terminaux****/ [] eval (<RULE behavior=b at>p</rule>,e) b if cmp(p,e) end [] eval (<RULE behavior=b at>p</rule>,e) if not (cmp(p,e)) end Dans ce paragraphe, nous allons voir quelques règles qui donnent une idée générale de l enchaînement des règles lors de l évaluation. La fonction eval prend comme paramètres l ensemble des règles APPEL et la politique P3P du site web. Dans le cas général, il y a plusieurs règles dans le fichier APPEL. Le résultat de l évaluation sera le comportement lié à la première règle APPEL rencontrée compatible avec la politique du site. hs représente les autres règles APPEL qui suivent la première. cmp teste la compatibilité entre une règle APPEL et la politique e. Dans le cas terminal, il ne reste qu une règle potentiellement compatible. Si elle l est, le résultat sera le comportement lié à celle-ci. Sinon, le résultat est une chaîne de caractères vide : ce dernier cas est un cas d erreur. Normalement, au moins une règle doit s appliquer pour une politique donnée grâce à la balise OTHERWISE. Fig. 18 : Comparaison d ensembles de balises 66

67 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 On a vu que pour évaluer une règle APPEL, on testait cmp(p,e) où p est la politique incluse dans cette règle et e est la politique du site (evidence). La fonction cmp que nous avons implantée n est pas réservée à POLICY mais peut comparer tout type de balise. Comme on l a vu dans la section des définitions de types, il existe deux cas principaux : les balises vides et les balises Dans le premier cas qui consiste à comparer deux balises vides, on a la règle suivante : [] cmp (<a/>, <a/>) true end Dans le deuxième cas, on a les règles suivantes qui détaillent différents sous-cas : présence d un connecteur ou pas, d autres attributs,... [] cmp(<a appel : connective=co>d</a>,<a>h</a>) cmpens(d, h, co) end [] cmp(<a appel : connective=co>d</a>,<a at > h</a>) cmpens(d, h, co) end [] cmp(<a> d</a>,<a>h</a>) cmpens(d, h, and ) end [] cmp(<a> d</a>,<a at>h</a>) cmpens(d, h, and ) end Il existe un troisième cas intermédiaire qui est la balise DATA. Si la valeur de la balise ref a une catégorie variable comme par exemple #dyynamic.cookies. Il faut comparer la catégorie : [] cmp(<data ref=r>d</data>,<data ref=s>h</data>) cmpens(d, h, and ) and match(r, s) end [] cmp(<data ref=r/>,<data ref=s/>) match(r, s) end [] cmp(<data ref=r/>,<data>d</data>) end cmpens(<categories>categ( r ) </ CATEGORIES >, d, and ) Comparer deux balises englobantes comme à la figure 18 revient à comparer leur contenu qui peut être composé de plusieurs balises. Donc on a besoin d une fonction de comparaison cmpens. cmpens a trois paramètres : une suite R de balises APPEL une suite E de balises P3P le connecteur logique qui indique la méthode de comparaison (par défaut and ) Elle crée récursivement la formule logique à évaluer. Par exemple, si on veut évaluer cmpens(r,e, and ), il faut vérifier que R est inclus dans E, ce qui revient à vérifier que : i Pour faire cette vérification, on va construire la formule en appliquant les règles de réécriture cmpens. La formule précédente équivaut à : [cmp(r1,e1) ou cmp(r1,e2) ou cmp(r1,e3) ou...] et [cmp(r2,e1) ou cmp(r2,e2) ou cmp(r2,e3) ou...] et... En ELAN : [] cmpens(v ds,hs,"and") => or(v,hs) and cmpens(ds,hs,"and") end On écrit récursivement tous les blocs connectés par «and». Chaque bloc entre crochets est réalisé par la fonction or : [] or(v,u hs) => cmp(v,u) or or(v,hs) end La procédure d évaluation comporte un autre aspect qui consiste à comparer les balises DATA et plus particulièrement la valeur de leurs attributs ref. Le rôle particulier de cette balise vient du fait qu elle i 67

68 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 contient le type des données collectées par le site. Ces données sont décrites par une notation pointée du type user.name. Pour comparer deux données respectant cette notation, nous avons formalisé la structure utilisée et défini une fonction match. Chaque élément (comme user, name ou *) est un token et une combinaison de token et encore un token : * : token ; user : token ; name : token ; bdate : token ; : (token token) token assocright ; match : (token token) bool ; Les deux paramètres de la fonction match sont comparés en partant de la gauche. Si l un des deux est un préfixe de l autre alors le résultat est true. Cela se traduit en ELAN par : [] match (x. y, x. z) match(y, z) end [] match (x. y, x) true end [] match (x, x.z) true end [] match (x, x) true end Le nombre de règles match appliquées pour deux paramètres donnés est au pire égal au nombre de tokens de la plus petite des deux expressions. Par exemple, match ("#dynamic.*", "#dynamic.http.useragent") est évalué en deux règles Exemple de réécriture Voyons maintenant un exemple de réécriture de la fonction cmp : [] cmp(<a appel : connective=co>d</a>,<a>h</a>) cmpens(d, h, co) end []cmp(<recipient appel : connective= or ><ours/></recipient>, <RECIPIENT><ours/><same/></RECIPIENT>) cmpens(<ours/>,<ours/><same/>, or ) or (<ours/>,<ours/><same/>) cmp(<ours/>,<ours/>) or or(< ours/>,<same/>) cmp(<ours/>,<ours/>) or cmp(< ours/>,<same/>) true or false true La comparaison de deux éléments RECIPIENT conduit à la comparaison de leur contenu respectif. On a maintenant comme connecteur «or» et il s agit de vérifier que {ours} est inclus dans {ours,same}.cela revient à faire : (ours==ours) ou (ours==same). La première condition est vraie donc le résultat est true. Si p3p :RECIPIENT avait eu des frères, on aurait fait la même chose pour chacun des frères Fi et le résultat aurait été : F1 and F2 and... and true and... and Fk où «true» vient de l exemple que l on vient d évaluer et «and» est le connecteur fourni en troisième paramètre de cmp. 68

69 Chapitre 4: Formalisation et évaluation des politiques Partie N Réalisation du prototype d évaluation Les balises gérées par l évaluateur Nous avons fait certains choix pour la réalisation du prototype. En particulier, certaines balises et attributs ne sont pas gérés actuellement comme : la balise DISPUTES-GROUP la comparaison de <p3p :DATA ref= a > et <DATA><CATEGORIES>...</CATEGORIES></DATA> qui nécessite de définir les catégories prédéfinies de P3P concernant les références possibles de DATA (par exemple, la catégorie prédéfinie de user.name est <demographic/>). Nous avons lié certains types de données à leurs caractéristiques pour montrer que c est possible mais toutes ne sont pas gérées. les étoiles (wildcards) dans les attributs ne sont pas gérées. les attributs prompt, description, promptmsg de la balise RULE. Mis à part ces restrictions et certains autres détails peu importants, les balises RULESET, RULE, POLICY, ACCESS, STATEMENT, PURPOSE, RETENTION, RECIPIENT, DATA-GROUP, DATA, CATEGORIES sont supportées par notre prototype Intégration dans un navigateur Fig. 19 : Module d évaluation Nous allons intégrer notre prototype dans un navigateur web open source (sans doute Mozilla). Il s agit de faire un plug-in en C++ ou en java qui récupérera la politique du site et le fichier de préférences de l utilisateur. Ces deux fichiers seront transmis à l évaluateur sous forme de chaînes de caractères comme le montre la figure 19. La requête suivante sera le point de départ de la réécriture : eval (<RULESET> </RULESET>, <POLICY> </POLICY>) end L évaluateur sera vu comme un programme externe par le browser et appelé à chaque nouvelle requête http vers un domaine dont la politique n est pas encore connue ou n est plus valide Choix faits pour l évaluation L utilisation d un outil conçu pour la réécriture à partir de règles est un choix intéressant pour écrire soit directement des politiques, soit des règles qui évaluent des politiques. 69

70 Chapitre 4: Formalisation et évaluation des politiques Partie N 2 En effet, pour la réalisation de notre prototype, nous avons choisi de comparer les règles APPEL et la politique P3P mais nous aurions pu tout à fait transcrire le fichier APPEL en règle ELAN de façon à simplifier son implantation. L avantage de notre choix est que notre algorithme est utilisable pour tous les fichiers APPEL alors que cette autre possibilité conduirait à faire un fichier ELAN pour les préférences d un utilisateur unique. Mais elle aurait eu l avantage d utiliser encore mieux les possibilités d ELAN qui est un langage à base de règles. En quelques sortes, on évalue des règles avec d autres règles. Cette autre possibilité est d ailleurs celle que nous avons adoptée pour les politiques de firewall où notre fichier ELAN définit les règles de la politique et non les règles d évaluation d une politique décrite ailleurs. 4.5 Conclusion L évaluateur P3P et le firewall, fourni en introduction au langage ELAN, nous ont permis d avoir un premier aperçu des possibilités offertes par ELAN pour décrire et évaluer des politiques de confidentialité et de sécurité. Nous avons également pu constater les limites de P3P. Par exemple, il ne fournit aucun moyen pour vérifier que la politique annoncée par un site web est bien respectée. C est pourquoi P3P ne permet pas d être sûr que les données concernant l utilisateur ne seront pas utilisées à des fins non attendues. P3P seul n est pas suffisant mais il peut cependant servir de base dans l optique d un Internet où l utilisateur contrôlerait les informations qu il souhaite diffuser. Pour compléter P3P, il faudrait un organisme certificateur qui pourrait contrôler les sites implantant P3P. Ainsi, la confiance des utilisateurs serait accrue. 70

71 Chapitre 5 : Optimisation des politiques de sécurité 71

72 Chapitre 5 : Optimisation des politiques de sécurité Partie N Positionnement de problème L application correcte des politiques de sécurité d'entreprise dans un environnement de réseau étendu est une tâche difficile pour les administrateurs réseau. Une grande partie de l'application de la politique de sécurité au niveau du réseau consiste à configurer les stratégies de classification des paquets en utilisant les listes de contrôle d accès (ACL). Un dispositif de passerelle de trafic effectuant un filtrage peut déployer une ACL avec des milliers de règles. En raison des difficultés de langage de configuration ACL, les ACL de grandes tailles peuvent facilement devenir redondantes, incohérentes et difficile à optimiser ou même à comprendre. Ce problème est aggravé par des facteurs extrinsèques tels que le renouvellement des administrateurs, les changements mal planifiés et non structurés de la topologie. Avec plusieurs pare-feux de la topologie, toutes les ACL doivent être configurées de manière cohérente pour faire appliquer la politique de sécurité de l'entreprise. Un ensemble d'algorithmes sont introduits pour détecter et supprimer les règles redondantes, découvrir et réparer des règles incohérentes et enfin fusionner les règles adjacentes et celles qui se chevauchent. Dans ce chapitre, nous proposons un nouvel algorithme pour optimiser et automatiser l'analyse de l ACL, ce qui simplifie énormément la tâche de l'administrateur réseau pour implémenter et vérifier des politiques de sécurité de l'entreprise. 5.2 Concept d optimisation d une ACL et algorithme utilisé Structure de données utilisée Cette section décrit la structure des données fondamentales utilisée dans les algorithmes d'analyse ACL. Tout d'abord, une correspondance entre le type d'attribut d ACE et la dimension des arbres à intervalle est dérivée. Les types d attributs exacts disponibles dans une ACE sont à charge du fournisseur. Nous allons utiliser la liste d accès étendue de Cisco à titre d'exemple. Une ACE dans une liste d'accès étendue fournit les types d'attributs suivants: adresse source, adresse de destination, le protocole et le numéro de port. Toutes les valeurs spécifiées dans chaque attribut forment un intervalle. La commande spéciale any peut être utilisée pour spécifier toutes les valeurs possibles pour un attribut. Soient x i et min xi les valeurs minimales et maximales d'un intervalle de dimension i, et max D i et D i représentent respectivement les valeurs minimale et maximale possible de la dimension min max i. La correspondance peut être effectuée comme suit (voir tableau 3): Tab. 3 : Exemple de mappage entre les attributs d une ACE et le nœud d arbre à intervalle 72

73 Chapitre 5 : Optimisation des politiques de sécurité Partie N 2 Une liste d'accès étendue de Cisco correspond à un nœud de l'arbre à intervalles avec 4 dimensions, avec D 1 correspondant à l'adresse source, D 2 correspondant à l'adresse de destination, D 3 désigne le protocole et D 4 et le numéro du port. Plus formellement, soit V := {[ v 1 : v 1 ],, [v n : v n ]} l'ensemble des valeurs d'attribut n dans une ACE. Un nœud d arbre multidimensionnel à intervalle correspondant est construit comme suit: X := {[x 1 min =v 1 :x1 max =v 1 ],, [xn min = v n : xn max = v n ]} La valeur de l'attribut spécial any est toujours associée à l intervalle [D Grâce à cette correspondance, nous pouvons facilement convertir n'importe quel ACE dans un nœud d arbre multidimensionnel à intervalle. Un arbre à intervalle est un arbre binaire construit sur la base des points de fin d'intervalle. Par exemple, soit X un ensemble d'intervalles dans une seule dimension, et soit m la médiane des points fin de l'intervalle. L'ensemble des intervalles contenant m sont stockés à la racine. L'ensemble des intervalles de gauche ou de droite de m forment le sous-arbre gauche et le sous-arbre droit. Ces intervalles sont récursivement partitionnés en fonction de leur médiane. Les opérations de recherche, d'insertion et de suppression dans un arbre à intervalle à une dimension nécessitent O(nlog d n) du temps {[46],[47]}. Un arbre multidimensionnel à intervalle est une généralisation de l'arbre à une dimension à intervalle. Un arbre à intervalle peut être construit en premier sur la base des intervalles dans la première dimension seulement. Cet arbre à intervalle de premier niveau (parfois appelée arborescence des composants) contient un ensemble d'éléments dans chaque nœud de l'arbre. Chaque nœud stocke à son tour son élément en utilisant un arbre à intervalle basé sur la seconde dimension. Toute requête est réduite à une séquence de recherche binaire dans chaque dimension. La structure de données de l arbre multidimensionnel à intervalle implémentée dans notre travail est un arbre dynamique à intervalle dans le sens où il peut prendre en charge les insertions et les suppressions. Les opérations de recherche, d'insertion et de suppression consomment un temps de l ordre de O(nlog d n) {[46],[47]} où d est la dimension Algorithme d'analyse d ACL Avant d'examiner l algorithme d'analyse d ACL en détail. Nous présentons un ensemble de définitions formelles concernant la relation entre deux règles. Ces définitions précises nous permettent de décrire les algorithmes d'une manière concise et sans ambiguïté Définitions Définition 1 Soient M et N deux intervalles tels que : M = [m:m ] et N= [n:n ] 1. M s intersecte avec N si m <=n <= m ou m<=n <=m ou n<=m<=n ou n<=m <=n 2. M contient N si m <= n et n <= m 3. M et N sont adjacents si m +1 = n ou n +1 = m Définition 2 Soient les règles : X et Y, où X = [x1, x2, xn] et Y= [y1, y2, yn] 1. X et Y s intersectent si, pour chaque xi et yi, xi et yi se croisent. 2. X et Y sont disjoints s ils ne s intersectent pas. i min : D i max ]. 73

74 Chapitre 5 : Optimisation des politiques de sécurité Partie N 2 3. X contient Y si, pour chaque xi et yi, xi contient yi. 4. X, Y se chevauchent s'il existe un xi et yi où xi et yi se croisent, pour toutes les autres dimensions, xj == yj 5. X, Y sont adjacents s'il existe un xi et yi qui sont adjacents, pour toutes les autres dimensions, xi == yi. Contenance et chevauchement sont des relations plus spécialisées de la relation intersection. Adjacence est une relation plus spécialisée de la relation disjoint. La Figure 20 illustre ces relations. Fig. 20 : Relations des règles a) intersection, b) contenance, c) chevauchement, d) adjacence et e) disjoint L'observation importante à faire ici, c'est que la forme géométrique projetée par une ACE est toujours rectiligne. Par conséquent, la relation test ne prend pas quelques comparaisons simples dans chaque dimension, qui prend un temps O(d), où d est le nombre de dimensions. Test d'intersection entre deux formes arbitraires est une tâche beaucoup plus difficile. Sur la base des relations primitives définies, on peut formaliser la notion de cohérence et de redondance. Soient X et Y deux entrées ACE, où X précède Y dans l ACL (note: l'indice p est utilisé si la règle est une règle d'autorisation, d est utilisé s'il s'agit d'une règle de refus): Définition 3 X ou Y est redondante si l'une des conditions suivantes s applique suffisamment : 1. X p contient Y p 2. X d contient Y d 3. Y p contient X p et il n'existe pas de règle Z d entre X p et Y p tel que Z d se croise avec X P et X P ne contient pas Z d 4. Y d contient X d et il n'existe pas de règle Z p entre X d et Y d de telle sorte que Z p se croise avec X d et X d ne contient pas Z p. Les deux premières conditions déterminent si Y est redondante. X contient Y implique que les paquets qui correspondent à Y sont compensés par X. Comme X précède Y, Y ne sera jamais utilisée. Les conditions 3 et 4 déterminent si X est redondante. La vérification supplémentaire pour la règle Z est nécessaire, car si une telle règle Z existe, et si la règle X est supprimée, tous les paquets avec des valeurs qui se situent dans la région d'intersection de X et Z peuvent être appariés par Z. L'action spécifiée dans Z sera prise, et non pas X. La propriété de classification des paquets sera altérée. Si X contient Z, Z est une règle incompatible (voir définition 4), et sera supprimée. La figure 21 illustre les deux cas. Fig. 21 : Vérification de la redondance 74

75 Chapitre 5 : Optimisation des politiques de sécurité Partie N 2 a) X p est redondant, tous les paquets qui sont autorisés par X seront permis par Y. b) X p n'est pas redondant, si X P est supprimé, tout paquet qui tombe dans la partie ombrée peut être refusé par Z. Définition 4 X et Y sont incompatibles si l'une des conditions suivantes s applique suffisamment : 1. X p contient Y d 2. X d contient Y p Dans le cas 1 et 2, la règle Y est redondante dans certains sens. Cependant, puisque l'action déclenche Y est à l'opposé de X, différents comportements de filtrage se traduiront, si Y est utilisée. Cela pourrait indiquer une incohérence en termes de classification de paquets dans le but de l'acl. Très probablement, l administrateur du réseau a configuré Y sans se rendre compte qu'elle est contenue dans X. Ceci pourrait conduire à un compromis de sécurité grave. (Note: Il est recommandé de préciser X et Y tels que Y contient X. L'idée est que l'administrateur doit tout d'abord configurer les règles correspondantes à des cas exceptionnels, et puis une règle large pour couvrir le cas par défaut). Définition 5 X peut être fusionnée avec Y (la règle X est supprimée, la règle Y est étendue) si l'une des conditions suivantes s'applique suffisamment : 1. X p et Y p se chevauchent ou sont adjacents et il n'existe pas de règle Z d entre X p et Y p tel que Z d se croise avec X P et X P ne contient pas Z d. 2. X d et Y d se chevauchent ou sont adjacents et il n'existe pas de règle Z p entre X d et Y d de telle sorte que Z p se croise avec X d et X d ne contient pas Z p. Le rationnel pour la vérification supplémentaire pour Z est similaire au cas de la redondance. Si une telle règle Z existe, et si la règle X est fusionnée, tous les paquets avec des valeurs qui se situent dans la région d'intersection de X et Z peuvent être appariés par Z. L'action spécifiée dans Z sera prise, et non pas X. La propriété de classification des paquets sera modifiée. Dans ce cas, X ne peut pas être fusionnée. La figure 22 illustre les deux cas. Fig. 22 : Vérification de fusion a) X p peut être fusionnée avec Y p. b) X p ne peut pas être fusionnée, si X P est fusionnée, tout paquet qui tombe dans la partie ombrée peut être refusée par Z L algorithme d optimisation utilisé «optimise» L algorithme «optimise» fusionne les ACE adjacentes ou celles qui se chevauchent, détecte, résoud les incohérences et supprime les redondances. Après l algorithme «optimise», une ACL est associée à une forme plus simple sans aucune modification des propriétés de classification des paquets. Cette représentation simplifiée est plus facile pour les administrateurs à comprendre, et peut remplacer l'acl d'origine sur le pare-feu. Au cours de l algorithme «optimise», les redondances et les incohérences sont identifiées. L algorithme «optimise» peut être exécuté hors ligne ou directement intégré à l'interface du routeur en ligne de commande. Dans ce cas, un administrateur devrait recevoir de la rétroaction interactive au fur et à mesure qu il configure les ACL, ainsi la détection des risques 75

76 Chapitre 5 : Optimisation des politiques de sécurité Partie N 2 de sécurité le plus tôt possible. Les notations suivantes sont utilisées: I p et I d sont deux intervalles de l arbre qui stockent les règles permit et deny respectivement. S p et S d sont des ensembles qui stockent la requête retournée à partir de chaque arbre. La variable a définie dans la ligne 4 sert comme index à l'arbre à intervalle approprié ou un ensemble de requêtes. Par exemple, si a est permis, alors S a réfère à S p, S!a réfère à S d. Algorithm optimise (L) Input. An ACL Output. An optimised ACL 1.for each rule y in L 2. S p = I p.query (y); // return permit rules that intersect or adjacent y 3. S d = I d.query (y); // returns deny rules that intersect or adjacent y 4. let a = action type of y // permit or deny 5. if any rule in S a contains y 6. continue // redundancy rule 1,2 7. if any rule in S!a contains y 8. continue // inconsistency rule 1,2 9. for each rule x in S a that is contained by y 10. if (there does not exist a rule z in S!a, where z is between x and y 11. and x intersects z and x does not contain z) 12. I a.remove (x) // redundancy rule 3,4 13. for each rule x in S a that overlaps or is adjacent to y 14. if (there does not exist a rule z in S!a, where z is between x and y 15. and x intersects z and x does not contain z) 16. I a.remove (x) 17. y = merge(x, y) // merge rule 1,2 18. I a.insert (y); 19. build L result using I p and I b 20. return L result Cet algorithme est organisé pour illustrer clairement chaque cohérence, redondance et la condition de fusion. L implémentation actuelle peut être moins verbeuse. I p et I d sont vides au début. Les lignes 5 à 8 vérifient les cas simples d'abord. Les lignes 9 à 12 contrôlent et assurent la redondance d'une règle définie précédemment. Les lignes 13 à 17 fusionnent une règle définie précédemment avec la règle actuelle (Note: afin de trouver les règles adjacentes, y a besoin d être augmenté de 1 dans toutes les dimensions avant d'effectuer la requête dans les lignes 2 et 3). Enfin, si la ligne 18 est atteinte, cette nouvelle règle est insérée dans l'arbre à intervalle approprié. Un message d'erreur ou d'information peut être délivré à l'administrateur chaque fois qu une redondance et une incohérence est détectée, ou lorsque se produit une fusion. Chaque règle stocke un numéro d ordre qui correspond à l'ordre initial dans l ACL. Le numéro d'ordre est maintenu dans l'ensemble du processus d'optimisation. L'opération 76

77 Chapitre 5 : Optimisation des politiques de sécurité Partie N 2 de fusion de la ligne 17 ne change pas le numéro d'ordre de y. La nouvelle liste d optimisation des règles peut être générée par un simple parcours de I p et I d de l'arbre et retourne le résultat en fonction de l'ordre des règles d'origine. Si chaque requête retourne des résultats proportionnels à n, où n est la taille d ACL originale, cet algorithme nécessite un temps O(n 2 ). Toutefois, une telle configuration d ACL est impraticable. Nous pouvons dire que la requête renvoie un ensemble de taille fixe. Par conséquent, les deux boucles des lignes 9 à12 et 13 à 17 s exécutent en un temps constant. Le temps d'exécution de cet algorithme est donc dominé par le temps de la requête, O(nlog d n). Il est souvent judicieux de voir une ACL comme une séquence de règles «permit» suivie de la règle implicite «deny-all» ou vice versa. L entrelacement arbitraire des règles «permit» et «deny» peut être difficile à déchiffrer. Cela est particulièrement vrai si l'acl est modifiée ou agrandie au fil du temps par différents administrateurs. 5.3 Conclusion Dans ce chapitre nous avons présenté une nouvelle approche pour l'analyse des ACL. Nous avons modélisé des ACE dans une ACL en utilisant bien définis des constructeurs, ce qui conduit à la définition mathématique précise de leurs relations. Sur la base de ces ensembles de relation primitive et des opérations, nous avons proposé un nouvel algorithme pour l'optimisation des ACL. L arbre multidimensionnel à intervalle est utilisé pour sa généralisation intuitive pour des grandes dimensions et pour le simple mappage entre la règle et les intervalles. L algorithme proposé dans notre travail devrait simplifier énormément la tâche de l'administrateur réseau pour implémenter et vérifier des politiques de sécurité d'entreprise. Il serait intéressant d'intégrer une analyse ACL à l'interface du pare-feu en ligne de commande afin que l'administrateur doive obtenir une rétroaction immédiate sur les redondances et les incohérences au moment qu il configure l'acl. Le pare-feu peut également optimiser les ACL configurées pour augmenter la vitesse de classification des paquets. 77

78 Chapitre 6 : Déploiement des Politiques de sécurité au sein de Pare-feu 78

79 Chapitre 6: Déploiement des politiques de sécurité au sein de Pare-feu Partie N Préambule Actuellement, les politiques de pare-feu (en anglais firewall) peuvent contenir de milliers de règles et ce à cause de la taille énorme et la structure complexe des réseaux modernes. De ce fait, ces politiques nécessitent des outils automatiques fournissant un environnement convivial pour spécifier, configurer et déployer en sûreté une politique cible. Beaucoup de travaux de recherche ont traité de la spécification des politiques, la détection des conflits et le problème d optimisation, mais très peu de travaux se sont intéressés au déploiement de politiques. Dans ce chapitre, nous allons proposer des stratégies de déploiement pour les deux importantes catégories d édition de politiques. Ensuite, nous fournissons deux algorithmes corrects, efficaces et sûrs pour le déploiement de politiques de sécurité. 6.2 Pare-feu et politique de sécurité Un pare-feu est un dispositif de sécurité de périmètre qui filtre les paquets qui traversent à travers les frontières d'un réseau sécurisé. La décision de filtrage est basée sur une politique de pare-feu définie par l'administrateur du réseau. Une politique de pare-feu est une liste ordonnée de règles. Une règle r de pare-feu définit une action, généralement accepter ou rejeter, pour l'ensemble des paquets correspondant à ses critères. La majorité des pare-feux filtre le trafic en fonction de la sémantique de la première correspondance, lorsqu un paquet p arrive, il est comparé des règles de haut en bas jusqu'à ce qu'une règle de correspondance est trouvée et le processus est répété pour le paquet suivant. Toutes les politiques ont une règle invisible par défaut «match-all» à la fin. Par conséquent, quand un paquet ne correspond pas à une règle de la politique, l'action par défaut est appliquée. Dans la plupart des pare-feux, la règle par défaut est «deny-all», mais la règle par défaut «permit-all» est également possible. La majorité des pare-feux ne permettent pas de règles identiques dans la même politique. Par conséquent, nous supposons que cette restriction ne permet pas la duplication des règles dans une politique. Une règle est un ensemble de champs, chaque champ peut avoir une valeur atomique ou une plage de valeurs. Il est possible d'utiliser n'importe quel champ de l entête IP, UDP et TCP. Toutefois, les cinq champs suivants sont les plus couramment utilisés: le type de protocole, l'adresse IP source, le port source, l adresse IP de destination et le port destination [48]. Tout le champ de l en-tête de paquet peut être utilisé pour le processus de correspondance. Cependant, les cinq champs qu on a cités auparavant sont les plus couramment utilisés. Dans un paquet, chacun de ces champs a une valeur atomique. Si tous les champs d'un paquet p coïncident avec les champs correspondants d'une règle r, alors p est accepté ou rejeté selon la décision de r. Si p ne correspond pas à aucune règle en matière de politique, alors la valeur par défaut «match-all» de la règle est appliquée. Le tableau 4 donne un exemple de deux politiques de pare-feu basées sur le langage des pare-feux PIX. a. permit TCP /24 53 b. deny IP /24 any c. permit UDP /16 any 123 d. deny IP / e. permit IP /8 any a. permit TCP /24 53 f. deny IP any c. permit UDP /16 any 123 g. permit IP /16 any h. permit IP /16 any Politique α Tab. 4 : Deux politiques de pare-feu Politique β 79

80 Chapitre 6: Déploiement des politiques de sécurité au sein de Pare-feu Partie N Déploiement des politiques de sécurité Le déploiement de la politique est le processus par lequel les commandes d'édition de politique sont émises sur les pare-feux afin que la politique cible devient la politique en cours d'exécution. Un administrateur réseau ou un outil de gestion ajoute des commandes au sein de pare-feu pour transformer la politique cible T en une politique en cours d'exécution R. L'ensemble des commandes qu un pare-feu prend en charge est appelé son langage d édition de politique. Généralement, un parefeu utilise un sous-ensemble des commandes d'édition suivant [49]: (app r) : ajoute la règle r à la fin de la politique R. (del r) : supprime la règle r de la politique R. (del i) : supprime la règle de la position i de la politique R. (ins i r) : insère la règle r à la position i. (mov i j) : déplace la i ème règle vers la j ème position dans R. Les langages d'édition de politique peuvent être classés en deux catégories: Type I et Type II Déploiement de type I Le langage d édition type I prend en charge deux commandes uniquement, ajouter et supprimer (append and delete). La commande (app r) ajoute une règle r à la fin de la politique R qui est en cours d'exécution, sauf si r est déjà dans la politique R, dans ce cas, la commande échoue. La commande (del r) supprime la règle r de la politique R, si elle est présente. Le langage d édition type I peut transformer toute politique en cours d'exécution en une politique cible [49], il est donc complet. La plupart des anciens pare-feux et certains qui sont récents, tels que FWSM 2.x [50] et JUNOSe 7.x [51], seuls supportent le langage d édition type I. L algorithme de base utilisé dans ce type de déploiement est le suivant : Algorithm 1 Scanning Deployment ScanningDeployment (I, T) { /* An algorithm using only app and del */ /* to transform policy I into policy T */ S empty stack H empty hash table /* Phase 1: add rules */ i 1 for t 1 to SizeOf(T) do while i SizeOf(I) and I[i]<>T[t] do /* I[i] needs to be deleted */ S.PUSH (I[i]) H.ADD(I[i]) i i + 1 if i > SizeOf(I) then if H.Contains(T[t]) then H.Remove(T[t]) IssueCommand( del T[t]) IssueCommand( app T[t]) /* Phase 2: clean up */ for j SizeOf(I) down to i do IssueCommand( del I[j]) while not S.IsEmpty() do 80

81 Chapitre 6: Déploiement des politiques de sécurité au sein de Pare-feu Partie N 2 r S.POP() if H.Contains(r) then IssueCommand( del r) } Nous avons montré que cet algorithme est erroné et présente des failles surtout dans la deuxième phase. Nous avons réglé ce problème et nous avons proposé un nouveau algorithme qui est correcte et qui nous a permis de déployer une politique cible d une façon correcte. Ce travail a fait l objet d une publication dans un journal international [52] Déploiement de type II Le langage d édition type II autorise la modification aléatoire de la politique de pare-feu. Il prend en charge trois opérations: la commande (ins i r) insère la règle r comme la i ème règle dans la politique en cours d exécution R, sauf si la règle r est déjà présente; la commande (del i) supprime la i ème règle de R et enfin la commande (mov i j) déplace la i ème règle à la j ème position dans R. Le langage d édition type II peut transformer toute politique en cours d'exécution en une politique cible sans accepter des paquets illégaux ou rejeter paquets légaux [49], par conséquent, il est à la fois complet et sûr. Il est évident que pour un ensemble donné de politiques initiales et cibles, un déploiement de Type II utilise normalement moins de commandes d édition que son équivalent utilisant le déploiement de type I. SunScreen 3,1 Lite [53] et Enterasys Matrix X [54] sont des exemples de pare-feux utilisant le langage d édition type II. L algorithme de base utilisé dans ce type de déploiement est le suivant : Algorithm 2 Greedy 2-Phase Deployment TwoPhaseDeployment (I, T) { /* algorithm to calculate a safe type II deployment */ /* to transform firewall policy I into T */ /* Phase 1: insert and move */ inserts 0 for t 1 to SizeOf(T) do if T[t] I then IssueCommand(ins t T[t]) inserts inserts + 1 else IssueCommand( mov IndexOf(T[t], I) + inserts t) /* Phase 2: backward delete */ for i SizeOf(I) down to 1 do if I[i] T then IssueCommand( del i + inserts) } 6.4 Conclusion La sécurité de déploiement des politiques de pare-feu est un nouveau domaine de la recherche. Dans ce chapitre, nous avons montré que les approches récentes [49] pour le déploiement de stratégies de pare-feu contiennent des erreurs critiques. En effet, ces approches peuvent présenter des failles de sécurité temporaires qui autorisent le trafic illégal et / ou interrompent des services de réseau en bloquant le trafic légal lors d'un déploiement. Nous avons proposé une formalisation pour le déploiement sûr et nous avons utilisé cette formalisation comme une base pour fournir des algorithmes sûrs et efficaces pour les deux types de langage I et II. 81

82 Partie N 3 : Systèmes de détection d intrusions et nouveaux modèles 82

83 Chapitre 7 : vue générale sur les systèmes de détection d intrusions 83

84 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Les systèmes de détections d'intrusions Dans le chapitre 2, nous avons vu un petit aperçu sur les systèmes de détection d'intrusions. Dans ce chapitre, nous présentons une classification des systèmes de détection d'intrusions. Ensuite, nous développons les qualités requises de ces équipements Classification des systèmes de détection d'intrusions La détection d'intrusions a commencé en 1980 avec le travail d'anderson [55]. Il a proposé la surveillance des échecs d'authentification pour détecter les tentatives de pénétration au réseau local. De plus, l'observation des fichiers et des programmes manipulés permet de détecter des attaques internes. Enfin l'usurpation d'une identité est repérable en comparant l'activité courante au comportement habituel d'un utilisateur. Ensuite, Denning [56] a proposé en 1987 le premier modèle de la détection d'intrusions. Son approche statistique construit des profils qui relient des sujets à des objets. Un sujet est l'initiateur des actions. Il peut être un utilisateur ou un processus qui manipule des objets c'est-à-dire des programmes ou des fichiers. Suite à ce premier modèle, plusieurs détections. Etant donnée la diversité de ces méthodes, des schémas de classification ont été proposés par Lunt [57], Sundavar [58], Debar [59, 60], Axelsson [61] et Bace [62]. Debar [60] utilise cinq critères pour classer les systèmes de détection d'intrusions (Figure 23) : Méthode de détection : deux principes de détections existent. L'approche comportementale modélise le comportement normal des utilisateurs, du système informatique et de l'activité réseau. Ensuite, toute déviation par rapport à la normale constitue un événement suspect. La deuxième approche, appelée détection par connaissances, recherche explicitement les signatures des attaques connues dans les fichiers de sécurité et le trafic réseau. Source d'information : les données analysées partagent les systèmes de détection d'intrusions en deux catégories : les systèmes de détection d'intrusions réseaux et les systèmes de détection d'intrusions hôtes. La première catégorie des IDS filtre le trafic réseau et se déploie généralement dans des endroits précis du réseau, par exemple dans la zone démilitarisée, un brin réseau contenant des serveurs internes ou juste avant ou/et après un pare-feu. La deuxième catégorie des IDS analyse les données des journaux de sécurité établis par les systèmes d'exploitation et les applications qui tournent sur les machines. Ces IDS sont déployés directement sur les hôtes du réseau. Réponses des IDS : les systèmes de détection d'intrusions émettent des réponses actives qui influent directement la source d'attaque, comme ils peuvent se restreindre à des réponses passives qui inscrivent l'événement suspect. Une liste de réponses actives et passives est présentée dans le Tableau 5 [63]. Par ailleurs et afin de sélectionner la meilleure réponse, Cuppens introduit la notion d'anti-corrélation et l'applique sur le but de l'intrusion [64]. Paradigme de détection : la détection d'intrusions s'effectue en analysant l'état courant du système ou en supervisant les transitions des états normaux aux états dangereux. Durant ces deux types d'inspection, l'ids récupère les informations en interrogeant directement le système ou en écoutant passivement les événements. Mode de supervision : l'analyse assurée par un système de détection d'intrusions peut être continue ou périodique dans le temps. 84

85 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Fig. 23 : Classification des systèmes de détection d'intrusions Tab. 5 : Réponses aux attaques des systèmes de détection d'intrusions Les systèmes de détection d'intrusions utilisent diverses techniques de détection et définissent plusieurs modules qui effectuent des tâches distinctes comme la collecte des informations, l'analyse des données, la corrélation des événements et la génération des alarmes. Afin d'homogénéiser les communications entre les différents équipements, des travaux de standardisation ont été développés et d'autres sont en cours de développement. On note en particulier le CIDF [65] qui développait des protocoles et des API permettant la réutilisation facile des composants des IDS. Par ailleurs l'ietf a créé un groupe de travail IDWG (Intrusion Detection Working Group) [66] pour définir le format des données et des échanges entre les systèmes de détection et de réponse aux intrusions. Le but du travail est de partager facilement l'information entre les systèmes de détection d'intrusions et de contrôler tout système interagissant avec eux [67, 68, 69]. 85

86 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Qualités requises des systèmes de détection d'intrusions Les systèmes de détection d'intrusions actuels tendent à garantir les cinq propriétés suivantes [60] : Exactitude de détection : elle se traduit par une détection parfaite des attaques avec un risque minimal de faux positifs. Performance : une détection rapide des intrusions avec une analyse approfondie des événements est indispensable pour mener une détection efficace en temps réel. Complétude : une détection exhaustive des attaques connues et inconnues. Tolérance aux fautes : les systèmes de détection d'intrusions doivent résister aux attaques ainsi qu'à leurs conséquences. Rapidité : une analyse rapide des données permet d'entreprendre instantanément les contre mesures nécessaires pour stopper l'attaque et protéger les ressources du réseau et du système de détection d'intrusions. Afin d'assurer ces qualités, les systèmes de détection d'intrusions implantent différentes approches de détection. Nous choisissons le critère "méthode de détection" pour présenter dans la Section 8.2 un état de l'art des travaux de recherche du domaine. 7.2 Méthodes de détection d'intrusions Nous présentons dans cette section quelques techniques de la détection d'intrusions. Nous nous intéressons d'abord à la détection comportementale puis nous traitons le cas de la détection basée sur la connaissance Détection d'intrusions comportementale La détection d'intrusions comportementale ou par anomalie repose sur l'hypothèse qu'une attaque provoque une utilisation anormale des ressources ou manifeste un comportement étrange de la part de l'utilisateur. Par suite, les différentes approches qui ont été proposées apprennent le comportement normal pour pouvoir détecter toute déviation importante. On peut classer ces travaux en cinq catégories à savoir l'approche statistique, l'apprentissage automatique, l'approche immunologique, la spécification du comportement et la fouille de données Approche statistique L'analyse statistique du comportement normal du système est l'une des premières approches adoptées en détection d'intrusions. Denning [56] présente un modèle dans lequel un profil relie via une variable aléatoire un sujet (utilisateur, processus) à un objet (ressources). Si après la création du profil, la valeur de la variable aléatoire dépasse le seuil toléré alors le comportement est considéré anormal. Divers systèmes de détection d'intrusions utilisent ce concept. NIDES [70] calcule des valeurs d'anomalie de plusieurs activités (temps CPU, bande passante, nombre et nature des services sollicités, etc). Il effectue ensuite la pondération des carrés de ces valeurs afin de calculer un score d'anomalie global S (voir l équation (a)). Le score S est toujours positif et s'il dépasse le seuil toléré M, alors il s'agit d'un événement suspect. S = a 1 S a 2 S a n S n (a) Haystack [71] utilise également l'approche statistique. Il effectue un ensemble de mesures X = (x 1 ; x 2 ; ; x n ) puis représente sous forme d'un vecteur de Bernoulli v toute mesure x i qui dépasse un seuil prédéfini < t i,min, t i,max >. Ensuite le vecteur v est multiplié par un vecteur poids p spécifique à chaque intrusion. Le produit obtenu représente le score d'anomalie et il est considéré élevé si la probabilité d'obtenir des scores plus petits est grande. 86

87 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Si l'approche statistique bénéficie d'un grand nombre d'outils largement étudiés, elle se heurte à la difficulté de définir adéquatement le seuil optimal d'anomalie. De plus elle doit spécifier avec précision et uniquement les mesures qui sont en relation avec l'attaque recherchée. Par ailleurs l'interdépendance des mesures doit être considérée pour mieux estimer le score global d'anomalie. Enfin l'approche est incapable d'exprimer toute seule la séquence d'événements Apprentissage automatique Une autre technique de la détection d'intrusions comportementale consiste à prévoir la séquence normale des événements audités. Teng [72] propose une méthode inductive de génération de règles décrivant la séquence normale des activités des utilisateurs. L'équation (b) représente un exemple de règles : E1, E2, * (E4 = 95 %, E5 = 5%) (b) La règle (b) utilise le caractère * pour remplacer un événement quelconque et indique que la séquence (E1, E2, *) est suivie par l'événement E4 dans 95% des cas et par E5 dans 5% des situations possibles. Une déviation par rapport au comportement normal se caractérise par une apparition d'événements autres que E4 et E5 ou une disproportion des événements E4 et E5. La technique est capable de modéliser une variété de comportements et résiste bien à l'apprentissage progressif et malveillant des intrus. Néanmoins, elle est trop liée à la séquence d'événements ce qui pose des problèmes dans le cas où un utilisateur effectue simultanément deux ou plusieurs tâches. Les deux méthodes décrites précédemment souffrent des données bruit lors de la phase d'apprentissage. Pour remédier à ce problème, Fox [73] propose l'utilisation des réseaux de neurones pour prévoir la prochaine commande dans une fenêtre de taille w. Les réseaux de neurones sont ensuite utilisés dans divers travaux [74, 75, 76]. Ghost et ses co-auteurs [77] emploient le modèle d'elman des réseaux de neurones pour tenir compte des séquences récurrentes dans les exécutions des programmes. Ces approches sont capables de corréler automatiquement les différentes mesures. Néanmoins la durée nécessaire d'apprentissage constitue souvent un paramètre crucial à définir. Récemment, quelques travaux proposent l'utilisation des cartes auto-organisatrices de Kohonen (SOM) pour assurer l'apprentissage automatique. Lichodzijewsk [78, 79] construit des profils de connexions réseaux et utilise les multi SOM pour assurer une détection d'intrusions basée hôte. Par ailleurs Ramadas [80] applique le même concept mais en distinguant les services réseaux. Les réseaux de Kohonen évitent l'apprentissage supervisé et présentent une forte sensibilité aux données fréquentes. Ils réduisent également la complexité calculatoire. En revanche ils peuvent présenter un taux d'erreur élevé et ne garantissent pas la convergence sur des réseaux de grande dimension Approche immunologique Forrest [81] était la première à utiliser l'approche immunologique pour modéliser les processus sur une machine. Sa méthode consiste à décrire le comportement normal ou le "soi" via une séquence finie d'appels systèmes. Les séquences appelées N-gram servent de base pour comparer les appels systèmes des processus lors d'une phase de surveillance. Cette comparaison énumère les différences entre les paires dans une fenêtre de taille k (tide) [81] ou utilise des règles de r bits contiguës (stide) [82]. Wespi, Dacier et Debar [83] considèrent un cas plus général en analysant les événements d'audit. Ils génèrent des séquences d'événements de tailles variables pour modéliser l'état normal du système. Ensuite un motif est sélectionné s'il existe d motifs qui le suivent directement sinon le score d'anomalie est incrémenté de 1 et une alarme est déclenchée lorsque le score dépasse le seuil toléré. 87

88 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Marceau [84] optimise la représentation des N-gram sous forme de graphes acycliques orientés (DAG) ce qui permet de réduire la base de profils définie par Forrest. De plus, elle utilise le mécanisme de fenêtre glissante pour comparer les motifs. Kosoresow [85] étudie les caractéristiques des traces des appels systèmes et remarque que les différences entre les motifs apparaissent dans des régions de tailles fixes. En divisant la trace en 3 parties : début, corps et fin, il réussit à générer de nouvelles séquences de motifs représentées en des machines à états finis. La méthode permet de réduire le nombre de séquences. Par exemple, 26 descriptions du processus sendmail suffisent au lieu de 147. Cependant l'auteur propose une construction manuelle de l'automate pour traduire ces motifs. Warrender et Forest comparent dans [86] quatre approches immunologiques : la séquence simple d'événements (stide), la séquence d'événements menue des fréquences d'apparition (tstide), la génération automatique des règles inductives via RIPPER et le modèle caché de Markov (HMM). Ils concluent qu'en moyenne la modélisation HMM présente des meilleures performances. Mais il ne s'agit pas d'une supériorité absolue puisque les résultats des expériences dépendent des programmes testés. La lenteur d'apprentissage constitue le principal inconvénient de la modélisation HMM. Afin de résoudre ce problème, Cho [87] s'intéresse uniquement aux événements qui sont en relation avec le changement de privilège. Il réduit ainsi le nombre d'appels systèmes audités de l'ordre de 75% (de 267 à 80). Par ailleurs et afin de diminuer les faux positifs très répandus dans le cadre d'une détection d'intrusions comportementale, l'auteur combine plusieurs HMM et utilise diverses mesures dont les informations utiles sont raffinées via une méthode d'auto-organisation de données (SOM) Spécification des programmes La spécification des exécutions normales des processus constitue une autre technique de la détection d'intrusions comportementale. Ko, Fink et Levittet [88] s'intéressent aux programmes avec privilège "super utilisateur" et développent un langage de spécification qui se base sur la logique des prédicats et les expressions régulières. Cependant la réalisation de ces spécifications est une tâche assez difficile. Les auteurs proposent une méthode utilisant une logique inductive pour synthétiser directement les spécifications à partir des traces valides [89]. Dans ce contexte, Nuansri [90] construit un diagramme de transition d'états pour représenter les changements de privilège. Il définit ainsi un ensemble de règles dont la violation révèle la présence d'une attaque. Enfin Sekar et Uppurili [91] utilisent un langage spécifique BMSL (Behavioral Monitoring Specification Language) pour modéliser les propriétés importantes des événements à analyser. Ils expriment via ce langage des règles de la forme motif action. Les motifs sont des expressions régulières d'événements qui seront traduites sous forme d'une machine à états finis quasi déterministe. Les actions sont des opérations d'affectation à des variables d'états ou de simples appels à des routines extérieures pour stopper les attaques en cours Fouilles de données et théorie d'information Lee et Xiang [92] utilisent la théorie d'information pour comprendre la nature des données auditées et par suite construire des modèles de détection d'intrusions comportementale. Les techniques de fouilles de données (Data Mining) permettent également de construire des modèles de détection adaptatifs. Les algorithmes utilisées par Lee [93, 94] divisent les données en deux catégories : des données normales et des données anormales. Cette classification permet de construire des règles qui expriment des relations entre les enregistrements des fichiers de sécurité. 88

89 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Par exemple, pour un utilisateur particulier, l'éditeur Xemacs est le plus souvent associé à des fichiers ".c". Lee souligne que l'extraction des événements fréquents permet de mieux analyser les traces d'événements. De plus une méta-classification des analyses de plusieurs IDS garantie une meilleure détection avec moins de faux positifs. Ces différentes techniques sont implantées dans le système de détection d'intrusions JAM [95]. De plus l'analyse de données porte sur des traces normales pour assurer une détection comportementale ou bien sur des traces d'intrusions. Elle contribue donc à construire des règles de détection d'attaques utilisables lors d'une détection d'intrusions par connaissances. ADAM est un autre système de détection d'intrusions qui utilise la fouille de données. Il est basé sur les travaux de Barbara [96, 97] et effectue deux étapes d'apprentissage. La première étape utilise des données hors ligne pour construire des règles d'association modélisant les profils normaux. La deuxième étape considère des données en ligne et emploie les règles d'association déjà construites pour créer un classificateur d'événements suspects. L'objectif de cette phase est de rendre le système de détection d'intrusions plus apte à distinguer les vraies attaques des faux positifs Détection d'intrusions basée sur la connaissance Contrairement à la détection d'intrusions par anomalie qui apprend le comportement normal, la détection d'intrusions basée sur la connaissance cherche directement les activités intrusives. Diverses approches ont été proposées. Elles peuvent être classées en cinq catégories : les systèmes experts, les automates, les algorithmes génétiques, la fouille de données et le filtrage de motifs Systèmes experts Les premiers prototypes des systèmes de détection d'intrusions utilisent les systèmes experts pour détecter les scénarios d'attaques. La base de règles traduit les connaissances des experts ce qui permet de transformer les faits extraits des sources d'audit et d'en déduire la présence des attaques. Plusieurs langages de définition de règles sont proposés. Par exemple, P-BEST (Production Based Expert System Toolset) a été initialement développé pour le système MIDAS [98] puis employé par IDES [99, 100], NIDES [70] et EMERALD [101]. Par ailleurs, Le Charlier définit le langage RUSSEL (Rule based Sequence Evaluation Language) pour décrire les signatures d'attaques dans le système ASAX [102]. Néanmoins l'utilisation de ces deux langages nécessite une certaine expertise. De plus, définir de nouvelles signatures d'attaques nécessite du temps surtout lorsque la description d'une attaque requiert l'ajout de plusieurs règles. Afin d'améliorer la détection des attaques en tenant compte des activités courantes sur le système, Lunt et Garvey [103] ajoutent au système expert le concept du raisonnement sur les modèles. En effet, à chaque modèle d'attaque est associé des indicateurs d'activités. Ainsi, la supervision des activités permet d'activer seulement quelques modèles et par suite de tenir compte uniquement des scénarios d'attaques susceptibles d'être vérifiés. Les systèmes experts présentent l'avantage de séparer la description des attaques des méthodes de détection. Néanmoins, la modélisation des connaissances sous forme de règles de la forme "si_ alors" s'avère parfois insuffisante. De plus la construction des règles exige un niveau minimum d'expertise. La tâche devient plus difficile si on ajoute les preuves d'occurrence (raisonnement) aux modèles d'attaques. 89

90 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Automate et logique temporelle Plusieurs approches de détection d'intrusions utilisent les automates pour représenter les scénarios d'attaques. Ces travaux se basent sur les machines à états finis, les réseaux de pétri et la logique temporelle de chemins Machines à états finis Porras [104] représente les signatures d'attaques sous forme de machines à états finis. Les états de la machine correspondent aux états du système en voie de compromission et ils contiennent des assertions qui doivent être vérifiées pour pouvoir transiter d'un état à un autre. Les arcs sont étiquetés par des événements qui forment le scénario d'attaque. Le système de détection d'intrusions USTAT [105] implante cette approche pour détecter les attaques sur le système Unix. Par ailleurs Kermmer et Vigna [106, 107] adaptent le système pour détecter des attaques réseaux. Leur modélisation transforme l'infrastructure réseau en un hypergraphe dont les nœuds sont des interfaces réseaux et les arcs sont des hôtes et des liens réseau. Nous constatons que la description des scénarios d'attaques sous forme de machines à états finis est un moyen plus facile que la définition de règles dans un système expert. Cependant, la méthode ne permet d'exprimer que de simples relations qui portent sur des séquences d'événements Réseau de Pétri Kummar [108, 109] utilise les réseaux de pétri pour représenter les scénarios d'attaques. Les transitions sont étiquetées par des appels systèmes alors que les jetons évoluent chaque fois qu'un événement permet de tirer une transition. Un jeton possède une couleur qui est une valuation des variables. De plus, les transitions sont gardées pour vérifier certaines conditions. Les réseaux de pétri offrent un bon pouvoir expressif puisqu'ils permettent de représenter l'existence et la séquence d'événements. De plus ils expriment des expressions régulières menées d'un opérateur de parallélisme. Néanmoins leur mise en œuvre pose quelques problèmes. En effet, à chaque commande on crée de nouveaux jetons, ce qui augmente le nombre de jetons présents et alourdit le processus de vérification Logique temporelle Roger [110] transforme l'analyse des journaux d'audit en un problème de vérification des propriétés dans une logique temporelle. En effet, les scénarios d'attaques sont des formules de la logique temporelle linéaire alors que le fichier d'audit est la trace sur laquelle les algorithmes de vérification s'exécutent. Le langage de définition des attaques devient assez expressif grâce aux opérateurs de la logique temporelle (Next, Until). De plus la vérification traite des problèmes d'atteignabilité, de sûreté et d'équité Algorithmes génétiques Le système de détection d'intrusions Gassata [111] utilise les algorithmes génétiques pour détecter les intrusions à posteriori. Cette méthode de détection vise particulièrement les attaques dont l'ordre temporel des événements importe peu dans le déroulement du scénario d'attaque. Mais définit une matrice d'attaques/événements notée A qui caractérise les événements associés à chaque attaque. De plus il construit un vecteur R du risque encouru par chaque attaque et de la liste d'événements O observés durant une période T. Le problème de détection se transforme en un problème d'optimisation qui est résolu via les algorithmes génétiques (voir l équation (c)). 90

91 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 (c) La méthode de détection s'adapte bien lorsque les administrateurs s'intéressent uniquement à des attaques considérées intrusives et sévères sur leurs réseaux. De plus le temps d'analyse est satisfaisant. Cependant, la détection est fortement liée à la période T de collecte des événements. De plus, elle ne considère pas les événements communs entre plusieurs attaques. Enfin, la construction de la matrice attaques/événements exige une certaine expertise de la part de l'utilisateur Fouille de données Les techniques de la fouille de données (Data Mining) s'appliquent aussi bien pour une détection d'intrusions par anomalie que pour une détection d'intrusions basée sur la connaissance. Nous avons présenté cette méthode dans le cadre de la détection d'intrusion comportementale. Lee [112] utilise les données d'apprentissage du programme d'évaluation DARPA pour construire automatiquement des règles de détection d'attaques. Ces règles servent ensuite à la détection en ligne des scénarios d'attaques Filtrage de motifs La description sémantique d'un scénario d'attaque peut se traduire en informations explicites caractérisant l'attaque. Pour une détection basée hôte, ces informations se présentent sous forme d'événements à retrouver à partir des journaux de sécurité. Cependant, un système de détection d'intrusions basé réseau examine les champs des protocoles réseaux et filtre le contenu des paquets à la recherche des chaînes de caractères qui sont des motifs d'attaques. Deux exemples de signatures d'attaques pour une détection d'intrusions basée hôte et réseau sont schématisés dans la figure 24. Le premier scénario montre une attaque dont l'objectif est d'obtenir un terminal avec le privilège "super utilisateur". Ensuite, le deuxième scénario détecte une utilisation non conforme d'un bit réservé du protocole IP ce qui peut révéler un canal de communication secret. Nous constatons que la représentation via des motifs facilite l'interprétation des signatures d'attaques. De plus les signatures sont facilement réutilisables par d'autres systèmes de détection d'intrusions. Fig. 24 : Détection d'intrusions avec filtrage de motifs 91

92 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Dans le cadre de la détection d'intrusions basée hôte, Kuri, Navarro, Mé et Heye transforment un fichier d'audit en une chaîne de caractères où chaque lettre représente un événement particulier [113]. Par exemple ils remplacent chmod par le caractère a, ln par b, etc. La même transformation est réalisée sur les scénarios d'attaques et par suite le problème de détection se ramène en un problème de filtrage de motifs. Les auteurs adoptent une stratégie flexible de détection des scénarios d'attaques en autorisant l'insertion d'au plus k caractères. Ils proposent également deux algorithmes pour résoudre ce problème [114]. La première méthode utilise les opérations binaires pour implanter l'algorithme naïf de recherche des positions des motifs dans une trace T avec k insertions possibles [115]. Une démarche analytique limite le nombre d'insertion k à m (σ/e - 1) avec σ est la taille de l'alphabet et m est la taille du motif. La deuxième méthode de filtrage, plus rapide, compte le nombre d'apparitions de chaque caractère dans une fenêtre de taille m + k. L'idée repose sur le fait que pour trouver un motif dans une trace T, il faut avoir autant de caractères dans la trace que dans le motif. Cette technique élimine rapidement les zones de texte où la détection est impossible. Néanmoins elle n'assure pas le bon ordre des caractères ce qui nécessite l'utilisation d'un algorithme de filtrage exact. Par ailleurs, une démarche analytique montre que le nombre d'insertions doit être inférieur à σ - m pour assurer une bonne qualité de filtrage. Une méthode similaire de filtrage mais appliquée sur le trafic réseau a été proposée par Markatos et ses co-auteurs [116]. Leur algorithme appelé ExB cherche dans le contenu du paquet toutes les séquences de bits qui apparaissent dans le motif d'attaque. Afin d'optimiser la recherche, les auteurs proposent l'utilisation de l'opérateur binaire "ou" pour combiner deux séquences de bits [117]. De plus la nouvelle version ExB2 effectue le filtrage en ignorant la casse. La méthode ExB n'affirme pas la présence d'un motif d'attaque puisque qu'elle ne vérifie pas le bon ordre des séquences de bits. Pour compléter l'opération de filtrage, les auteurs utilisent un algorithme standard de filtrage d'un seul motif. Cette méthode est efficace lors de la recherche d'une seule signature d'attaque. Seulement les règles de détection d'attaques définissent simultanément plusieurs signatures. De plus, le nombre de règles ne cesse de s'accroître à cause des nombreuses attaques découvertes chaque jour. Il en découle qu'exécuter plusieurs fois l'opération de filtrage sans tenir compte des similarités entre les motifs constitue une stratégie défaillante. Fisk et Varghese [118] puis Coit et ses co-auteurs [119] proposent des méthodes de filtrage simultané de plusieurs signatures d'attaques. Leurs stratégies permettent d'améliorer la détection d'un rapport qui varie entre 1.02 à Néanmoins et afin de tenir compte de l'arrivée désordonnée des paquets, ces techniques procèdent à un rassemblement puis une organisation du trafic Avantages et inconvénients des méthodes de détection Nous avons présenté les deux principes de la détection d'intrusions : l'approche comportementale et l'approche basée sur la connaissance. D'une part l'approche comportementale détecte toute déviation importante dans le comportement habituel d'un utilisateur. Diverses techniques de détection existent à savoir l'approche statistique, l'apprentissage automatique, l'approche immunologique, la spécification des programmes et la théorie d'information. D'autre part, la détection basée sur la connaissance cherche directement les activités malveillantes en s'appuyant sur les descriptions des attaques connues. Parmi les techniques employées nous citons les systèmes experts, les automates, les algorithmes génétiques, la fouille de données et le filtrage de motifs. Nous résumons dans le tableau 6 les avantages et les inconvénients de ces deux principes de détection. 92

93 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Limites de la détection d'intrusions basée réseau avec filtrage de motifs Nous avons présenté dans la section 7.2 les deux principes de la détection d'intrusions puis montré les avantages et les inconvénients de chaque approche. Nous nous focalisons dans la suite aux techniques de filtrage et d'application rapide des règles de détection d'attaques. Nous nous intéressons dans la section 7.3 aux problèmes de filtrage des motifs dans le cadre d'une détection d'intrusions basée sur la connaissance. Ensuite, nous présentons les difficultés de la détection d'intrusions en ligne lorsqu'elle porte sur un trafic réseau Problèmes du filtrage de motifs La détection d'intrusions via le filtrage des motifs d'attaques est largement déployée dans divers IDSs réseaux. Elle permet de détecter rapidement la présence d'une signature d'attaque dans le contenu d'un paquet. Seulement les attaquants essaient de contourner les systèmes de détection d'intrusions en s'appuyant sur des attaques d'évasion ou en générant un grand nombre de faux positifs. Nous discutons dans la suite ces deux problèmes. Avantages Inconvénients Détection par anomalie Détection de nouvelles attaques. Apprentissage inexacte : si ce dernier se base sur des données supposées être normales mais contenant des attaques inconnues. Evolution du comportement normal ce qui exige un apprentissage adaptatif => risque d'un apprentissage progressif initié par un intrus. Génération abondante des faux positifs. Sélection cruciale des paramètres utiles lors de la phase d'apprentissage puisque des paramètres en trop représentent un bruit alors que ceux en moins dégradent la qualité de détection. Définition difficile des seuils exacts d'anomalie. Fixation difficile des durées nécessaires à l'apprentissage. Détection basée sur la connaissance Explication facile des scénarios d'attaques. Génération minimale des faux Positifs. Non détection de nouvelles attaques Expertise requise pour construire efficacement des signatures d'attaque Mise à jour continue de la base de règles Augmentation rapide du nombre de règles qui généralement manquent d'abstraction Délais important entre la découverte des attaques et la définition des signatures. Tab. 6 : Comparaison des deux principes de détection d'intrusions 93

94 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Attaques d'évasion Les attaquants tentent d'éviter les systèmes de détection d'intrusions qui se basent sur le filtrage de motifs. Ils emploient diverses techniques d'évasion (voir figure 25) qui peuvent être classées en 3 catégories [120] : Evasion : elle consiste à envoyer des données qui seront ignorées par le système de détection d'intrusions mais prises en compte par la machine destinataire. Insertion : elle se base sur le principe inverse de l'évasion c'est à dire les données sont analysées par l'ids mais ignorées par la machine. Déni de services : elle consiste à attaquer directement le système de détection d'intrusions pour réduire ses performances ou le désactiver complètement. Le succès de cette attaque permet de suspendre l'analyse du trafic sans rompre la connectivité du réseau. Ainsi, les attaquants réduisent le risque de détection Techniques d'évasion Fig. 25 : Techniques d'évasion Les attaquants disposent de plusieurs moyens pour réussir des attaques d'évasion [120]. Ils forgent les champs des protocoles mis en œuvre lors des communications réseaux. Nous présentons dans le tableau 7 ces diverses techniques en fonction du niveau protocolaire choisi pour mener l'attaque. Les attaquants habiles forgent leurs propres paquets en combinant les différentes techniques d'évasion évoquées ci-dessus. Cette tâche est également à la portée des novices puisque il existe beaucoup d'outils qui automatisent les techniques d'évasion. Notons en particulier Fragrouter [121] et Whisker [122]. Fragrouter est un outil pour fuir les systèmes de détection d'intrusions. Il fragmente les paquets à différents niveaux protocolaires. De son coté, Whisker est un scanneur de vulnérabilités des serveurs web. Il s'appuie sur diverses tactiques d'évasion que nous résumons ainsi : Encodage des URL en hexadécimale ou unicode ; Utilisation des doubles slashes ; Utilisation du répertoire père ; Utilisation du répertoire courant ; 94

95 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Fin prématurée des requêtes ; Edition spéciale des messages HTTP (par exemple remplacer les espaces par des tabulations) ; Emission de longues URL ; Utilisation des antislashs acceptés par les serveurs web déployés sur des systèmes Windows ; Modification de la casse. Niveau protocolaire Techniques d'évasion Connaissance Tous champs erronés : somme de contrôle, bits réservés, taille de la trame, valeurs non permises (version IP Système d'exploitation différente de 4 et 6), etc. Physique Adresse physique inexistante Topologie réseau TTL insuffisante pour que le paquet aboutisse à la machine destinataire Topologie réseau Fragmentation et désorganisation des paquets IP Réassemblage au niveau IDS Réseau Paquets à non fragmenter (DF) de tailles assez grandes pour pouvoir Topologie réseau franchir les futurs liens réseaux Fragments IP qui se chevauchent Système d'exploitation Insertion des options IP susceptibles d'être refusées. (exemple : routage par Système d'exploitation la source) Segmentation et désorganisation des segments TCP Réassemblage au niveau IDS Transport Segments TCP qui se chevauchent Système d'exploitation Insertions des options TCP non négociées durant la phase d'ouverture Système d'exploitation de connexion Les techniques d'évasion sont spécifiques à chaque protocole Application applicatif. L'analyse protocolaire Implantation des services permet de traiter indépendamment chaque protocole Tab. 7 : Techniques d'évasion Ayant présenté quelques techniques d'évasion, nous expliquons dans la sous section les divers moyens utilisés pour empêcher ces attaques Solutions contre les attaques d'évasion Les systèmes de détection d'intrusions intègrent de nouveaux procédés pour mieux résister aux attaques d'évasion. Pour se défendre contre la manipulation des protocoles, les IDS collectent et normalisent le trafic. Par exemple, Snort [123, 124] définit deux préprocesseurs Frag2 et Stream4 pour rassembler respectivement les fragments IP et les segments TCP. En outre, Paxson et ses coauteurs [125] proposent l'utilisation d'un normalisateur de trafic. Il s'agit d'un système qui s'interpose directement sur le chemin du trafic, rassemble les différents fragments puis résout les ambiguïtés au niveau IP et TCP. Cette méthode, peu déployée, a l'inconvénient d'altérer le trafic et de se baser sur le normalisateur qui démarre un point de faille puisque en cas de panne, il rompe la connectivité du 95

96 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 réseau. Paxson et Shankar proposent dans [126] une stratégie active de balayage pour résoudre les ambiguïtés en analysant les paquets au niveau des IDS. La reconnaissance a pour but de découvrir la topologie du réseau et de récolter les caractéristiques des systèmes d'exploitation installés sur les machines. Cependant la phase de réassemblage est toujours nécessaire au niveau des IDS. Enfin, Talcek souligne la possibilité d'une reconnaissance passive des systèmes d'exploitation des machines [127]. La solution repose sur l'observation des premiers échanges entre les hôtes pour en déduire à partir du comportement par défaut, les systèmes d'exploitation installés sur ces machines. Pour résoudre les ambiguïtés au niveau des protocoles applicatifs, les systèmes de détection d'intrusions normalisent le trafic avant de déclencher l'opération de filtrage. Par exemple la requête HTTP "Get /usr/././passwd" se transforme en "GET /usr/passwd". Paxson [128] souligne l'intérêt des expressions régulières pour décrire les signatures d'attaques puis les intègre dans le système de détection d'intrusions Bro. Les expressions régulières sont traduites en automates déterministes utilisés pour retrouver les signatures d'attaques. Ce mécanisme de recherche, linéaire en temps, remplace les algorithmes de filtrage de type Boyer Moore connus être sous linéaire. Les performances des deux méthodes dépendent de la phase supplémentaire de normalisation du trafic appliquée lors d'un filtrage de type Boyer Moore. Par ailleurs, la transformation de plusieurs expressions régulières en un automate fini pose des problèmes d'allocation de mémoire si des milliers d'états doivent être créés. Paxson propose une construction à la volée de l'automate. La méthode intègre un mécanisme de cache des derniers états visités et borne l'allocation de l'espace mémoire. Si les expressions régulières résistent aux insertions des caractères pour cacher les signatures d'attaques, elles ne supportent pas les techniques qui répartissent les motifs d'attaques sur plusieurs paquets. Les systèmes de détection d'intrusions ont toujours recours au réassemblage des données avant de procéder au filtrage [129, 130]. Néanmoins cette technique nécessite du temps et de l'espace mémoire pour regrouper tous les paquets et les ordonner. Par ailleurs elle présente le risque d'être exploitée négativement par un attaquant malicieux. Ce dernier sature constamment l'ids par des séquences inachevées de paquets pour bloquer l'opération de filtrage Génération de faux positifs La détection d'intrusions qui se base sur le filtrage de motifs souffre du problème de faux positifs. En effet, les signatures d'attaques doivent décrire précisément l'attaque pour ne pas s'appliquer sur des trafics sains. Par exemple la règle Sid de Snort comporte le motif "HTTP/ " pour détecter les accès non autorisés aux pages Web. Seulement la chaîne de caractères peut apparaître dans d'autres parties du trafic sans qu'il s'agisse d'une attaque. Snort spécifie l'espace de recherche des signatures d'attaques en définissant un décalage (Offset) et une profondeur de recherche (Depth). La méthode réduit le nombre de faux positifs mais peut provoquer des faux négatifs. En effet un attaquant peut manipuler les paquets en ajoutant ou en enlevant des champs afin de modifier les positions des motifs d'attaques. Par exemple la représentation XDR du protocole RPC représente les données sous forme de mots à quatre octets. L'introduction d'un champ nul est ignorée par le protocole mais permet de décaler la représentation des autres champs significatifs. Par conséquent la technique change la position des motifs d'attaques. Paxson [130] associe deux types de contextes aux opérations de filtrage des signatures d'attaques. Le premier contexte décrit les états de connexions et les protocoles mis en œuvre. Il s'agit d'une analyse protocolaire qui améliore la qualité de détection en supervisant les échanges protocolaires entre clients et serveurs. Le deuxième type de contextes est de haut niveau. Il exploite les 96

97 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 connaissances acquises sur la topologie réseau et les caractéristiques des machines pour analyser les événements suspects et déterminer s'ils constituent réellement des vraies attaques. Ce procédé réduit efficacement les faux positifs [131]. Snort utilise également les contextes de connexions pour vérifier les trafics TCP. Cette fonctionnalité, incorporée via le préprocesseur Stream4, réduit les fausses alertes. Elle sert à appliquer les règles de détection d'attaques uniquement sur des connexions légitimes Problèmes de la détection basée réseau Nous avons présenté dans la Section les problèmes de la détection d'intrusions avec le filtrage de motifs. Nous nous sommes focalisés sur les attaques d'évasion et la génération de faux positifs. Dans cette section nous nous intéressons aux problèmes de l'analyse en ligne du trafic réseau. Rappelons qu'un IDS réseau utilise les sondes pour écouter le trafic à analyser. Ainsi et contrairement aux systèmes de détection d'intrusions basés hôte, un nombre réduit de sondes suffit pour superviser l'intégralité du trafic. De plus, un IDS réseau s'appuie sur ses propres ressources (mémoire, CPU, etc) et donc, ne perturbe pas le fonctionnement des machines. Enfin, il opère généralement d'une façon furtive sur le réseau ce qui rend son exploitation une tâche difficile. Néanmoins et malgré ces avantages, les IDS basés réseau se heurtent à un ensemble de difficultés que nous développons dans la suite Haut débit Les nouveaux réseaux utilisent de plus en plus des liaisons rapides en Gigabits. Cependant les systèmes de détection d'intrusions sont incapables de suivre le transfert rapide des données. En effet dans des conditions de haut débit, les sondes ne captent pas l'intégralité du trafic. La tâche de l'ids devient plus complexe dans ces circonstances de haut débit surtout s'il est nécessaire de rassembler le trafic et de mener une analyse avec mémoire d'état. Nous montrons dans la section 8.4 l'apport de la division du trafic pour équilibrer la charge de détection sur plusieurs IDS Commutation et routage asymétrique Les commutateurs préservent la bande passante en divisant logiquement le réseau physique de l'entreprise. Cette division diminue le risque de la reconnaissance passive ce qui élève le niveau de sécurité sur le réseau informatique. Cependant, elle réduit considérablement les données interceptées par les sondes des IDS ce qui restreint l'analyse des paquets. Le même problème est soulevé suite au routage asymétrique qui tend à optimiser les routes des paquets. En effet, en routant dynamiquement les données, les paquets d'une même connexion peuvent être collectés par différentes sondes. Ceci empêche l'analyse protocolaire et la vérification avec mémoire d'états des paquets et par suite diminue l'efficacité de la détection d'intrusions. Afin de supporter la division logique des réseaux, les administrateurs utilisent le port miroir disponible sur les nouveaux commutateurs pour recopier l'intégralité du trafic. Néanmoins cette solution n'est pas infaillible puisque la copie des données n'est pas garantie lors des surcharges réseau. Une deuxième solution plus efficace consiste à utiliser les Taps [132]. Il s'agit d'un équipement physique qui calque le trafic dans un seul sens. Le déploiement des Taps ne perturbe pas la connectivité du réseau. Cependant, afin de reconstituer les deux sens du trafic il est nécessaire d'utiliser un équilibreur de charge [133] ou un commutateur avec un port miroir [134, 135]. 97

98 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N Chiffrement des données Nous avons discuté dans la partie1 les avantages de la cryptographie pour sécuriser les réseaux informatiques. Néanmoins un système de détection d'intrusions basé réseau n'est pas capable d'analyser le contenu des paquets. Ainsi, un intrus peut dissimuler son activité en ayant recours au chiffrement des données. Le déchiffrement et l analyse du trafic au niveau hôte constitue une solution couramment déployée pour supporter ce type de trafic Suivie des attaques Les systèmes de détection d'intrusions basés hôte sont capables de suivre le déroulement des attaques et de conclure leurs réussites. Cela permet de réduire les faux positifs et de distinguer les vraies attaques qui menacent le système informatique. Cependant le suivi des attaques devient plus complexe avec une détection d'intrusions basée réseau. Une minutieuse analyse protocolaire permet d'atteindre cet objectif Attaques d'évasion Les attaques par déni de services lancées contre les IDS constituent des techniques d'évasion fréquemment utilisées par les intrus. Par conséquent et afin de protéger correctement le réseau, les systèmes de détection d'intrusions doivent se protéger en intégrant des solutions algorithmiques efficaces capables de s'adapter aux caractéristiques du trafic. De plus il faut éviter les pires exécutions initiées intentionnellement par les attaquants. 7.4 Stratégie pour une détection d'intrusions basée réseau Afin de résoudre quelques problèmes de la détection d'intrusions basée réseau, nous proposons une nouvelle stratégie de vérification du trafic. Nous divisons le processus de détection en deux étapes. Une première étape de division du trafic suivie par une étape de détection d'intrusions. La première étape tient compte des propriétés du trafic et des caractéristiques des IDS pour partager la charge de l'analyse sur plusieurs IDS. Nous discutons dans la sous-section les avantages de cette division du trafic. Ensuite nous présentons dans la sous-section les différentes méthodes de détection d'intrusions que nous employons durant la deuxième étape de l'analyse du trafic réseau Phase de la division du trafic La division du trafic réseau sert principalement à mieux gérer le haut débit et à choisir la méthode de détection convenable à chaque classe du trafic. D'autres avantages liés à la tolérance aux fautes, la réduction des faux positifs et la gestion des journaux de sécurité sont explorées au fur et à mesure dans cette sous-section. Support du haut débit : les systèmes de détection d'intrusions doivent supporter le haut débit afin d'assurer la sécurité des futurs réseaux. La rapidité du trafic réduit le temps alloué au traitement des paquets sous peine de l'augmentation du taux des paquets rejetés. La tâche de détection est de plus en plus difficile pour un seul IDS surtout s'il faut mener une analyse avec mémoire d'états. La division de la charge d'analyse sur plusieurs IDS constitue une solution efficace pour résoudre ce problème. L'idée se fonde sur une division du trafic. Ensuite, chaque classe est traitée par un IDS spécialisé. Cet IDS contiendra moins de règles de détection d'attaques et assurera des analyses protocolaires détaillées d'un ensemble réduit de protocoles. 98

99 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Tolérance aux pannes : les IDS sont des systèmes ouverts en cas de panne (fail-open devices) qui analysent une copie du trafic qui passe à travers le réseau. Les attaquants essaient de les désactiver en menant dessus des attaques par déni de services. Le succès de ces tentatives facilite les futures intrusions portées sur le réseau et minimise le risque de détection. Un diviseur de trafic oriente chaque classe du trafic vers un IDS déterminé. Le contrôle permanent des performances de ces IDS permet de détecter rapidement la baisse de performance suite à des attaques réussies. Le diviseur du trafic redirige alors les classes dédiées initialement à des IDSs endommagés vers d'autres IDS indemnes. Par suite l'analyse des paquets se poursuit afin de détecter les futures intrusions. Efficacité de détection : la classification des paquets tient compte non seulement de la nature du trafic, mais également des serveurs fournissant les services analysés. Par exemple un flux HTTP peut être inspecté différemment selon que ce trafic est généré par un serveur Web interne de l'entreprise ou par un autre serveur de l'extérieur. Un administrateur peut réaliser une analyse protocolaire détaillée pour mieux protéger les serveurs internes et se restreindre au filtrage brut du trafic s'il est généré par des serveurs externes. Ainsi chaque type du trafic présente sa propre méthode de détection et c'est grâce à la classification qu'il est possible d'opter pour le système de détection le plus adéquat. Par ailleurs, la division du trafic résout les problèmes liés au routage asymétrique en envoyant chaque catégorie de trafic vers le même IDS. Elle permet conjointement de réduire le nombre de fausses alertes et de détecter plus d'attaques. Par exemple lors d'une analyse protocolaire, on évite les fausses alarmes si les paquets de deux phases consécutives d'un protocole empruntent des chemins distincts. Par ailleurs la classification assure une meilleure détection des attaques en résistant à des formes d'évasion. Un attaquant peut envoyer deux segments TCP malicieusement construits et routés sur deux chemins séparés. Par conséquent, la détection doit s'effectuer sur le même IDS pour retrouver la signature d'attaque. Déploiement des pots de miels : la division du trafic est utile pour déployer efficacement les pots de miels. En effet, elle permet de sélectionner quelques classes du trafic pour les rediriger vers des pots de miels. Cette sélection s'effectue suite à l'étude du comportement actuel des IDS et de l'activité intrusive détectée sur le réseau. Ainsi et en cernant les sources potentielles d'attaques, la partie suspecte du trafic peut être directement routée vers un pot de miel afin de mieux connaître les techniques d'intrusions et les objectifs des attaquants. Optimisation des fichiers de sécurité : l'élaboration des journaux de sécurité constitue une des dernières étapes du processus de détection d'intrusions et elle reflète la qualité de l'analyse effectuée sur le trafic. Néanmoins, les administrateurs sont souvent submergés par de gigantesques fichiers journaux dans lesquels des vraies attaques sont noyées au milieu de nombreux faux positifs. L'amélioration de l'efficacité de la détection évoquée précédemment et exprimée via le ROC (Receiver Operator Characteristic ) contribue à optimiser ces fichiers de synthèse. Par ailleurs, la division du trafic permet d'analyser séparément chaque classe. Par suite on crée des journaux de sécurité indépendants et spécifiques aux types étudiés du trafic. Le nombre de faux positifs contenus dans les fichiers résultats se trouve divisé offrant une exploration plus aisée et ciblée des caractéristiques des attaques détectées. Après avoir expliqué les intérêts de la division du trafic, nous présentons dans la sous section les actions possibles à effectuer sur chaque classe du trafic. Nous nous intéressons en particulier à deux méthodes de détection d'intrusions que nous développons au cours de cette thèse Phase de la détection d'intrusions Suite à la division du trafic, nous décidions du traitement que subira chaque classe du trafic. Diverses actions sont envisageables durant cette deuxième étape d'analyse : 99

100 Chapitre 7: Vue générale sur les systèmes de détection d intrusions Partie N 3 Simple filtrage du trafic : afin d'accélérer l'analyse, nous sélectionnons les règles possibles de détection d'attaques. Ensuite, nous inspectons le contenu des paquets à la recherche des motifs d'attaques. Analyse protocolaire : nous supervisons quelques classes du trafic jusqu'au niveau application ce qui permet de mieux protéger les services fournis par l'entreprise (services web, mail, ftp...). Direction vers un pot de miel : cet action permet d'analyser le comportement des attaquants et par suite d'apprendre leur plan d'attaques pour mieux définir les signatures d'attaques. Ignorer l'analyse : cette opération s'avère intéressante pour gérer les situations de surcharge réseau. Par exemple lors des pics du trafic, l'analyse peut se restreindre à des classes plus prioritaires. Nous attribuons alors à chaque classe de trafic un ordre de priorité. Stopper les trafics nocifs : l'action implémente une stratégie de prévention contre les attaques ou de réponse aux attaques détectées. Nous présentons dans la figure 26 les deux phases d'analyse du trafic réseau. D'abord, la division du trafic s'appuie sur des règles de division définies par l'administrateur. Ces règles dépendent des propriétés du trafic circulant sur le réseau et des méthodes de détection d'intrusions déployées sur le site de l'entreprise. Ensuite divers traitements sont possibles à chaque classe du trafic. Les résultats de ces analyses permettent de mieux comprendre les propriétés du trafic ce qui contribue à mieux formuler les règles de division du trafic et par suite adapter le diviseur. 7.5 Conclusion Fig. 26 : Stratégie d'analyse du trafic réseau Nous avons présenté tout au long de ce chapitre les qualités requises des systèmes de détection d'intrusions. Afin de remplir ces objectifs, diverses méthodes de détection d'intrusions ont été proposées. Elles se basent principalement sur deux principes de détection : la détection par anomalie et la détection par la connaissance. Nous avons expliqué ces deux principes de détection et détaillé en particulier la détection d'intrusions qui emploie le filtrage de motifs. Par ailleurs nous avons souligné les limites des systèmes de détection d'intrusions basés réseau. Afin de résoudre ces limites, nous avons proposé une division du trafic qui redirige chaque classe du trafic vers le système de détection d'intrusions adéquat. Le prochain chapitre s'intéresse aux langages de description d attaques. 100

101 Chapitre 8 : Les langages de description d'attaques 101

102 Chapitre 8 : Les langages de description d attaques Partie N Classification des langages L'approche par scénarios est fondée sur la connaissance du mode opératoire de l'attaque et, par conséquent, sur la connaissance des activités caractéristiques de cette attaque (observables dans les systèmes ou les réseaux surveillés). Pour décrire complètement une attaque, il faut décrire de nombreux aspects de l'attaque qui sont par nature complètement différents. Par conséquent, si l'on veut décrire une attaque sous toutes ses faces, il faut utiliser plusieurs langages adaptés. Dans [136, 137], Vigna, Kemmerer et Eckmann donnent une très bonne classification de ces langages. Six classes distinctes sont définies : Les langages d'exploit servent à décrire le mode opératoire utilisé pour effectuer une intrusion ; Les langages d'événements décrivent le format utilisé pour représenter les événements ; Les langages de détection sont utilisés pour décrire les manifestations d'une attaque dans les activités des systèmes ou des réseaux ; Les langages de corrélation d'alertes sont destinés à permettre l'analyse des alertes fournies par les IDS afin de générer des méta-alertes ; Les langages de description d'alertes décrivent le format utilisé pour construire l'alerte qui sera remontée après détection ; Les langages de réaction sont utilisés pour exprimer les éventuelles contremesures à prendre après détection. Nous abordons chacun de ces types de langages dans les sections suivantes. 8.2 Les langages d'exploit Les langages d'exploit sont utilisés pour décrire les étapes à suivre pour perpétrer une intrusion. Ce sont généralement des langages à usage général (tels que C, C++, Perl, Bourne Shell, ) mais il existe également des langages conçus spécialement pour l'écriture d'attaques ou de tests de vulnérabilités. On peut citer CASL (Custom Attack Simulation Language) [138] et NASL (Nessus Attack Scripting Language) [139]. Il y a un autre aspect qui n'est pas cité dans [136, 137] et qui, selon nous, a sa place dans les langages d'exploit : ce sont les pré-conditions et post-conditions d'une attaque. Il nous semble important de pouvoir également préciser les pré-conditions nécessaires pour que l'attaque ait lieu (OS, vulnérabilités, ) ainsi que les post-conditions ou conséquences de l'attaque (gains de privilèges, obtention d'informations...). C'est d'autant plus important si l'on souhaite réutiliser la description pour rejouer l'attaque afin de tester des IDS. A notre connaissance, les langages qui traitent ces deux aspects sont : LAMBDA [140], ADeLe [141] et IDLE [142]. 8.3 Les langages d'événements Les langages d'événements sont utilisés pour la description des événements. Les événements sont une représentation des données brutes filtrées et constituent la matière première du processus de détection. Beaucoup de langages d'événements sont spécialisés et adaptés à un seul type d'événement. Ainsi, NADF est le format des événements utilisés par ASAX [143]. Le format Tcpdump [144] est souvent 102

103 Chapitre 8 : Les langages de description d attaques Partie N 3 utilisé pour la capture des paquets réseau. De même, le format BSM [145] est utilisé pour les traces de l'audit système Solaris. D'autres langages sont plus généralistes et permettent de décrire des événements de nature différente. Le format Syslog [146] est utilisé dans les systèmes Unix pour enregistrer des messages systèmes et applicatifs. Bishop [147] a proposé un format standard pour les événements : chaque enregistrement est constitué de marqueurs qui séparent des suites 'champ=valeur '. Dans la même lignée que le format de Bishop, mais en plus structuré, on peut utiliser le langage XML pour représenter des événements. 8.4 Les langages de détection Les langages de détection permettent d'exprimer comment on peut reconnaître les manifestations d'une attaque. C'est dans ces langages que l'on va codifier la connaissance que l'on a de l'attaque, c'està-dire sa signature. De nombreux langages ont été proposés, avec presque autant de mécanismes différents pour implémenter la détection. Presque tous ces langages sont dédiés à un IDS unique. Le langage de l'ids réseau Bro [148] est un vrai langage de programmation proche du C (où les signatures sont des fonctions que l'on doit programmer). Le langage RUSSEL est le langage propriétaire utilisé par l'ids système ASAX [149] dont les signatures sont exprimées sous forme de règles. Le langage STATL [137] utilisé par les IDS de la suite logicielle STAT (USTAT, NetSTAT...) permet d'écrire des signatures sous formes d'automates en donnant explicitement la liste des états et des transitions ainsi que les traitements associés à chaque état. Le langage des signatures de l'ids réseau Snort [150] permet d'exprimer des règles. Chaque règle est associée à une attaque connue et décrit les caractéristiques que doit posséder un paquet réseau pour détecter la signature. Les signatures exprimées dans le langage Sutekh [151] sont des expressions combinant des filtres d'événements à l'aide d'opérateurs de séquence et d'ordre partiel. Chaque filtre contient des contraintes sur les valeurs des champs des événements. La sémantique de Sutekh est basée sur des règles de réécriture. Les signatures exprimées dans le langage de Logweaver sont des expressions combinant des filtres d'événements à l'aide d'opérateurs de séquence, d'ordre partiel et de disjonction. La sémantique de Logweaver est basée sur des automates à états finis dont les transitions sont étiquetées par les filtres. 8.5 Les langages de corrélation d'alertes De la même façon qu'on se base sur des événements pour obtenir des alertes, les langages de corrélation d'alertes permettent de spécifier comment on peut obtenir des méta-alertes à partir d'alertes. Certaines attaques ne sont que des étapes intermédiaires d'une attaque de plus grande envergure. Un manager peut ainsi utiliser des alertes comme source de données pour obtenir des méta-alertes (alertes de plus haut-niveau). A notre connaissance, ADeLe [141], LAMBDA [140], JIGSAW [152] et CRS[153] semblent être les seules références de langages qui permettent de corréler des alertes pour détecter des attaques de plus haut-niveau. Même si dans Emerald [154] on a affaire à une certaine forme de corrélation d'alertes ; 103

104 Chapitre 8 : Les langages de description d attaques Partie N 3 elle repose sur des calculs probabilistes et ne constitue pas un vrai langage. Pour ADeLe, la corrélation entre alertes est définie explicitement par des contraintes temporelles et contextuelles. Pour LAMBDA, la corrélation est déduite automatiquement en cherchant une chaîne d'attaques élémentaires dont les post-conditions de l'une satisfont les pré-conditions de la suivante. Pour JIGSAW, la corrélation se fait comme pour LAMBDA mais se base sur une version abstraite des pré/post-conditions. Pour CRS, la corrélation est donnée explicitement à l'aide de contraintes temporelles et contextuelles entre les alertes. 8.6 Les langages de description d'alertes Les langages de description d'alertes sont utilisés pour spécifier le format des alertes remontées par les IDS. Une alerte contient toutes les données utiles sur l'attaque qui a été détectée : la source de l'attaque, la cible, le type d'attaque, éventuellement une référence aux événements qui ont permis la détection, etc.... A notre connaissance, CISL8 [155] et IDMEF9 [156] sont les seules références disponibles sur des langages de description d'alertes. CISL est maintenant abandonné au profit de IDMEF qui est en voie de standardisation auprès de l'ietf, puisqu'il vient d'être soumis à acceptation en tant que RFC. Le format IDMEF s'appuie sur le langage XML et les différents champs de l'alerte sont définis par une DTD. 8.7 Les langages de réaction Les langages de réaction sont utilisés pour exprimer les éventuelles contremesures à prendre en réaction à la détection d'une attaque. Ces contre-mesures ont pour but de minimiser les conséquences de l'attaque en stoppant l'attaque en cours, en empêchant qu'elle se reproduise ou encore en corrigeant ses effets sur le système. Les IDS actuels qui disposent de fonctions de réaction n'ont pas de véritables langages pour les exprimer, ils utilisent plutôt des librairies propriétaires qui sont liées à l'ids. En dehors de la publication sur ADeLe dans [141], nous n'avons trouvé qu'une seule autre référence traitant d'un véritable langage de réaction. Gombault et Diop proposent, dans [157], une taxonomie des actions envisagées en cas de détection d'une attaque et présentent la mise en œuvre associée. 8.8 Récapitulatif des langages Dans le tableau 8, nous dressons une liste (non exhaustive) des langages de description d'attaques qui ont été proposés. Nous avons choisi de ne pas y référencer les langages à usage général (Java, C, C++). Nous indiquons pour chaque langage dans quelle(s) classe(s) il intervient. On peut remarquer que certains des langages représentés dans le tableau couvrent plusieurs aspects à la fois. Ainsi, le langage que nous proposons, ADeLe, intervient dans cinq classes : langages d'événement, d'exploit, de détection, de corrélation d'alertes et de réaction. 104

105 Exploit Événements Détection Description d'alertes Corrélation d'alertes Réaction Langages Classes Chapitre 8 : Les langages de description d attaques Partie N 3 CASL [138] NASL [139] IDLE [142] BSM [145] Tcpdump [144] Syslog [146] Bishop [147] IDIOT RUSSEL [149] MuSigs BRO [148] Snort [150] SNP-L Sutekh [151] STATL [137] LogWeaver IDML Ga ssata CISL [155] IDMEF [156] JIGSAW [152] CRS [153] LAMBDA [140] ADeLe [141] Tab. 8 : Exemples de langages de description d'attaques (liste non exhaustive) Il existe un certain nombre de langages de détection qui sont proches de nos travaux et qui permettent de corréler plusieurs événements ou alertes (figure 27). On peut les classer suivant plusieurs critères : Selon que la signature est indépendante de l'algorithme de détection ou bien qu'elle est liée à l'algorithme (c'est-à-dire selon qu'on exprime ce que l'on cherche ou bien comment on le cherche) ; Selon qu'ils permettent de corréler des événements, des alertes ou bien les deux (même si ce point est souvent plus lié à l'implémentation qu'à une impossibilité au niveau du langage). On note ici que le langage ADeLe ainsi que le langage des Chroniques (utilisé par CRS) sont indépendants de l'algorithme et qu'ils permettent de corréler à la fois des événements et des alertes. Même si les deux langages ont des pouvoirs d'expression similaires, ADeLe est dédié à la détection 105

106 Chapitre 8 : Les langages de description d attaques Partie N 3 d'intrusions. Il nous semble que sa syntaxe le rend plus utilisable par un administrateur de sécurité parce que plus lisible et plus concise. On notera par ailleurs, qu'en dehors de ces critères, LAMBDA et ADeLe sont des langages de description d'attaques complets (c-a-d qu'ils permettent d'exprimer l'attaque du point de vue de l'attaquant et du point de vue du défenseur). D'autre part, en LAMBDA, l'enchaînement temporel des alertes peut être déduit automatiquement des propriétés des pré/post-conditions. Fig. 27 : Langages de détection par corrélation d'événements/alertes 8.9 Conclusion Dans ce chapitre, nous avons vu que pour décrire une attaque sous toutes ses faces, il fallait utiliser plusieurs langages adaptés. Vigna, Kemmerer et Eckmann ont donné une très bonne classification de ces langages pour décrire complètement une attaque, l objectif c est de détecter une attaque le plus vite possible afin de l empêcher de pénétrer dans le système informatique à sécuriser. 106

107 Chapitre 9 : Une nouvelle méthode de détection d'intrusions 107

108 Chapitre 9 : Une nouvelle méthode de détection d intrusions Partie N Problématique Au cours de ces dernières années, des progrès significatifs ont été accomplis vers l'amélioration de la sécurité des systèmes informatiques. Malheureusement, la réalité indéniable demeure pas moins que tous les systèmes informatiques sont encore vulnérables. Ces systèmes sont vulnérables aux attaques à la fois des utilisateurs non-autorisés (attaques de l'extérieur) ainsi que les attaques des utilisateurs autorisés (attaques de l intérieur) qui abusent de leurs privilèges. Dans ce chapitre, nous proposons une approche basée sur une politique de sécurité à trois niveaux pour les systèmes informatiques complexes. Chaque niveau protège le système informatique des attaques provenant de l intérieur et de l'extérieur à la fois. Cette politique de sécurité globale permettra à l'administrateur de sécurité des systèmes non seulement de détecter les attaques, mais aussi pour l'avertir à propos de cette intrusion et en interdire l'accès à l'ensemble des réseaux. 9.2 Catégories d attaques de sécurité Nous savons que la fonction principale des systèmes informatiques est de fournir des informations et des ressources aux utilisateurs. Par conséquent, il ya un flux de données échangées entre une source et une destination sur un canal. La tâche du système de sécurité est de limiter l'accès aux données et aux ressources seulement pour les parties autorisées (personnes ou processus) qui sont autorisés à les utiliser, selon les politiques de sécurité établies. Le flux normal de données ou d'informations est visé par plusieurs catégories d'attaques de sécurité [158] qui sont illustrées dans la figure 28. Interruption: le système est détruit ou devient indisponible. Il s agit d une attaque sur la disponibilité. Interception: une partie non autorisée ait accès aux données par l'écoute dans le canal. Il s agit d une attaque sur la confidentialité. Modification: les données sont non seulement interceptées, mais également modifié par un tiers non autorisé. Il s agit d une attaque sur l intégrité. Mascarade: l'attaquant fait semblant d'être une source légitime et insère ses données souhaitées. Il s agit d une attaque sur l authentification. Fig. 28 : Catégories d attaque de sécurité 108

109 Chapitre 9 : Une nouvelle méthode de détection d intrusions Partie N 3 Les quatre classes d attaques illustrées à la figure 28 violent les différentes propriétés de sécurité des systèmes informatiques qui sont la confidentialité, l intégrité, l authentification et la disponibilité. 9.3 Système de sécurité à trois niveaux Les approches traditionnelles présentées auparavant ont montré leurs insuffisances lorsqu elles protègent les systèmes informatiques, en particulier, de l'intérieur. Elles permettent de sécuriser le réseau uniquement sur son point d'entrée contre les attaques provenant du réseau externe basé sur un modèle de comportement normal ou base de données des attaques. D'où vient l'idée de chercher des solutions assurant la protection des systèmes informatiques auprès des utilisateurs non-autorisés ainsi que ceux autorisés qui abusent de leurs privilèges. La solution proposée dans le présent document consiste à mettre en place une politique de sécurité globale à trois niveaux. C est une nouvelle méthode intéressante qui offre de nouvelles techniques adéquates pour les responsables de sécurité et renforce la sécurité de réseau Niveau 1 : Stratégies de protection externe Le premier niveau de détection d'intrusions consiste à utiliser un système de détection d'intrusions bien connu en utilisant une approche classique ayant des avantages des approches susmentionnées. Il sera placé donc au sein de pare-feu pour prévenir les attaques du réseau provenant de l'extérieur en refusant les tentatives de connexion malveillantes de tiers non autorisés situés à l'extérieur. Pour notre cas, nous proposons un système de détection d'intrusions basé sur le réseau (NIDS) en utilisant une base de données des attaques [159]. Le principal avantage d'un système de détection basé sur la connaissance est qu'il produit habituellement très peu de faux positifs, sa limitation est qu'il ne peut pas détecter d'éventuelles nouvelles intrusions n existant pas dans la base de données des attaques; cet inconvénient sera amélioré dans les niveaux 2 et 3, qui vont nous aider à détecter de nouvelles attaques. L'analyse de ces attaques nous aidera à mettre à jour notre système de base de données des attaques Niveau 2 : Politiques de sécurité fonctionnelle Le deuxième niveau de détection consiste à définir des politiques de sécurité fonctionnelles, ce qui signifie que les politiques sont en fonction des tâches assignées aux utilisateurs dans l'entreprise par la segmentation du réseau en VLAN "Virtual Local Area Network» et l'utilisation des ACL "Access Control List". On aura donc: Les utilisateurs qui sont susceptibles de communiquer et de partager certaines ressources de système informatique seront mis dans le même VLAN. La passerelle des machines de différents VLAN sera configurée avec une ACL définissant la liste des actions permises aux utilisateurs qui appartenaient au même VLAN (toutes les autres actions sont interdites) ou inversement, les autres utilisateurs n'auront pas accès à ce VLAN. En outre, le VLAN permet de restreindre le champ de contamination de réseau. En effet, si un intrus a réussi la prise de contrôle sur un hôte, l'attaque sera limitée à un sous-réseau de petite taille et ne peut pas contaminer l'ensemble de réseau informatique. L'objectif principal de ce niveau est de protéger le réseau en interne des utilisateurs internes malveillants qui peuvent abuser de leurs privilèges (attaques internes) et des attaquants qui parviennent de l'extérieur et s'infiltrent dans les systèmes informatiques par l'usurpation d identité (attaques externes). 109

110 Chapitre 9 : Une nouvelle méthode de détection d intrusions Partie N Niveau 3 : Politiques de sécurité opérationnelle Le troisième niveau de détection d'intrusions consiste à la définition d'une politique de sécurité opérationnelle par un mécanisme qui corrèle les informations de la liste des contrôle d'accès physique à la société et les informations de la liste des contrôle d'accès logique aux hôtes de l'utilisateur. Cela signifie, refuser l'accès au réseau aux utilisateurs qui ne sont pas réellement opérationnels (c'est à dire ceux qui sont absents ou définitivement démissionnés) de la société à ce moment-là. Ce contrôle va empêcher l'usurpation d'identité de l'intérieur ou de l'extérieur vers le réseau informatique interne. Ces niveaux de notre système de détection d'intrusions permettent de détecter automatiquement les violations de politiques de sécurité. L'analyse du comportement du réseau informatique dans cette démarche permettra de connaître le trafic anormal provenant d'un hôte comme: Les tentatives de connexion aux serveurs de réseau par l'utilisateur qui n'est pas présent dans l'entreprise ; Les tentatives de connexion sur une machine ou sur des ressources non autorisées par des utilisateurs internes ou externes ; La détection des tentatives d'accès à un réseau informatique ou à certaines ressources par des utilisateurs non-autorisés. 9.4 Architecture générale du système proposé La figure 29 résume les étapes importantes de notre système basé sur la politique de sécurité à trois niveaux. Nous avons besoin de recueillir les journaux d événements des trois niveaux différents, alors nous pouvons les regrouper, filtrer les alertes chroniques et, enfin, on peut corréler nos données afin de réduire leurs volumes pour en faciliter l'analyse et l'optimisation de temps de traitement à la recherche de quelques intrusions. Dans le cas d'une intrusion de niveau 2 ou 3, l'administrateur peut regrouper les données ensemble afin de savoir exactement comment les événements se sont déroulés. Cette méthode est appelée "la reconstruction de l'événement» et elle est vraiment utile pour les administrateurs, car ils peuvent ainsi: Avoir une meilleure compréhension des besoins de leurs réseaux ; Identifier les faiblesses du système et améliorer les politiques de sécurité ; Prévenir l'abus de ces faiblesses par des attaquants internes et externes ; Mettre à jour la base de connaissances de niveau 1 ; Nous aider à résoudre le problème des faux positifs et négatifs, de réduire leurs nombres, et donc de réduire le nombre d'alertes et d'accélérer le traitement par la suite ; Améliorer, en permanence, les performances de notre système. 110

111 Chapitre 9 : Une nouvelle méthode de détection d intrusions Partie N 3 Fig. 29 : Architecture générale du système de sécurité à trois niveaux 9.5 Diagramme du système proposé Comme le montre le schéma de la figure 30, lorsque le trafic de paquet arrive, il passe à travers le premier niveau où l'ids est installé. Si c'est un paquet intrusif et son scénario est inclus dans la base de données IDS, le paquet sera rejeté, si ce n'est pas le cas, il passe par le deuxième niveau où nous vérifions le type de service effectué ou demandé par l'utilisateur derrière cette machine, s'il est autorisé à utiliser le service demandé ou non. S'il n'a pas le droit d'accéder à des services demandés et / ou de ressources, la demande sera rejetée et l'administrateur réseau sera notifié par une alerte pour lancer les diagnostics, si oui, le paquet passe par le troisième niveau. Dans ce niveau, nous vérifions si l'utilisateur est présent dans l'entreprise ou non. Si c est oui, l'utilisateur aura un accès complet aux services et / ou aux ressources demandées. S'il est absent, il n aura pas le droit d y accéder à distance, le paquet sera rejeté et l'administrateur du réseau sera informé par une alerte pour lancer les diagnostics. L analyse de paquet intrusif fournie à l'administrateur réseau pour déterminer l'origine de l'attaque à l'aide de la reconstruction des événements afin de souligner ce qui s'est exactement passé, et mettre en œuvre des contre-mesures pour ce nouveau type d'attaque et par la suite, mettre à jour la base de données de l IDS de premier niveau. 111

112 Chapitre 9 : Une nouvelle méthode de détection d intrusions Partie N 3 Fig. 30 : Diagramme de l algorithme de politique de sécurité à trois niveaux 9.6 Conclusion Dans ce chapitre, nous avons vu que la détection d'intrusions dans les réseaux ne vient pas pour remplacer les mécanismes traditionnels de sécurité, mais de les compléter. Nous avons fait une description des différentes étapes du système de politiques de sécurité à trois niveaux: Niveau 1: consiste à appliquer une protection extérieure. Niveau 2: consiste à mettre en place des politiques de sécurité fonctionnelle. Niveau 3: consiste à mettre en place des politiques de sécurité opérationnelle. Ces trois niveaux peuvent aider l'administrateur à prévenir l'intrusion et ainsi à implémenter des mesures proactives pour détecter une éventuelle attaque. 112

HTTPS. Sommaire : Définition A quoi sert-il? Son but Différences HTTP/HTTPS SSL Fonctionnement Le cryptage Avantage/Inconcénient Mise en oeuvre

HTTPS. Sommaire : Définition A quoi sert-il? Son but Différences HTTP/HTTPS SSL Fonctionnement Le cryptage Avantage/Inconcénient Mise en oeuvre HTTPS Sommaire : Définition A quoi sert-il? Son but Différences HTTP/HTTPS SSL Fonctionnement Le cryptage Avantage/Inconcénient Mise en oeuvre Définition HTTPS (HyperText Transfer Protocol Secure) C'est

Plus en détail

Réseaux virtuels Applications possibles :

Réseaux virtuels Applications possibles : Réseaux virtuels La mise en place d'un réseau privé virtuel permet de connecter de façon sécurisée des ordinateurs distants au travers d'une liaison non fiable (Internet), comme s'ils étaient sur le même

Plus en détail

Bibliographie. Gestion des risques

Bibliographie. Gestion des risques Sécurité des réseaux informatiques Bernard Cousin Université de Rennes 1 Sécurité des réseaux informatiques 1 Introduction Risques Attaques, services et mécanismes Les attaques Services de sécurité Mécanismes

Plus en détail

Le protocole SSH (Secure Shell)

Le protocole SSH (Secure Shell) Solution transparente pour la constitution de réseaux privés virtuels (RPV) INEO.VPN Le protocole SSH (Secure Shell) Tous droits réservés à INEOVATION. INEOVATION est une marque protégée PLAN Introduction

Plus en détail

Chapitre 4 PROTOCOLES SÉCURISÉS

Chapitre 4 PROTOCOLES SÉCURISÉS Chapitre 4 PROTOCOLES SÉCURISÉS 52 Protocoles sécurisés Inclus dans la couche application Modèle TCP/IP Pile de protocoles HTTP, SMTP, FTP, SSH, IRC, SNMP, DHCP, POP3 4 couche application HTML, MIME, ASCII

Plus en détail

Les pare-feux : concepts

Les pare-feux : concepts Les pare-feux : concepts Premier Maître Jean Baptiste FAVRE DCSIM / SDE / SIC / Audit SSI jean-baptiste.favre@marine.defense.gouv.fr CFI Juin 2005: Firewall (2) 15 mai 2005 Diapositive N 1 /19 C'est quoi

Plus en détail

Sécurité des Postes Clients

Sécurité des Postes Clients HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Sécurité des Postes Clients Table ronde CFSSI Jeudi 29 mars 2007 Benjamin

Plus en détail

PCI (Payment Card Industry) DSS (Data Security Standard )

PCI (Payment Card Industry) DSS (Data Security Standard ) PCI (Payment Card Industry) DSS (Data Security Standard ) Jean-Marc Robert Génie logiciel et des TI PCI-DSS La norme PCI (Payment Card Industry) DSS (Data Security Standard) a été développée dans le but

Plus en détail

PROBLÉMATIQUE D INTERCONNEXION DES RÉSEAUX IP

PROBLÉMATIQUE D INTERCONNEXION DES RÉSEAUX IP PREMIER MINISTRE Secrétariat général de la défense nationale Direction centrale de la sécurité des systèmes d information Sous-direction scientifique et technique Laboratoire Technologies de l Information

Plus en détail

Fiche de l'awt La sécurité informatique

Fiche de l'awt La sécurité informatique Fiche de l'awt La sécurité informatique La sécurité informatique est essentielle pour l'entreprise, particulièrement dans le contexte de l'ebusiness: définition, dangers, coûts, outils disponibles Créée

Plus en détail

THEME: Protocole OpenSSL et La Faille Heartbleed

THEME: Protocole OpenSSL et La Faille Heartbleed THEME: Protocole OpenSSL et La Faille Heartbleed Auteurs : Papa Kalidou Diop Valdiodio Ndiaye Sene Professeur: Année: 2013-2014 Mr, Gildas Guebre Plan Introduction I. Définition II. Fonctionnement III.

Plus en détail

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés. portnox Livre blanc réseau Janvier 2008 Access Layers portnox pour un contrôle amélioré des accès access layers Copyright 2008 Access Layers. Tous droits réservés. Table des matières Introduction 2 Contrôle

Plus en détail

[ Sécurisation des canaux de communication

[ Sécurisation des canaux de communication 2014 ISTA HAY RIAD FORMATRICE BENSAJJAY FATIHA OFPPT [ Sécurisation des canaux de communication Protocole IPsec] Table des matières 1. Utilisation du protocole IPsec... 2 2. Modes IPsec... 3 3. Stratégies

Plus en détail

Le rôle Serveur NPS et Protection d accès réseau

Le rôle Serveur NPS et Protection d accès réseau Le rôle Serveur NPS et Protection d accès réseau 1 Vue d'ensemble du module Installation et configuration d'un serveur NPS Configuration de clients et de serveurs RADIUS Méthodes d'authentification NPS

Plus en détail

LA SÉCURITÉ DES SYSTÈMES D'INFORMATION

LA SÉCURITÉ DES SYSTÈMES D'INFORMATION LA SÉCURITÉ DES SYSTÈMES D'INFORMATION 1. Pourquoi sécuriser son système d'information...2 2. Les objectifs en matière de sécurité....2 2.1. Les enjeux pour la sécurité...2 2.2. Définition des objectifs

Plus en détail

Firewall IDS Architecture. Assurer le contrôle des connexions au. nicolas.hernandez@univ-nantes.fr Sécurité 1

Firewall IDS Architecture. Assurer le contrôle des connexions au. nicolas.hernandez@univ-nantes.fr Sécurité 1 Sécurité Firewall IDS Architecture sécurisée d un réseau Assurer le contrôle des connexions au réseau nicolas.hernandez@univ-nantes.fr Sécurité 1 Sommaire général Mise en oeuvre d une politique de sécurité

Plus en détail

Notions de sécurités en informatique

Notions de sécurités en informatique Notions de sécurités en informatique Bonjour à tous, voici un article, vous proposant les bases de la sécurité informatique. La sécurité informatique : Vaste sujet, car en matière de sécurité informatique

Plus en détail

Réseaux. Virtual Private Network

Réseaux. Virtual Private Network Réseaux Virtual Private Network Sommaire 1. Généralités 2. Les différents types de VPN 3. Les protocoles utilisés 4. Les implémentations 2 Sommaire Généralités 3 Généralités Un VPN ou RPV (réseau privé

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

Cible de sécurité CSPN

Cible de sécurité CSPN Cible de sécurité CSPN ClearBUS Application cliente pour la communication sécurisée Version 1.12 Le 25/11/2011 Identifiant : CBUS-CS-1.12-20111125 contact@clearbus.fr tel : +33(0)485.029.634 Version 1.12

Plus en détail

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE PUBLICATION CPA-2011-102-R1 - Mai 2011 SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE Par : François Tremblay, chargé de projet au Centre de production automatisée Introduction À l

Plus en détail

Mohamed Houcine Elhdhili & Khaled Sammoud. khaled.sammoud@gmail.com. Remarque: ce document doit être complété par les notes de cours

Mohamed Houcine Elhdhili & Khaled Sammoud. khaled.sammoud@gmail.com. Remarque: ce document doit être complété par les notes de cours Cours Sécurité et cryptographie Mohamed Houcine Elhdhili & Khaled Sammoud Med_elhdhili@yahoo.eselhdhili@yahoo es khaled.sammoud@gmail.com Remarque: ce document doit être complété par les notes de cours

Plus en détail

Plan. Les pare-feux (Firewalls) Chapitre II. Introduction. Notions de base - Modèle de référence OSI : 7 couches. Introduction

Plan. Les pare-feux (Firewalls) Chapitre II. Introduction. Notions de base - Modèle de référence OSI : 7 couches. Introduction Plan Introduction Chapitre II Les pare-feux (Firewalls) Licence Appliquée en STIC L2 - option Sécurité des Réseaux Yacine DJEMAIEL ISET Com Notions de base relatives au réseau Définition d un pare-feu

Plus en détail

Symantec Discovery. Fiche technique : Inventaire et gestion des ressources

Symantec Discovery. Fiche technique : Inventaire et gestion des ressources Symantec Discovery Surveillez les ressources matérielles/logicielles et contrôlez la conformité des licences d'une infrastructure informatique multi plates-formes PRESENTATION Symantec Discovery vous aide

Plus en détail

Les principes de la sécurité

Les principes de la sécurité Les principes de la sécurité Critères fondamentaux Master 2 Professionnel Informatique 1 Introduction La sécurité informatique est un domaine vaste qui peut appréhender dans plusieurs domaines Les systèmes

Plus en détail

Architecture de référence pour la protection des données. Mercredi 21 Mars 2007

Architecture de référence pour la protection des données. Mercredi 21 Mars 2007 Architecture de référence pour la protection des données Mercredi 21 Mars 2007 Intervenants Serge Richard CISSP /IBM France 2 Introduction Sécurité des données Cadres de référence Description d une méthodologie

Plus en détail

Sensibilisation à la sécurité informatique

Sensibilisation à la sécurité informatique Sensibilisation à la sécurité informatique Michel Salomon IUT de Belfort-Montbéliard Département d informatique Michel Salomon Sécurité 1 / 25 Sensibilisation à la sécurité informatique Généralités et

Plus en détail

Glossaire. Acces Denied

Glossaire. Acces Denied Glossaire Acces Denied Littéralement, Accès refusé. Procédure en vigueur sur les espaces de discussion et permettant aux administrateurs d'interdire l'accès à une personne, en général repérée par son adresse

Plus en détail

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique Fiche Technique Cisco Secure Access Control Server Solution Engine Cisco Secure Access Control Server (ACS) est une solution réseau d identification complète qui offre à l utilisateur une expérience sécurisée

Plus en détail

Chapitre 5 : IPSec. SÉcurité et Cryptographie 2013-2014. Sup Galilée INFO3

Chapitre 5 : IPSec. SÉcurité et Cryptographie 2013-2014. Sup Galilée INFO3 Chapitre 5 : IPSec SÉcurité et Cryptographie 2013-2014 Sup Galilée INFO3 1 / 11 Sécurité des réseaux? Confidentialité : Seuls l émetteur et le récepteur légitime doivent être en mesure de comprendre le

Plus en détail

INF4420: Éléments de Sécurité Informatique

INF4420: Éléments de Sécurité Informatique : Éléments de Module III : Sécurité des réseaux informatiques José M. Fernandez D-6428 340-4711 poste 5433 Où sommes-nous? Semaine 1 Intro Semaines 2, 3 et 4 Cryptographie Semaine 6, 7 Sécurité dans les

Plus en détail

Conseils avancés. Configuration du réseau privé virtuel (VPN) SSL (Secure Sockets Layer) Pour les PME. Présentation. Principales caractéristiques

Conseils avancés. Configuration du réseau privé virtuel (VPN) SSL (Secure Sockets Layer) Pour les PME. Présentation. Principales caractéristiques Conseils avancés Configuration du réseau privé virtuel (VPN) SSL (Secure Sockets Layer) Présentation Un réseau privé virtuel Secure Sockets Layer (VPN SSL) fournit une connexion sécurisée aux ressources

Plus en détail

Présentation du référentiel PCI-DSS

Présentation du référentiel PCI-DSS Présentation du référentiel PCI-DSS Hervé Hosy herve.hosy@oppida.fr 06.03.51.96.66 Page 1 Agenda Référentiel PCI-DSS Contexte Structure du référentiel Lien avec les normes ISO 270xx 2 Contexte Page 3 Contexte

Plus en détail

Option 2 and Option 5 are correct. 1 point for each correct option. 0 points if more options are selected than required.

Option 2 and Option 5 are correct. 1 point for each correct option. 0 points if more options are selected than required. Quelles sont les deux affirmations vraies relatives à la sécurité du réseau? (Choisissez deux réponses.) Protéger un réseau contre les attaques internes constitue une priorité moins élevée car les employés

Plus en détail

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

THEGREENBOW FIREWALL DISTRIBUE TGB::BOB! Pro. Spécifications techniques THEGREENBOW FIREWALL DISTRIBUE TGB::! Pro Spécifications techniques SISTECH SA THEGREENBOW 28 rue de Caumartin 75009 Paris Tel.: 01.43.12.39.37 Fax.:01.43.12.55.44 E-mail: info@thegreenbow.fr Web: www.thegreenbow.fr

Plus en détail

Xposé logiciel, système et réseau. Le tunneling. Xposé système et réseau Yannick Lambruschi

Xposé logiciel, système et réseau. Le tunneling. Xposé système et réseau Yannick Lambruschi Xposé logiciel, système et réseau Le tunneling _ 2 Le tunneling est un outil de plus en plus sollicité Solutions réseau Solutions logiciel Sécurité Insécurité _ 3 Les choses que nous allons aborder Le

Plus en détail

Plan [ Mécanismes de sécurité aux réseaux wlan]

Plan [ Mécanismes de sécurité aux réseaux wlan] Plan [ wlan] - Introduction - Pourquoi on a besoin des Wlan - 802.11 présentation et architecture - Protocoles - Sécurité dans 802.11b - Failles de sécurité - Outils d attaques - Solutions - Conclusion

Plus en détail

DSCG : UE5 - Management des Systèmes d'information CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2

DSCG : UE5 - Management des Systèmes d'information CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2 Table des matières CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2 COMMUTATEUR... 2 ROUTEUR... 2 FIREWALL... 2 VLAN... 2 Types de VLAN :...2 Intérêt des VLAN...3 VPN... 3 DMZ... 3 DECT... 3 DATACENTER...

Plus en détail

Référentiel Général de Sécurité. version 2.0. Annexe A1

Référentiel Général de Sécurité. version 2.0. Annexe A1 Premier ministre Agence nationale de la sécurité des systèmes d information (ANSSI) Secrétariat général pour la modernisation de l action publique (SGMAP) Référentiel Général de Sécurité version 2.0 Annexe

Plus en détail

Comment votre PC peut-il être piraté sur Internet?

Comment votre PC peut-il être piraté sur Internet? Edited By BIANCHI Lorenzo A.C.S2013SERVICES INFORMATIQUE 2014 Comment votre PC peut-il être piraté sur Internet? Comment votre PC peut-il être piraté sur Internet? Toujours le fait de personnes malveillantes,

Plus en détail

Conception d'une architecture commutée. Master 2 Professionnel STIC-Informatique 1

Conception d'une architecture commutée. Master 2 Professionnel STIC-Informatique 1 Conception d'une architecture commutée Master 2 Professionnel STIC-Informatique 1 Conception d'une architecture commutée Définition Master 2 Professionnel STIC-Informatique 2 Motivations L'architecture

Plus en détail

PACK SKeeper. Descriptif du Pack SKeeper : Equipements

PACK SKeeper. Descriptif du Pack SKeeper : Equipements PACK SKeeper Destinée aux entreprises et aux organisations de taille moyenne ( 50 à 500 users ) fortement utilisatrices des technologies de l'information (messagerie, site web, Intranet, Extranet,...)

Plus en détail

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible USERGATE PROXY & FIREWALL Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible ÉVENTAIL DES UTILISATIONS Internet représente une part significative des affaires

Plus en détail

Pare-feu. 2. Zone Démilitarisée (DMZ) 1. Qu'est-ce qu'un pare-feu?

Pare-feu. 2. Zone Démilitarisée (DMZ) 1. Qu'est-ce qu'un pare-feu? Pare-feu Chaque ordinateur connecté à Internet (et d'une manière plus générale à n'importe quel réseau) est susceptible d'être victime d'une intrusion pouvant compromettre l'intégrité du système ou bien

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et l'anglais. L'étudiant a le choix entre deux filières

Plus en détail

État Réalisé En cours Planifié

État Réalisé En cours Planifié 1) Disposer d'une cartographie précise de l installation informatique et la maintenir à jour. 1.1) Établir la liste des briques matérielles et logicielles utilisées. 1.2) Établir un schéma d'architecture

Plus en détail

Serveur(s) / Serveur d'applications : Linux Debian

Serveur(s) / Serveur d'applications : Linux Debian (s) / d'applications : Linux Debian On appelle généralement un serveur la machine qui permet l'organisation et la gestion du parc informatique de l'entreprise. Le choix du serveur est important, c'est

Plus en détail

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks) Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks) TODARO Cédric Table des matières 1 De quoi s agit-il? 3 1.1 Introduction........................................... 3 1.2 Avantages............................................

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès )

Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès ) Guides des bonnes pratiques de sécurité informatique pour une STA ( Solution Technique d'accès ) Sommaire 1. Protection de son matériel et de ses données Création d'un utilisateur avec mot de passe compliqué

Plus en détail

Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web

Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web Fiche technique: Sécurité des terminaux Protection éprouvée pour les terminaux, la messagerie et les environnements Web Présentation permet de créer un environnement (terminaux, messagerie et Web) protégé

Plus en détail

Gestion des utilisateurs et Entreprise Etendue

Gestion des utilisateurs et Entreprise Etendue Gestion des utilisateurs et Entreprise Etendue Laurent Ruyssen 6 rue Beaubourg - 75004 PARIS T 1 44 59 93 00 F 1 44 59 93 09 yphise@yphise.com - http://yphise.fr GUEE0009-1 Agenda Entreprise Etendue Mission

Plus en détail

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible ÉVENTAIL DES UTILISATIONS Internet représente une part significative des affaires aujourd'hui. L'utilisation

Plus en détail

Exigences de contrôle pour les fournisseurs externes

Exigences de contrôle pour les fournisseurs externes Exigences de contrôle pour les fournisseurs externes Cybersécurité Pour les fournisseurs à cyber-risque faible Exigences de cybersécurité 1. Protection des actifs et configuration des systèmes Les données

Plus en détail

Sujet 2 : Interconnexion de réseaux IP (routeurs CISCO). Sujet 3 : Implémentation d un serveur VPN avec OpenVPN.

Sujet 2 : Interconnexion de réseaux IP (routeurs CISCO). Sujet 3 : Implémentation d un serveur VPN avec OpenVPN. UFC CENTRE DE BAB EZZOUAR EXEMPLES DE SUJETS POUR LE PROJET DE FIN D ETUDE OPSIE PROPOSES PAR M. NACEF (ENSEIGNANT) Sujet 1 : Management des risques par la méthode MEHARI. Type : étude, audit. MEHARI est

Plus en détail

PACK SKeeper Multi = 1 SKeeper et des SKubes

PACK SKeeper Multi = 1 SKeeper et des SKubes PACK SKeeper Multi = 1 SKeeper et des SKubes De plus en plus, les entreprises ont besoin de communiquer en toute sécurité avec leurs itinérants, leurs agences et leurs clients via Internet. Grâce au Pack

Plus en détail

Politique sur l utilisation à distance d un réseau privé virtuel (VPN)

Politique sur l utilisation à distance d un réseau privé virtuel (VPN) Politique sur l utilisation à distance d un réseau privé virtuel (VPN) 1.0 Objectif de la politique L objectif de la politique est de définir un standard pour accéder à distance aux systèmes de gestion

Plus en détail

titre : ssh - utilisation Système : CentOS 5.7 Technologie : ssh Auteur : Charles-Alban BENEZECH

titre : ssh - utilisation Système : CentOS 5.7 Technologie : ssh Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto Secure SHell - utilisation Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : ssh - utilisation Système : CentOS 5.7 Technologie : ssh Auteur : Charles-Alban BENEZECH

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11933-X

Groupe Eyrolles, 2006, ISBN : 2-212-11933-X Groupe Eyrolles, 2006, ISBN : 2-212-11933-X Table des matières Introduction... V CHAPITRE 1 Introduction à SSL VPN... 1 Une histoire d Internet.............................................. 3 Le modèle

Plus en détail

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org Objectives Comprendre les concepts de base d Active

Plus en détail

Solutions de sécurité

Solutions de sécurité Solutions de sécurité Connectivité Datacenter Applications et Contenus Votre équipe commerciale JUNIPER NETWORKS dédiée tél. +33(0) 1 41 85 15 81 pole.juniper@westconsecurity.fr www.westconsecurity.fr

Plus en détail

Projet de Veille Technologique : la sécurité informatique - Chaînes de Confiance sur Internet -

Projet de Veille Technologique : la sécurité informatique - Chaînes de Confiance sur Internet - Projet de Veille Technologique : la sécurité informatique - Chaînes de Confiance sur Internet - Marc Tremsal Alexandre Languillat Table des matières INTRODUCTION... 3 DEFI-REPONSE... 4 CRYPTOGRAPHIE SYMETRIQUE...

Plus en détail

Payment Card Industry (PCI) Normes en matière de sécurité des données

Payment Card Industry (PCI) Normes en matière de sécurité des données Payment Card Industry (PCI) Normes en matière de sécurité des données Procédures de balayage de sécurité Version 1.1 Date de publication : septembre 2006 Table des matières Niveau 5... 6 Niveau 4... 6

Plus en détail

COURS DE FORMATION Dans le cadre du " Réseau des Centres d'excellence"

COURS DE FORMATION Dans le cadre du  Réseau des Centres d'excellence COURS DE FORMATION Dans le cadre du " Réseau des Centres d'excellence" Tunis Tunisie du 28 Septembre au 09 Octobre 2009 Organisé par: la Conférence des Nations Unies sur le Commerce et le Développement

Plus en détail

INTRANET - SECURITE. 2. La Sécurité

INTRANET - SECURITE. 2. La Sécurité INTRANET - SECURITE 1. Intranet et Extranet 2. La Sécurité INTRANET Un intranet est un ensemble de services internet (par exemple un serveur e web) internes nes à un réseau local, c'est-à-dire accessibles

Plus en détail

FICHE N 10 SÉCURITÉ DES DONNÉES

FICHE N 10 SÉCURITÉ DES DONNÉES L article 34 de la loi «Informatique et Libertés» impose à un responsable de traitement de prendre toutes les précautions utiles pour préserver la sécurité des données dont il est responsable, en fonction

Plus en détail

Compréhension de l'utilité d'ipsec et analyse de trame internet

Compréhension de l'utilité d'ipsec et analyse de trame internet Compréhension de l'utilité d'ipsec et analyse de trame internet 1 Environnement Vous disposez d'une machine virtuelle (VirtualBox) sur laquelle est installée Trisquel (GNU/Linux basé sur Ubuntu). Vous

Plus en détail

SÉCURISEZ LE TRAITEMENT DES PAIEMENTS AVEC KASPERSKY FRAUD PREVENTION. #EnterpriseSec http://www.kaspersky.com/fr/entreprise-securite-it/

SÉCURISEZ LE TRAITEMENT DES PAIEMENTS AVEC KASPERSKY FRAUD PREVENTION. #EnterpriseSec http://www.kaspersky.com/fr/entreprise-securite-it/ SÉCURISEZ LE TRAITEMENT DES PAIEMENTS AVEC KASPERSKY FRAUD PREVENTION #EnterpriseSec http://www.kaspersky.com/fr/entreprise-securite-it/ Aujourd'hui, les clients des banques peuvent effectuer la plupart

Plus en détail

Gestion des risques importants

Gestion des risques importants étude de cas Gestion des risques importants Modélisation du risque et simulation d'attaque Société Une grande organisation financière (union nationale de crédits fédéraux) a mis en œuvre les solutions

Plus en détail

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

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation Objectif : Tout administrateur système et réseau souhaitant avoir une vision d'ensemble des problèmes de sécurité informatique et des solutions existantes dans l'environnement Linux. Prérequis : Connaissance

Plus en détail

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN Les Réseaux Privés Virtuels (VPN) 1 Définition d'un VPN Un VPN est un réseau privé qui utilise un réseau publique comme backbone Seuls les utilisateurs ou les groupes qui sont enregistrés dans ce vpn peuvent

Plus en détail

Cryptographie Échanges de données sécurisés

Cryptographie Échanges de données sécurisés Cryptographie Échanges de données sécurisés Différents niveaux d'intégration dans l'organisation du réseau TCP/IP Au niveau 3 (couche réseau chargée de l'envoi des datagrammes IP) : IPSec Au niveau 4 (couche

Plus en détail

Projet : PcAnywhere et Le contrôle à distance.

Projet : PcAnywhere et Le contrôle à distance. Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5

Plus en détail

Enjeux de la sécurité des réseaux

Enjeux de la sécurité des réseaux HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Enjeux de la sécurité des réseaux Séminaire Inkra Networks 14 octobre

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

IPSEC ACCÈS DISTANT. Jean-Jacques Puig Institut National des Télécoms jean-jacques.puig@int-evry.fr

IPSEC ACCÈS DISTANT. Jean-Jacques Puig Institut National des Télécoms jean-jacques.puig@int-evry.fr IPSEC & ACCÈS DISTANT Jean-Jacques Puig Institut National des Télécoms jean-jacques.puig@int-evry.fr IPSEC ET ACCÈS DISTANT 1 Les Mécanismes d'ipsec 2 Scénarios d'accès Distants 3 Intégration des Serveurs

Plus en détail

Relever les défis actuels du BYOD

Relever les défis actuels du BYOD Brochure Relever les défis actuels du BYOD HP Intelligent Management Center pour les solutions BYOD Qui êtes-vous? Votre périphérique est-il compatible? Assignation aux réseaux d'applications virtuels

Plus en détail

IDS snort. Rémi JACHNIEWICZ et Romain GEGOUT 6 décembre 2008

IDS snort. Rémi JACHNIEWICZ et Romain GEGOUT 6 décembre 2008 IDS snort Rémi JACHNIEWICZ et Romain GEGOUT 6 décembre 2008 1 Table des matières 1 Les différents IDS 3 1.1 Les NIDS (Network IDS ou IDS Réseau)..................... 3 1.2 Les HIDS (Host IDS ou IDS Machine)......................

Plus en détail

Conformité PCI DSS. Réduire les risques en gérant les identités et les accès. white paper

Conformité PCI DSS. Réduire les risques en gérant les identités et les accès. white paper Conformité PCI DSS Réduire les risques en gérant les identités et les accès Ce livre blanc explique comment la suite IAM d Evidian peut vous aider à vous conformer aux exigences PCI DSS. white paper 39

Plus en détail

Sécurité informatique des PME

Sécurité informatique des PME Sécurité informatique des PME Dominique PRESENT I.U.T. de Marne la Vallée Trois principaux risques menacent la PME Aujourd hui, les pannes des systèmes d information coûtent cher aux entreprises. Exemple

Plus en détail

Sécurisation du réseau

Sécurisation du réseau Sécurisation du réseau La sécurisation du réseau d entreprise est également une étape primordiale à la sécurisation générale de votre infrastructure. Cette partie a pour but de présenter les fonctionnalités

Plus en détail

PROJET III 2000/2001 ARCHITECTURE D'UN SITE INTERNET

PROJET III 2000/2001 ARCHITECTURE D'UN SITE INTERNET PROJET III 2000/2001 ARCHITECTURE D'UN SITE INTERNET F.-Y. VILLEMIN CNAM-CEDRIC PLAN 1. Sécurité 2. Attaques 3. Architecture 4. Garde-barrière (Firewall) 5. Cryptographie 6. SSL 7. Signature électronique

Plus en détail

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. TD réseau - Réseau : interconnexion de réseau Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. Un réseau de grande importance ne peut pas seulement reposer sur du matériel

Plus en détail

La sécurité informatique dans la petite entreprise Etat de l'art et Bonnes Pratiques (2ième édition)

La sécurité informatique dans la petite entreprise Etat de l'art et Bonnes Pratiques (2ième édition) Généralités sur la sécurité informatique 1. Introduction 13 2. Les domaines et normes associés 16 2.1 Les bonnes pratiques ITIL V3 16 2.1.1 Stratégie des services - Service Strategy 17 2.1.2 Conception

Plus en détail

Symantec Network Access Control

Symantec Network Access Control Symantec Network Access Control Conformité totale des terminaux Présentation est une solution de contrôle d'accès complète et globale qui permet de contrôler de manière efficace et sûre l'accès aux réseaux

Plus en détail

Prise en mains du dispositif ENR - 1/12 Sites de gestion du serveur, Intranet

Prise en mains du dispositif ENR - 1/12 Sites de gestion du serveur, Intranet Système clients serveur Kwartz 1 - Site de gestion du serveur : Kwartz~control L accès au Kwartz~control est réservé aux personnes possédant quelques connaissances en informatique. Le simple fait d entrer

Plus en détail

INF4420: Éléments de Sécurité Informatique

INF4420: Éléments de Sécurité Informatique : Éléments de Module III : Sécurité des réseaux informatiques José M. Fernandez D-6428 340-4711 poste 5433 Où sommes-nous? Semaine 1 Intro Semaines 2, 3 et 4 Cryptographie Semaine 6, 7 Sécurité dans les

Plus en détail

Les VPN. Plan. Présentation des VPN VPN de niveau 3 (IPsec) VPN de niveau 2 PPTP GRE (PPP) Conclusion VLAN. Bernard Cousin. Virtual Private Network 2

Les VPN. Plan. Présentation des VPN VPN de niveau 3 (IPsec) VPN de niveau 2 PPTP GRE (PPP) Conclusion VLAN. Bernard Cousin. Virtual Private Network 2 Les VPN Bernard Cousin Plan Présentation des VPN VPN de niveau 3 (IPsec) VPN de niveau 2 PPTP GRE (PPP) Conclusion VLAN Virtual Private Network 2 1 Rôle des VPN Un "Virtual Private Network" : Réseau :

Plus en détail

Formation A2IMP. Acquisition d information sur les autres équipements du réseau. Frédéric Bongat IPSL Formation A2IMP 1

Formation A2IMP. Acquisition d information sur les autres équipements du réseau. Frédéric Bongat IPSL Formation A2IMP 1 Formation A2IMP Acquisition d information sur les autres Frédéric Bongat IPSL Formation A2IMP 1 Idée : corréler des informations via d autres Informations de base Connaître l horodatage (date, heure) des

Plus en détail

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203 mailto://alexis.lechervy@unicaen.fr

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203 mailto://alexis.lechervy@unicaen.fr M1 Informatique Réseaux Filtrage Bureau S3-203 mailto://alexis.lechervy@unicaen.fr Sécurité - introduction Au départ, très peu de sécurité dans les accès réseaux (mots de passe, voyageant en clair) Avec

Plus en détail

INTRODUCTION A LA SECURITE DES RESEAUX

INTRODUCTION A LA SECURITE DES RESEAUX INTRODUCTION A LA SECURITE DES RESEAUX OBJECTIFS de la SECURITE des DONNEES (relativement à des personnes non autorisées) Confidentielles-ne doivent pas être lues Permanentes-ne doivent pas être altérées

Plus en détail

z Fiche d identité produit

z Fiche d identité produit z Fiche d identité produit Référence DFL-860 Désignation Firewall UTM NETDEFEND 860 Clientèle cible PME comptant jusqu à 150 utilisateurs Accroche marketing Le firewall UTM DFL-860 est une solution tout-en-un

Plus en détail

Chapitre 1: Prise en main...3

Chapitre 1: Prise en main...3 F-Secure Anti-Virus for Mac 2014 Sommaire 2 Sommaire Chapitre 1: Prise en main...3 1.1 Que faire après l'installation...4 1.1.1 Gestion des abonnements...4 1.1.2 Ouvrir le produit...4 1.2 Comment m'assurer

Plus en détail

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

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln. MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.fr Plan Introduction Généralités sur les systèmes de détection d intrusion

Plus en détail

Conception d'une architecture commutée. F. Nolot Master 2 Professionnel STIC-Informatique 1

Conception d'une architecture commutée. F. Nolot Master 2 Professionnel STIC-Informatique 1 Conception d'une architecture commutée Master 2 Professionnel STIC-Informatique 1 Conception d'une architecture commutée Définition Master 2 Professionnel STIC-Informatique 2 Définition AVVID? Architecture

Plus en détail