La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Lextraction de rôles Role mining 1

Présentations similaires


Présentation au sujet: "Lextraction de rôles Role mining 1"— Transcription de la présentation:

1 Lextraction de rôles Role mining 1

2 Déterminer les rôles Pour maximiser les avantages de RBAC, il est essentiel que les rôles soient bien choisis Ceci est un problème majeur dans lutilisation pratique de RBAC Un obstacle à ladoption de RBAC dans plusieurs organisations, surtout les grandes 2

3 Comment déterminer les rôles Étant donné une organisation dans laquelle les rôles ne sont pas clairement établis, comment les établir? Deux approches: Extraction de rôles : travailler sur la base des permissions existantes, les ACL, et dériver automatiquement les rôles dont on a besoin Bottom-up Ce processus pourrait conduire à des rôles contre-intuitifs, –sur la base derreurs ou permissions exceptionnelles Ingénierie des rôles : dériver les rôles sur la base dune analyse de la structure et du fonctionnement de lorganisation Top-down Pourrait être difficile à faire quand il y a beaucoup de sujets et permissions –Dizaines de milliers … En pratique, les deux approches se complémentent et doivent être utilisées ensemble 3

4 Terminologie Extraction de rôles: role mining Ingénierie de rôles: role engineering 4

5 Exemple dextraction de rôles Comp AchatCheqEstimAppr Albert x Bern x Claire xx Doron xx Ernie xx Frank xxx Gianni xxxx Lorrie xxxx Imtiaz xxxxx Jean xxx Marie xxxx ? 5 Pour simplifier, les croix indiquent des droit génériques sur des ressources génériques P.ex. Comp pourrait être: Lire F5, écrire F7. Permissions existantes (ACL)

6 Procédé intuitif Commencer des rôles qui ont le plus petit nombre de permissions, et bâtir progressivement utilisant lhéritage 6 Comp AchatCheqEstimAppr Albert x Bern x Claire xx Doron xx Ernie xx Frank xxx Gianni xxxx Lorrie xxxx Imtiaz xxxxx Jean xxx Marie xxxx

7 Voici un ordre partiel de rôles COmp AChatCHeqEStimAPppr Albert x Bern x Claire xx Doron xx Ernie xx Frank xxx Gianni xxxx Harry xxxx Imtiaz xxxxx Jean xxx Marie xxxx Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean Gianni, Harry Marie +AP Imtiaz 7 Ajout explicite:

8 Les rôles et les héritages trouvés Selon le diagramme précédent, il faudrait avoir: un rôle pour les sujets Claire, Doron, Ernie avec permissions CO, AC un rôle pour Albert seul avec la permission CH etc. et aussi il faudrait avoir les héritages montrés par les flèches 8

9 On peut le voir comme un treillis v. Diagrammes de Hasse plus tard Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean Gianni, Harry Marie +AP Imtiaz Role vide: aucun sujet, aucune permission: 9

10 On peut le transformer dans un arbre hiérarchique Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean +CO, AC Gianni, Harry +ES Marie +AP Imtiaz Il pourrait y avoir plusieurs manières de le faire. Voici une manière, quelles sont les autres? 10 On a dû enlever une arête et ajouter des permissions explicites

11 Reconstitution On devrait pouvoir reconstituer la liste originale de privilèges à partir des affectations des rôles aux sujets et de la liste des privilèges de chaque rôle. Figure de A. Colantonio 11 Trois rôles sans hiérarchie et affectation dusagers à plusieurs rôles.

12 Moindre privilège On voit que les rôles obtenus de cette manière respectent automatiquement le principe de moindre privilège Si les permissions existantes respectent ce principe 12

13 Algorithmes Il y a eu de la recherche dans ce sujet, et plusieurs algorithmes ont été développés En général, sur des bases statistiques 13

14 Méthode banale Créer un rôle par sujet Mais dans ce cas il ny aura aucun avantage dutiliser RBAC et nous serons essentiellement dans ACL Il faudra avoir des règles individuelles pour chaque sujet=rôle Créer des rôles qui groupent plusieurs sujets est déjà une amélioration, une affectation dune règle à un rôle intéressera plusieurs sujets Utiliser lhéritage permettra normalement de réduire encore les affectations, car une seule affectation peut intéresser tout un sous-arbre 14

15 Méthode 1: Diagrammes de Hasse Cest la manière la plus intuitive, construire un diagramme dinclusion de permissions Méthode que nous avons utilisé au début On commence par la base, qui sont les éléments qui ont moins dautorisations et on bâtit le diagramme en ajoutant progressivement les éléments qui en ont de plus en plus Méthode essentiellement exponentielle Faites une recherche web sur ce terme 15

16 Complexité Comme tous les algorithmes qui exigent la partition dun ensemble dans tous ses sous-ensembles, lalgorithme de la Méthode 1 est exponentiel : 2 P P étant le nombre de permissions Donc il nest pas pratique dans le cas dorganisations avec des dizaines de milliers de permissions et usagers Cependant il existe des méthodes de complexité plus raisonnable, en général basées sur les statistiques Ces méthodes ne garantissent pas de trouver la solution optimale, mais elles trouvent des bonnes approximations 16

17 Méthode 2: Algorithmes de groupement (clustering) Le groupement (clustering) est une technique statistique qui vise à grouper ensemble les éléments similaires dun ensemble, en ordre de similarité ou distance On compare 2 à 2 tous les éléments, utilisant une mesure de similarité dont il y en a plusieures On commence à grouper les éléments les moins distants et on continue faisant des groupes de plus en plus grands On trouve tout de suite les groupes déléments à distance 0: {Claire, Doron, Ernie} et {Gianni, Harry} Puis on trouve des autres groupes déléments de moins en moins similaires Jusquà ce que tous les éléments sont groupés 17

18 Résultat Le groupement donne comme résultat un arbre hiérarchique Le résultat spécifique pourra être différent selon les algorithmes de similarité et des groupement utilisés 18

19 Méthodes pour calculer la distance Un grand nombre de méthodes existent dans ce domaine Jaccard, un botaniste, développa sa propre méthode pour calculer la similarité entre plantes étant donné leur caractéristiques Cette méthode peut être utilisée pour calculer la similarité entre permissions de sujets La méthode ne sera pas expliquée, mais elle est expliquée dans des articles www Essentiellement, il sagit de comparer deux à deux des entités selon leurs caractéristiques (1, 2, 3 …) et détablir pour chaque paire dentités une mesure de similarité Puis un arbre est construit reliant ensemble les entités selon leur proximité dans cette mesure 19

20 Distances obtenues selon Jaccard 20 a1=Albert, a2=Bern, etc.

21 Arbre obtenu selon la similarité calculée 21 Claire, Doron, Ernie AlbertBern Frank Jean Gianni, Harry Marie Imtiaz Remerciement: A.M. Crétu 0,2 0,25 0,66 0,33 0,66 Les chiffres indiquent les distances. Cet arbre considère non seulement la similarité, mais aussi linclusion. On voit que nous navons pas obtenu tous les liens hiérarchiques

22 Arbre de rôles obtenu 22 Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean +CO, AC Gianni, Harry +ES Marie +AP Imtiaz Larbre obtenu doit être complété ajoutant des autorisations explicites

23 Complexité La Méthode 1est exponentielle sur le nombre de permissions: 2 P La Méthode 2 compare les éléments 2 à 2, sa complexité est polynomiale, N 2, où N est le nombre de sujets Normalement N 2 << 2 P, donc la Méthode 2 est normalement beaucoup plus efficace Cependant nous venons de voir que le résultat obtenu par la Méthode 2 nest pas le meilleur possible, La Méthode 2 ne trouve pas certains héritages Donc la Méthode 2 force à affecter explicitement certaines permissions que la Méthode 1 donne par héritage La Méthode 2 peut donc produire plus de règles individuelles que la méthode 1 23

24 Un fameux problème exponentiel 24 Une graine dans la première case Deux dans la deuxième Quatre dans la quatrième …..

25 Héritage pour réduire le nombre de règles Une des fonctions de lhéritage est de réduire le nombre de règles explicites Dans lexemple suivant, observez comment le fait de navoir pas trouvé une relation dhéritage possible pour Marie dans le diagramme à droite nous force à introduire une règle spécifique pour Marie règle qui est implicite dans le diagramme à gauche 25

26 Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean Gianni, Harry Marie +AP Imtiaz Claire, Doron, Ernie CO, AC Albert CH Bern ES Frank Jean Gianni, Harry Marie +AP +ES Imtiaz Groupement de roles optimalGroupement de roles sub-optimal Une règle additionnelle pour Marie car nous navons pas exploité lhéritage Jean Marie Les tirets montrent les différences 26 Exemple

27 Mesures de qualité Il y a donc plusieurs critères dévaluation dalgorithmes qui peuvent être en opposition Les algorithmes qui sont les plus efficaces Les algorithmes qui produisent les plus petits ensembles de rôles Les algorithmes qui produisent le plus petit nombre de règles individuelles On veut obtenir un compromis raisonnable 27

28 Autrement dit Un des avantage davoir les rôles et les relations dhéritages est de réduire le nombre de règles Règles = affectations explicites de permissions En général, le plus quon a des relations dhéritage, le moins quon a de règles individuelles Les méthodes qui trouvent tous les héritages sont inefficaces Donc pour juger de la qualité les autres méthodes dextraction de rôles on utilise des métriques basées sur Nombre de relations dhéritage: à maximiser Nombre de règles individuelles: à minimiser Efficacité: à maximiser 28

29 Correspondance avec la structure de lorganisation? Un pb pratique est que les rôles obtenus avec les Méthodes 1 ou 2 pourraient ne pas correspondre aux rôles reconnus dans lorganisation P.ex. il se peut que le sujet Imtiaz nait pas du tout un rôle important dans lorg Il se trouve seulement à avoir beaucoup dautorisations … Lingénierie des rôles peut corriger ce problème, en considération du fonctionnement réel de lorganisation 29

30 Le bruit Dans une organisation établie, normalement les ACL sont sédimentées dans le temps et mal organisées On aura pu affecter des privilèges à des usagers, parfois temporairement ou en exception, puis oublié Certains usagers peuvent avoir une pluralité de fonctions, donc le regroupement est difficile Des identités apparemment différentes pourraient être le même usager Plusieurs usagers pourraient ne plus exister … 30

31 Critères de simplification Enlever les rôles qui ne contiennent pas un minimum de sujets, ou un minimum de ressources Les fusionner avec des autres Enlever les rôles qui nont pas été utilisés depuis quelque temps, ou qui se réfèrent à des ressources non-existantes Enlever les rôles qui empêchent une meilleur classification dun bon nombre des autres 31

32 Nettoyage des données Comme normalement dans lexploration des données, lexploration automatique des rôles doit être précédée et accompagnée dune phase de nettoyage manuel En collaboration avec la direction de lorganisation Faut faire attention à quoi on nettoie! Elle doit aussi être accompagnée par un processus de ingéniérie de rôles qui tient en compte les besoins réels de lorganisation Pour trouver une hiérarchie de rôles utile en pratique 32

33 Cas plus complexes Ici nous avons deux rôles séparés et indépendants Aucun avantage de créer une hiérarchie 33 Perm1Perm2Perm3 AliceXX BobXX

34 Rôles fictifs Si on désire avoir une seule hiérarchie, on peut créer des rôles fictifs 34 P1P1P2P3 AliceXX BobXX VIDE: P1,P2,P3 Alice: P1,P2 Bob: P2,P3

35 Ingénierie des rôles Elle est basée sur lanalyse des scénarios dentreprise pour trouver les permissions nécessaires 35

36 36 Approche basée scénarios Profil Travail Ensemble dactivités prévues par la fonction - Suggèrent les Rôles Activités (décrites en UML, p.ex.) Étapes dans les activités Les étapes peuvent demander des Permissions Fonction organisationnelle Source: Ferraiolo

37 Étapes principales Identifier et modéliser les scénarios dusage Dériver les permissions à partir des scénarios Identifier les contraintes Raffiner le modèle de scénario 37

38 Exemple pratique développe seulement lidentification des scénarios et des permissions 38 Pour lexemple complet, voir: Ferraiolo et al., RBAC,

39 Identification et modélisation des scénarios dusage Développer les scénarios – Collections dhistoriques par les experts Journaux de systèmes (system logs) Assigner des noms aux scénarios Valider les scénarios Contrôle par les experts Compiler les scénario 39

40 Exemple de scénarios: intent to perform order 40 Notifies Order

41 Identification dacteurs et étapes WorkflowScenarioActorStep Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistReceives STAT order Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistCollects specimen Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistPrints STAT label Frequency lab order with results Intent to perform ordercollect specimen Lab techProcess specimen Frequency lab order with results Intent to perform ordercollect specimen Lab techLogs specimen Frequency lab order with results Intent to perform ordercollect specimen Laboratory system (lab tech, phlebotomoist, and/or pathologist?) Notifies order 41

42 Correspondance entre acteurs et étapes avec identification des opérations WorkflowScenarioActorStep{Operation, Object} Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistReceives STAT order{R, Order} {C, Observation} Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistCollects specimen{C, Observation} {U, Order} {R, WorkList} Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistPrints STAT label{C, Device} Frequency lab order with results Intent to perform ordercollect specimen Lab techProcess STAT specimen {U, Observation} Frequency lab order with results Intent to perform ordercollect specimen Lab techLogs specimen{U, Observation} Frequency lab order with results Intent to perform ordercollect specimen Laboratory system (lab tech, phlebotomoist, and/or pathologist?) Notify order{U, Order} 42 Create Read Update Delete Execute

43 Identification dobjets Les dernières deux colonnes sont les permissions WorkflowScenarioActorStepOperation Object Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistReceives STAT order R, C Order, Observation Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistCollects specimenUURUUR Observation, Order, WorkList Frequency lab order with results Intent to perform ordercollect specimen PhlebotomistPrints STAT labelCDevice Frequency lab order with results Intent to perform ordercollect specimen Lab techProcess specimenUObservastion Frequency lab order with results Intent to perform ordercollect specimen Lab techLogs specimenUObservation Frequency lab order with results Intent to perform ordercollect specimen Laboratory system (lab tech, phlebotomoist, and/or pathologist?) Notifies orderUOrder 43 Ce tableau permet aussi daffecter les permissions aux acteurs=sujets

44 Raffinement et nettoyage En réalité, les choses ne seront pas si simples … Il y aura des scénarios à raffiner, des scénarios superflus, dupliqués ou incohérents, etc. 44

45 Raffinement Les premières étapes de ce processus pourraient ne pas produire des rôles dans le sens propre Un procédé de raffinement est normalement nécessaire Un étudiant doit passer son cours Ceci nest ni un role, ni une permission Pour ce faire, il doit Pouvoir faire accès à Moodle Pouvoir y déposer ses travaux … Voici que le rôle étudiant est bâti prenant en considération les besoins 45

46 En pratique … Les deux approches présentées sont complémentaires et doivent être utilisées ensemble par des experts Extraction de rôles (role mining) Ingénierie de rôles (role engineering) Lextraction de rôles se fait sur les permissions existantes mais peut arriver à des rôles qui ne correspondent pas aux besoins de lorganisation Lingénierie de rôles prend en compte les processus de lorganisation et peut obtenir les permissions nécessaires pour les tâches existantes Les rôles obtenus passent en utilisation pratique, et il pourrait être nécessaire de les modifier sil y a des problèmes Ceci est un processus damélioration et adaptation continu 46

47 Rôles connecteurs Les rôles connecteurs sont des rôles qui nexistent pas dans lorganisation mais qui sont inventés par ladministrateur de RBAC pour simplifier lattribution de permissions 47 urologue cardiologue chirurgien médecin Le rôle chirurgien aurait pu être créé pour le seul but de lui affecter la permission daccès aux salles dopération, qui puis est héritée par urologue et cardio Sans rôle connecteur: deux attributions séparées dune permission à deux rôles Avec rôle connecteur: la permission est attribuée une seule fois à un seul rôle

48 Conclusion La bonne attribution de rôles et la détermination de la hiérarchie des rôles est une difficulté majeure dans la mise en œuvre de RBAC et méthodes semblables Deux méthodes principales : Extraction de rôles: role mining Trouver les rôles sur la base des permissions existantes Ingénierie de rôles: Déterminer les rôles sur la base du fonctionnement de lorganisation et des tâches existantes Ces méthodes doivent être utilisées ensemble pour trouver un bon compromis Dont la grande difficulté de cette tâche, Qui doit impliquer tant les techniciens de la sécurité, que les administrateurs et les employés de lorganisation Cette activité ne cesse jamais, car la structure de certaines organisations est souvent révisée … 48

49 Références principales Le livre de Ferraiolo et al., déjà mentionné E.J. Coyne, J.M. Davis: Role Engineering. Artech House, Cherchez dans le www: beaucoup de matériaux 49

50 Exemple 50 Les différents tableaux dans cet exemple représentent le même ensemble de permissions. Supposons que dans une organisation nous avons les rôles (a) qui sont affectés à des usagers de la manière décrite dans (c). Ceci donne laffectation de permissions décrite dans (e). À partir de (e) on peut voir que le même ensemble de permissions peut être décrit avec deux rôles seulement, ce qui est représenté dans (b) et (d). S. Hachana, F. Cuppens, N. Cuppens-Boulahia, J. Garcia-Alfaro:Semantic analysis of role mining results and shadowed roles detection. Information Security Technical Report. 17(4) 2013, 131–147

51 Relation entre matrice de rôles, matrice daffectation de rôles à usagers, et matrice des permissions La multiplication entre matrices booléennes fonctionne comme la multiplication entre matrices régulière, mais avec: 01=0; 10=0; 00=0; 11=1 Dans lexemple précédent, on voit que: (e) = (a) (c) (e) = (b) (d) 51


Télécharger ppt "Lextraction de rôles Role mining 1"

Présentations similaires


Annonces Google