Conception et vérification de la cohérence d'une politique de sécurité dans un réseau local( Télécharger le fichier original )par Carine Arlette FOTSO TAGNE Université de Yaoundé 1 - Master 2 2013 |
3.4 Propriétés du modèleTout comme les autres modèles, le modèle ci-dessus vise à assurer une protection efficace des ressources du point de vue du contrôle d'accès. Il a tout de même certaines caractéristiques qui le différencient des autres langages et techniques de modélisation : ~ Pour analyser une politique de sécurité, ses règles doivent suivre le format du modèle OrBAC et elles doivent être conçues de manière graphique en utilisant UML. ~ Les liens entre les classes sont orientés, c'est-à-dire que pour la construction de nos règles, les liens entre les packages sont représentés de Org vers Rôles, de Rôles vers Activité, de Activité vers Vue et de Vue vers Contexte. ~ Il existe une très forte dépendance entre nos activités. 18 ~ Il est flexible, extensible, interopérable et évolutif car il offre la possibilité d'ajouter, supprimer ou modifier des fonctions, et même d'intégrer d'autres modules. ~ Il a une architecture modulaire. 4 Implémentation et Résultats L'évaluation des prédicats se fera avec Prolog. Dans Prolog, les prédicats servent à qualifier les objets ou données du problème et à décrire les relations dans lesquelles ils sont impliqués. Ces données représentent en effet des faits qu'on considère vrais et les relations sont en fait les règles. Notre modèle permet de produire les règles nécessaires à Prolog, mais la production des faits requiert une bonne connaissance de la structure de l'organisation et de ses composants. Cette tâche est laissée à la charge de l'administrateur réseau qui définit la politique de sécurité. 4.1 Implémentation de notre modèleDOM4J 13 est une API Open Source Java permettant de travailler avec XML. Nous l'avons utilisé parce qu'il permet de parcourir et manipuler (ajouter, modifier, supprimer, . . . ) les données XML. Cette bibliothèque est compatible avec les standards DOM, SAX et JAXP. DOM4J permet de modéliser un fichier XML comme un arbre. Cette structure arborescente permet ainsi, d'accéder aux noeuds du document XML avec des instructions comme nextchild(). Pour chaque noeud, on peut récupérer ses fils dans une liste, lire et modifier ses attributs. Les prédicats générés sont évalués à partir d'une plateforme java qui intègre Prolog: JIProlog. JIProlog (Java Internet Prolog) est un Prolog interprète mis en oeuvre en Java qui possède un IDE pour éditer et tester le code Prolog. Acronyme de programmation logique, Prolog est un langage d'expression des connaissances basé sur la déclaration des relations existantes entre différentes entités et sur le calcul des prédicats de premier ordre. C'est l'utilisateur qui définit cette base de connaissances et l'interpréteur Prolog l'utilise pour répondre aux questions. En effet, la structure de prolog impose que l'on produise les règles et les faits pour l'évaluation d'une politique. Les faits sont des données élémentaires ou des formules atomiques constituées du nom d'un prédicat suivi entre parenthèse d'une liste ordonnée d'arguments qui sont les objets du problème qu'on considère vrais. EX : "Les hôtes privés de Org ont la permission d'accéder et naviguer sur Internet" se traduit par : Machine A (chatter, facebk). Les règles par contre sont des relations qui permettent d'établir de nouveaux faits par déduction à partir des hypothèses. EX : si on a : 13. DOM4J : Document Object Model, API Java permettant de manipuler des données XML de manière plus simple. http :// dom4j.org 19 AI(X) : X a la permission d'accéder sur Internet NI(X) : X a la permission de naviguer sur Internet Hp(X) : X est un hôte privé la relation : "Les hôtes privés de Org ont la permission d'accéder et naviguer sur Internet" se traduit en Prolog par la règle Hp(X) :- AI(X) , NI(X). Ainsi, pour déterminer si un ensemble de règles ou une politique est appliqué pour une requête donnée, il faut vérifier si cette dernière correspond aux cibles. Un programme Prolog peut être constitué d'un ou de plusieurs fait(s) au moins, car c'est à partir de lui (d'eux) que Prolog va pouvoir rechercher des preuves pour répondre aux requêtes de l'utilisateur. Ainsi, un programme Prolog prendra en entrée un ensemble de règles et de faits et produira en sortie l'expression "true" ou l'expression "fail". Le simulateur ci-dessus nous a permis de générer les règles que nous allons fournir à Prolog, nous devons donc produire des faits (qui constituera notre test) qui nous permettront de valider la politique. C'est donc de ces faits que nous introduisons les autorisations concrètes. |
|