1.16k likes | 1.39k Views
MAC Mandatory Access Control Contrôle d’accès obligatoire. Luigi.Logrippo@uqo.ca. Pourquoi MAC. Dans les organisations, il existe normalement des ressources qui doivent être administrées par le gérant du système selon des politiques qui échappent à l’usager
E N D
MACMandatory Access ControlContrôle d’accès obligatoire Luigi.Logrippo@uqo.ca INF6153
Pourquoi MAC • Dans les organisations, il existe normalement des ressources qui doivent être administrées par le gérant du système selon des politiques qui échappent à l’usager • Autrement dit, le système en est le propriétaire et impose des règles d’utilisation rigides • Le but principal des systèmes MAC est de protéger l’information • Accès et intégrité • Ce but est obtenu en limitant les droits des usagers sur les objets qui contiennent les informations • Noter la différence entre protéger l’information et protéger les objets contenant l’information • La protection de l’information implique le contrôle de flux de l’information dans l’organisation • Ces modèles ne se préoccupent pas explicitement des droits d’exécution INF6153
Exemples de MAC • Bell-LaPadula • Biba • Multi-level Access Control (MLS) • Lattice-Based Access Control • Muraille de Chine • Plusieurs autres … INF6153
Bell-La Padula (BLP) INF6153
Premier exemple Marc travaille sur un projet A1 Anne travaille sur un projet A2 Aucune information ne peut circuler A1A2 Quelles seraient les règles pour ceci? Marc Fichier de Marc Projet A1 Barrière Anne Fichier de Anne Projet A2 INF6153 INF6153
Règle simple Marc Fichier de Marc • Les participants du projet A2 ne peuvent pas lire les fichiers du projet A1 • Suffisante? Projet A1 / Barrière Anne Fichier de Anne Projet A2 INF6153
Règle * • Les participants du projet A1ne peuvent pas écrire dans les fichiers du projet A2 Marc Fichier de Marc Projet A1 / Barrière / Anne Fichier de Anne Projet A2 INF6153
Bell-LaPadula: motivation • Dans un environnement hiérarchique, p.ex. militaire • Les supérieurs peuvent s’informer au sujet des inférieurs, pas le contraire • Les inférieurs peuvent informer les supérieurs, • Personne ne peut divulguer à des niveaux inférieurs les informations acquises • Autrement dit, l’information peut être transférée seulement vers l’haut de la hiérarchie INF6153
Bell-LaPadula: besoins • Hypothèse: • Nous avons un ensemble ordonné de niveaux de permission • P.ex. de soldat (bas) à général (élévé) • Nous avons des informations qui sont plus ou moins ‘délicates’ • Besoin • Les informations peuvent être transférées des niveaux bas vers les niveaux plus élevés, mais pas dans le sens contraire INF6153
Implémentation • Pour contrôler le flux de l’information, nous contrôlerons le mouvement des fichiers (objets) qui les contiennent • Les opérations de lecture ou écriture qui transfèrent les informations vers l’haut sont permises • Les opérations de lecture ou écriture qui transfèrent les informations vers le bas ne sont pas permises INF6153
Implémentation:Niveaux de sujets et objets • Les sujets sont classés par Niveau d’autorisation • Les objets sont classés par Niveau de sensitivité • Pour simplicité, nous ferons l’hypothèse qu’il y ait une correspondance 1-1 entre ces deux niveaux, nous les appellerons niveaux de sécurité: • P.ex. • Très secret = Général • Secret = Colonel • Confidentiel = Capitaine • Public = Major INF6153
Généralisation • La correspondance 1à 1des niveaux d’autorisation et de sensitivité n’est pas nécessaire • On pourrait avoir un niveau d’autorisation qui correspond à plusieurs niveaux de sensitivité ou le converse • Cependant le modèle reste essentiellement le même donc nous ne parlerons pas de ces cas INF6153
Propriétés • (Propriété simple, lecture) Read down, No read up • Un sujet à un niveau peut lire un objet ssi le niveau de l’objet est inférieur ou égal au niveau du sujet • Suffisant? INF6153
Propriétés ou règles • (Propriété simple, lecture) Read down, No read up • Un sujet à un niveau peut lire un objet ssi le niveau de l’objet est inférieur ou égal au niveau du sujet • Cette propriété n’est pas suffisante pour limiter la diffusion des informations! • (Propriété *, écriture) Write up, No write down • Un sujet à un niveau peut écrire sur un objet ssi le niveau de l’objet est supérieur ou égal au niveau du sujet • Car il faut empêcher à un usager de déclassifier les informations en recopiant les objets qui les contiennent à des niveaux inférieurs Propriété est une terminologie très utilisée, mais selon moi erronée INF6153
Graphiquement Propriété simple Propriété * Top Secret Top Secret Secret Secret Confidentiel Confidentiel Ne pas écrire en bas Ne pas lire en haut Dessins de Sofiene Boulares INF6153
Exemple • À quels niveaux peut lire Kamel? • À quels niveaux peut-il écrire? INF6153
Exemple • Kamel peut lire au niveaux Secret, Confidentiel, Public • Il peut écrire aux niveaux Secret et Très secret • S’il pouvait écrire au niveau Public il pourrait copier des fichiers du niveau Secret au niveau Public, etc. • Déclassant donc ces fichiers et les infos y contenues INF6153
Tableau de contrôle d’accès P < C < S < TS INF6153
Propriété globale • Par un simple raisonnement inductif, on voit donc que la propriété globale suivante est préservée: • Aucun usager ne peut arriver à lire des informations qui sont à un niveau supérieur à son niveau d’autorisation • Base: par définition, ceci n’est pas possible au début • Pas d’induction: on voit que, étant donné que après n opérations la propriété est préservée, donc elle sera préservée après n+1 opérations car: • Ceci est évident dans le cas où l’opération n+1 est une opération de lecture (aucun changement dans les droits d’accès) • Si l’opération n+1 est une opération d’écriture, elle ne pourra que déplacer un fichier vers un niveau égal ou supérieur, donc la propriété est préservée INF6153
Séparation entre objets et informations • Pour bien comprendre BLP, il est nécessaire d’insister sur la distinction entre • Information et • Objets, ou fichiers, qui contiennent l’information • Il a été nécessaire d’introduire le concept de niveau de sensitivité des informations, qui reste inchangé malgré que le niveau de sensitivité de leurs contenants, les fichiers, change si on les recopie à des niveaux différents • Au lieu, on peut confondre la distinction entre sujets et objets • On se concentre donc sur le flux d’information entre niveaux de sécurité • Car les sujets peuvent lire et écrire dans les objets de leurs niveaux • L’information est protégée en forçant un certain flux • Du bas à l’haut • Ce flux est forcé en limitant ce que les sujets aux différents niveaux peuvent faire avec les objets-fichiers INF6153
Exercice: Cheval de Troie • Revenir à l’exemple du Cheval de Troie du cours précédent et voir pourquoi les chevaux de Troie ne sont pas possibles dans BLP INF6153
BLP Extension 1(pour permettre la transmission en bas) • La prohibition d’écrire à un niveau inférieur ne permet pas la transmission des ordres! • Pour ce faire, un usager peut décrémenter son niveau à un niveau inférieur • Il peut donc avoir un niveau maximal • Et un niveau courant • P.ex. un colonel peut descendre au niveau d’un sergent pour (et seulement pour) donner des ordres à un sergent ou à niveau entre sergent et colonel • Il faut supposer qu’il n’en profitera pas pour répandre des autres informations … • Concept de sujet fiable = trustedsubject INF6153
BLP extension 2(Pour limiter les droit d’accès à certains types d’info) • Pour mieux implémenter le critère de ‘besoin de savoir’ on a dans BLP des catégories d’informations dans chaque niveau • P.ex. dans l’ensemble des fichiers d’une organisation on peut avoir: • Fichiers ‘Nucléaire’, ‘Europe’, ‘Asie’ etc. • En plus d’avoir des niveaux de sensitivité et d’autorisation, les usagers et les objets appartiennent aussi à des catégories d’informations • Les catégories traversent les niveaux • Contrainte additionnelle: un sujet ne peut accéder qu’à des fichiers dans sa propre catégorie: • partition des données • à travers tous les niveaux de sécurité Nuc Etc. Eur Asie INF6153
Modèles Treillis LatticeModels INF6153
Treillis de catégories d’informations • Les informations peuvent être structurées, et un sujet peut avoir accès à des sous-ensembles de catégories • Ceci conduit à un modèle plus complexe INF6153
Exemple • Marie: (TopSecret {NUC, EUR, ASI}) • Jean: (Secret, {NUC, ASI } ) • Tom: (Confidential, {EUR, ASI } ) • Marie a plus de droit d’accès que Jean ou Tom, • Jean a plus de droits d’accès que Tom aux objets dans la catégorie ASI, • Cependant Tom a des droits d’accès dans la catégorie EUR, que Jean ne peut pas toucher Marie Jean Tom INF6153
Rélation dom • (A,C) dom (A,C) ssi A≤ A et C C • Exemples • (Top Secret, {NUC, ASI}) dom (Secret, {NUC}) • (Secret, {NUC, EUR}) dom (Confidential,{NUC, EUR}) • (Secret, {NUC, EUR}) dom (Secret, {NUC}) • (Top Secret, {NUC}) dom (Confidential, {EUR}) INF6153
Propriétés simple et * avec dom • Simple: Un Sujet peut lire un Objet ssi Sujet dom Objet • * : Un sujet peut écrire un Objet ssi Objet dom Sujet INF6153
Ensembles partiellement ordonnés • Un ensemble partiellement ordonné (L,R) est un ensemble L muni d’une rélation R qui est réfléxive, antysimétrique et transitive • Les rélations ≤ et sont de ce type • La rélation dom l’est aussi Réfléxive: pour tout a, aRa Antisimétrique: aRb et bRa implique a=b Transitive: aRb et bRc implique aRc INF6153
Treillis • Un treillis est un ensemble partiellement ordonné (L, ≤) qui satisfait aux conditions suivantes: • Pour n’importe quel paire d’éléments (a,b) ∈ LxL il existe • Un élément c tel que a≤c et b≤c (borne supérieure) • Cet élément c sera écrit a⊕b • Un élément d tel que d≤a et d≤c (borne inférieure) • Cet élément sera écrit ⊗ • Par conséquence, un ensemble partiellement ordonné a • Un ‘plus grand élément’, borne supérieure de tous • Un ‘plus petit ‘élément’, borne inférieure de tous INF6153
Treillis pour l’exemple précédent: catégories • L’ensemble de tous les sous-ensembles des catégories précédentes forme un treillis pour la rélation dom: NUC, EUR, US EUR, US NUC, EUR NUC, US NUC EUR US ∅ INF6153
Treillis pour l’exemple précédent: Niveaux de sécurité TopSecret ≥ Secret ≥ Confidential INF6153
Treillis global • Le treillis global pour notre exemple est le produit des deux treillis précédents • Le produit de deux treillis est un treillis, donc le treillis global sera aussi un treillis • Le ‘plus grand élément’ de ce treillis est: • (TopSecret, {NUC, EUR, US}) (l’usager qui a accès à tout) • Le ‘plus petit élément’ est: • (Confidential, ∅) (l’usager qui n’a accès à rien) • Le treillis a 3x8=24 éléments: • Exercice: Énumérez-les! • Ce treillis montre la direction du transfert de l’information dans l’organisation concernée INF6153
Autre exemple people.sabanciuniv.edu/levi/cs432/AccessControl.ppt INF6153
Et encore … • Comme nous avons des modèles dans lesquels il n’y a que des niveaux de sécurité • Une seule classe • Nous pouvons aussi avoir des modèles où il n’y a que des classes • Un seul niveau de sécurité INF6153
Propriété simple et propriété* • Pour tous les modèles MAC, la théorie fait distinction entre propriété simple et propriété étoile * • Propriété simple: concerne la lecture • Propriété * : concerne l’écriture • Dans BLP, il est difficile de voir l’utilité de la propriété simple toute seule, sans aucune contrainte sur l’écriture • Car un supérieur pourrait causer une fuite d’informations vers le bas • Normalement les deux propriétés sont utiles ensemble On devrait plutôt les appeler contraintes ou politiques INF6153
Modèle Biba INF6153
Modèle Biba • Dans BLP, le but est de permettre seulement le flux des informations vers l’haut • Pour la confidentialité • Dans Biba, le but est permettre seulement le flux de l’information vers le bas • Pour l’intégrité: éviter que les informations situées en haut soient polluées par des sources inférieures : • Ex typique: les employés ne peuvent pas changer les directives • Autre exemple: un programme exécuté en haut serait plus fiable qu’un programme exécuté en bas BLP: Confidentialité Biba: Intégrité INF6153
Propriétés Biba • Biba est parfaitement dual par rapport à BLP: • (propriété *,écriture,) Write down, No write up • Un sujet à un niveau peut écrire sur un objet ssi le niveau de l’objet est inférieur ou égal au niveau du sujet • (propriété simple, lecture) Read up, No read down • Un sujet à un niveau peut lire un objet ssi le niveau de l’objet est supérieur ou égal au niveau du sujet • Sans ceci des sujets pourraient acquérir des information au bas et les écrire à leur propre niveau, • progressivement jusqu’aux niveaux les plus élevés INF6153
Permissions et interdictions dans Biba (Il faut que je refasse cette figure…) Dessin de Sofiene Boulares INF6153
Exécution de programmes • BLP et Biba peuvent inclure des règles d’exécution de programmes, qui sont identiques aux règles de lecture • Les programmes sont des ‘sujets’ qui appartiennent à des niveaux • BLP: un sujet X peut exécuter un sujet Y ssi X≤Y • Biba: un sujet X peut exécuter un sujet Y ssi X≥Y • Dans les deux cas, un sujet ne peut pas augmenter ses droits en exécutant un programme • P.ex. dans Biba le droit de Y de transférer l’information vers l’haut n’excède pas le droit de X INF6153
Combinaisons et modèles reliés INF6153
Variations • Politique: Les directives sont transférées de l’haut vers le bas, mais tous peuvent les lire • Pour implémenter ceci, il est suffisant d’avoir Biba * sans Biba simple • Politique: Les statistiques sont transférées du bas vers l’haut, mais tous peuvent les lire • Pour implémenter ceci, il est suffisant d’avoir BLP * sans BLP simple INF6153
Combinaison BLP-Biba v. 1 • BLP est un modèle de confidentialité, Biba est un modèle d’intégrité • Les combiner carrément ensemble pour les mêmes données conduit à une situation où chaque niveau peu lire ou écrire seulement sur lui-même • Le flux d’information entre niveaux est défendu INF6153
Combinaison BLP-Biba v. 2 • BLP et Biba peuvent aussi être combinés à condition que chaque modèle s’applique à des catégories d’information différentes • Cas limites: • Supposons que S soit un sujet de confidentialité maximale et d’intégrité minimale : • il peut seulement lire des autres niveaux • Supposons que S soit un sujet d’intégrité maximale et de confidentialité minimale : • il peut seulement écrire dans lesautres niveaux • Voir Benantar ACS p.143 • Exercice: le même type de question mais en partant des objets INF6153
Exercice • Dans un système qui peut supporter tant BLP que Biba pour différents types d’informations • montrez comment on peut pallier à la difficulté que dans BLP ‘pur’ il est impossible de transmettre les ordres vers le bas INF6153
Modèle Lipner • Le modèle de Lipner profite de la possibilité de combiner les deux modèles de confidentialité et d’intégrité • Voir Bishop: Computer Security Sect. 6.3.2 INF6153
Composition de treillis INF6153
Composition • Pourquoi: • Deux ensembles de fichiers sous l’autorité de deux administration différentes • Un partage de données est souhaité • Les politiques de chacune des deux administrations doivent être respectées conjointement • Si un usager n’a pas le droit pour administration X ou Y, il ne doit pas l’avoir dans le système combiné INF6153
Composition de treillis Chacun des deux treillis représente les critères d’une administration différente Pour la composition, il faut établir des relations INF6153