Lextraction de rôles Role mining 1 [email protected].

51
L’extraction de rôles Role mining 1 Luigi.Logrippo@uq o.ca

Transcript of Lextraction de rôles Role mining 1 [email protected].

Page 1: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

L’extraction de rôlesRole mining

1

[email protected]

Page 2: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Déterminer les rôles

Pour maximiser les avantages de RBAC, il est essentiel que les rôles soient bien choisisCeci est un problème majeur dans l’utilisation pratique de RBAC

Un obstacle à l’adoption de RBAC dans plusieurs organisations, surtout les grandes

2

Page 3: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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 d’erreurs ou permissions exceptionnelles

Ingénierie des rôles: dériver les rôles sur la base d’une analyse de la structure et du fonctionnement de l’organisation

• 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

Page 4: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Terminologie

Extraction de rôles: role miningIngénierie de rôles: role engineering

4

Page 5: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Exemple d’extraction de rôles

?5

Pour simplifier, les croix indiquent des droit génériques sur des ressources génériquesP.ex. Comp pourrait être: Lire F5, écrire F7.

Permissions existantes (ACL)

Page 6: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Procédé intuitif

Commencer des rôles qui ont le plus petit nombre de permissions, et bâtir progressivement utilisant l’héritage

6

Page 7: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Voici un ordre partiel de rôles

Claire, Doron, Ernie

CO, AC

AlbertCH

BernES

Frank Jean

Gianni, Harry Marie+AP

Imtiaz

7

Ajout explicite:

Page 8: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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, ACun rôle pour Albert seul avec la permission CHetc. et aussi il faudrait avoir les héritages montrés par les flèches

8

Page 9: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

On peut le voir comme un treillisv. Diagrammes de Hasse plus tard

Claire, Doron, Ernie

CO, ACAlbert

CHBernES

Frank Jean

Gianni, HarryMarie+AP

Imtiaz

Role vide: aucun sujet,

aucune permission:

9

Page 10: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

On peut le transformer dans un arbre hiérarchique

Claire, Doron, Ernie

CO, AC

AlbertCH

BernES

Frank Jean+CO, AC

Gianni, Harry+ES

Marie+AP

ImtiazIl 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

Page 11: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

ReconstitutionOn 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 11Trois rôles sans hiérarchie et affectation d’usagers à plusieurs rôles.

Page 12: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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

Page 13: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Algorithmes

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

13

Page 14: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Méthode banale

Créer un rôle par sujetMais dans ce cas il n’y aura aucun avantage d’utiliser 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 d’une règle à un rôle intéressera plusieurs sujetsUtiliser l’héritage permettra normalement de réduire encore les affectations, car une seule affectation peut intéresser tout un sous-arbre

14

Page 15: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Méthode 1: Diagrammes de Hasse

C’est la manière la plus intuitive, construire un diagramme d’inclusion de permissions

Méthode que nous avons utilisé au début

On commence par la base, qui sont les éléments qui ont moins d’autorisations et on bâtit le diagramme en ajoutant progressivement les éléments qui en ont de plus en plusMéthode essentiellement exponentielle

Faites une recherche web sur ce terme

15

Page 16: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Complexité

Comme tous les algorithmes qui exigent la partition d’un ensemble dans tous ses sous-ensembles, l’algorithme de la Méthode 1 est exponentiel: 2P

P étant le nombre de permissions

Donc il n’est pas pratique dans le cas d’organisations avec des dizaines de milliers de permissions et usagersCependant il existe des méthodes de complexité plus raisonnable, en général basées sur les statistiquesCes méthodes ne garantissent pas de trouver la solution optimale, mais elles trouvent des bonnes approximations

16

Page 17: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Méthode 2:

Algorithmes de groupement (clustering)

Le groupement (clustering) est une technique statistique qui vise à grouper ensemble les éléments similaires d’un 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 plusieuresOn 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 similairesJusqu’à ce que tous les éléments sont groupés

17

Page 18: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Résultat

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

18

Page 19: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Méthodes pour calculer la ‘distance’

Un grand nombre de méthodes existent dans ce domaineJaccard, un botaniste, développa sa propre méthode pour calculer la similarité entre plantes étant donné leur caractéristiquesCette 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 s’agit de comparer deux à deux des entités selon leurs caractéristiques (1, 2, 3 …) et d’établir pour chaque paire d’entités une mesure de similaritéPuis un arbre est construit reliant ensemble les entités selon leur proximité dans cette mesure

19

Page 20: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Distances obtenues selon Jaccard

20

a1=Albert, a2=Bern, etc.

Page 21: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Arbre obtenu selon la similarité calculée

21

Claire, Doron, Ernie

Albert Bern

Frank Jean

Gianni, Harry Marie

Imtiaz

Remerciement: A.M. Crétu

0,2 0,2

0,25 0,25

0,660,330,66

Les chiffres indiquent les distances.Cet arbre considère non seulement la similarité, mais aussi l’inclusion.

On voit que nous n’avons pas obtenu tous les liens hiérarchiques

Page 22: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Arbre de rôles obtenu

22

Claire, Doron, Ernie

CO, AC

AlbertCH

BernES

Frank Jean+CO, AC

Gianni, Harry+ES

Marie+AP

ImtiazL’arbre obtenu doit être complété ajoutant des autorisations explicites

Page 23: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

ComplexitéLa Méthode 1est exponentielle sur le nombre de permissions: 2P

La Méthode 2 compare les éléments 2 à 2, sa complexité est polynomiale, N2, où N est le nombre de sujetsNormalement N2 << 2P, donc la Méthode 2 est normalement beaucoup plus efficaceCependant nous venons de voir que le résultat obtenu par la Méthode 2 n’est pas le meilleur possible,

La Méthode 2 ne trouve pas certains héritagesDonc la Méthode 2 force à affecter explicitement certaines permissions que la Méthode 1 donne par héritageLa Méthode 2 peut donc produire plus de règles individuelles que la méthode 1

23

Page 24: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Un fameux problème exponentiel

24

Une graine dans la première caseDeux dans la deuxièmeQuatre dans la quatrième…..

http://www.arm.ac.uk/astropark/hypercube.htm

Page 25: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Héritage pour réduire le nombre de règles

Une des fonctions de l’héritage est de réduire le nombre de règles explicitesDans l’exemple suivant, observez comment

le fait de n’avoir pas trouvé une relation d’héritage possible pour Marie dans le diagramme à droite nous force à introduire une règle spécifique pour Marierègle qui est implicite dans le diagramme à gauche

25

Page 26: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Claire, Doron, Ernie

CO, AC

AlbertCH

BernES

Frank Jean

Gianni, Harry Marie+AP

Imtiaz

Claire, Doron, Ernie

CO, AC

AlbertCH

BernES

Frank Jean

Gianni, Harry

Marie+AP

+ES

Imtiaz

Groupement de roles optimal Groupement de roles sub-optimal

Une règle additionnelle pour Marie car nous n’avons pas exploité l’héritage Jean MarieLes tirets montrent les différences

26

Exemple

Page 27: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Mesures de qualité

Il y a donc plusieurs critères d’évaluation d’algorithmes qui peuvent être en opposition

Les algorithmes qui sont les plus efficacesLes algorithmes qui produisent les plus petits ensembles de rôlesLes algorithmes qui produisent le plus petit nombre de règles individuelles

On veut obtenir un compromis raisonnable

27

Page 28: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Autrement ditUn des avantage d’avoir les rôles et les relations d’héritages est de réduire le nombre de règles

Règles = affectations explicites de permissions

En général, le plus qu’on a des relations d’héritage, le moins qu’on a de règles individuellesLes méthodes qui trouvent tous les héritages sont inefficacesDonc pour juger de la qualité les autres méthodes d’extraction de rôles on utilise des métriques basées sur

Nombre de relations d’héritage: à maximiserNombre de règles individuelles: à minimiserEfficacité: à maximiser

28

Page 29: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Correspondance avec la structure de l’organisation?

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 l’organisationP.ex. il se peut que le sujet ‘Imtiaz’ n’ait pas du tout un rôle important dans l’org

Il se trouve seulement à avoir beaucoup d’autorisations …

L’ingénierie des rôles peut corriger ce problème, en considération du fonctionnement réel de l’organisation

29

Page 30: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Le “bruit”

Dans une organisation établie, normalement les ACL sont sédimentées dans le temps et mal organiséesOn 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 difficileDes identités apparemment différentes pourraient être le même usagerPlusieurs usagers pourraient ne plus exister …

30

Page 31: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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 n’ont pas été utilisés depuis quelque temps, ou qui se réfèrent à des ressources non-existantesEnlever les rôles qui empêchent une meilleur classification d’un bon nombre des autres

31

Page 32: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Nettoyage des données

Comme normalement dans l’exploration des données, l’exploration automatique des rôles doit être précédée et accompagnée d’une phase de ‘nettoyage’ manuel

En collaboration avec la direction de l’organisationFaut 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 l’organisationPour trouver une hiérarchie de rôles utile en pratique

32

Page 33: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Cas plus complexes

Ici nous avons deux rôles séparés et indépendantsAucun avantage de créer une hiérarchie

33

Perm1 Perm2 Perm3

Alice X X

Bob X X

Page 34: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Rôles fictifs

Si on désire avoir une seule hiérarchie, on peut créer des rôles fictifs

34

P1 P2 P3

Alice X X

Bob X X

VIDE:P1,P2,P3

Alice:P1,P2

Bob:P2,P3

Page 35: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Ingénierie des rôles

Elle est basée sur l’analyse des scénarios d’entreprise pour trouver les permissions

nécessaires

35

Page 36: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

36

Approche basée scénarios

Profil Travail

Ensemble d’activités prévues Ensemble d’activités prévues par la fonction - Suggèrent par la fonction - Suggèrent

les les RôlesRôles

Activités (décrites en UML, p.ex.)Activités (décrites en UML, p.ex.)

Étapes dans les activitésÉtapes dans les activités

Les étapes peuvent demander Les étapes peuvent demander

des des PermissionsPermissions

Task 1 Task 2 Task n...

Scenario 1 Scenario 2 Scenario n...

Step 1 Step 2 Step n...

Perm 1 Perm 2 Perm n...

Fonction organisationnelleFonction organisationnelle

Source: Ferraiolo

Page 37: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Étapes principales

Identifier et modéliser les scénarios d’usageDériver les permissions à partir des scénariosIdentifier les contraintesRaffiner le modèle de scénario

37

Page 38: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Exemple pratiquedéveloppe seulement l’identification des

scénarios et des permissions

38

Pour l’exemple complet, voir:Ferraiolo et al., RBAC, 233-237

Page 39: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Identification et modélisation des scénarios d’usage

Développer les scénarios – Collections d’historiques par les experts Journaux de systèmes (system logs)

Assigner des noms aux scénariosValider les scénarios

Contrôle par les experts

Compiler les scénario

39

Page 40: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Exemple de scénarios:intent to perform order

40

Notifies Order

Page 41: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Identification d’acteurs et étapes

Workflow Scenario Actor Step

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Receives STAT order

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Collects specimen

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Prints STAT label

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Process specimen

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Logs specimen

Frequency lab order with results

Intent to perform order—collect specimen

Laboratory system (lab tech, phlebotomoist, and/or pathologist?)

Notifies order

41

Page 42: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Correspondance entre acteurs et étapes

avec identification des opérationsWorkflow Scenario Actor Step {Operation, Object}

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Receives STAT order {R, Order}{C, Observation}

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Collects specimen {C, Observation}{U, Order}{R, WorkList}

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Prints STAT label {C, Device}

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Process STAT specimen

{U, Observation}

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Logs specimen {U, Observation}

Frequency lab order with results

Intent to perform order—collect specimen

Laboratory system (lab tech, phlebotomoist, and/or pathologist?)

Notify order {U, Order}

42

CreateReadUpdateDeleteExecute

Page 43: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Identification d’objetsLes dernières deux colonnes sont les permissions

Workflow Scenario Actor Step Operation Object Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Receives STAT order

R,C

Order, Observation

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Collects specimen UUR

Observation, Order, WorkList

Frequency lab order with results

Intent to perform order—collect specimen

Phlebotomist Prints STAT label C Device

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Process specimen U Observastion

Frequency lab order with results

Intent to perform order—collect specimen

Lab tech Logs specimen U Observation

Frequency lab order with results

Intent to perform order—collect specimen

Laboratory system (lab tech, phlebotomoist, and/or pathologist?)

Notifies order U Order

43Ce tableau permet aussi d’affecter les permissions aux acteurs=sujets

Page 44: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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

Page 45: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

RaffinementLes premières étapes de ce processus pourraient ne pas produire des rôles dans le sens propreUn procédé de raffinement est normalement nécessaire

Un étudiant doit passer son cours• Ceci n’est 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

Page 46: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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)

L’extraction de rôles se fait sur les permissions existantes mais peut arriver à des rôles qui ne correspondent pas aux besoins de l’organisationL’ingénierie de rôles prend en compte les processus de l’organisation et peut obtenir les permissions nécessaires pour les tâches existantesLes rôles obtenus passent en utilisation pratique, et il pourrait être nécessaire de les modifier s’il y a des problèmesCeci est un processus d’amélioration et adaptation continu

46

Page 47: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Rôles connecteursLes rôles connecteurs sont des rôles qui n’existent pas dans l’organisation mais qui sont inventés par l’administrateur de RBAC pour simplifier l’attribution 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 d’accès aux salles d’opération, qui puis est héritée par urologue et cardio•Sans rôle connecteur: deux attributions séparées d’une permission à deux rôles•Avec rôle connecteur: la permission est attribuée une seule fois à un seul rôle

Page 48: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

ConclusionLa 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 semblablesDeux 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 l’organisation et des tâches existantes

Ces méthodes doivent être utilisées ensemble pour trouver un bon compromisDont 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 l’organisation

Cette activité ne cesse jamais, car la structure de certaines organisations est souvent révisée …

48

Page 49: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Références principales

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

49

Page 50: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

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 l’affectation 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

Page 51: Lextraction de rôles Role mining 1 Luigi.Logrippo@uqo.ca.

Relation entre matrice de rôles, matrice d’affectation 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:

0●1=0; 1●0=0; 0●0=0; 1●1=1

Dans l’exemple précédent, on voit que:(e) = (a) ● (c)(e) = (b) ● (d)

51