mac mandatory access control contrôle d’accès obligatoire

116
MAC Mandatory Access Control Contrôle d’accès obligatoire (Méthodes de contrôle de flux) 1 Luigi.Logrippo@uq o.ca INF6153

Upload: graceland

Post on 24-Jan-2016

48 views

Category:

Documents


1 download

DESCRIPTION

MAC Mandatory Access Control Contrôle d’accès obligatoire. [email protected]. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MAC Mandatory  Access Control Contrôle d’accès obligatoire

MAC

Mandatory Access ControlContrôle d’accès obligatoire

(Méthodes de contrôle de flux)

1

[email protected]

INF6153

Page 2: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 les données– Confidentialité et intégrité– Ce but est obtenu en limitant les droits des usagers sur les objets qui

contiennent les donnés• Noter la différence entre protéger les données et protéger les objets contenant les données

– La protection des données implique le contrôle de flux des données dans l’organisation

– Ces modèles ne se préoccupent pas explicitement des droits d’exécution

2INF6153

Page 3: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Classification des sujets et données

• Caractéristique commune à tous ces modèles est le fait que les sujets et les données sont classés ou étiquetés

• Les classifications déterminent quels sujets peuvent avoir accès à quelles données

INF6153 3

Page 4: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exemples de MAC

• Bell-LaPadula• Biba• Multi-level Access Control (MLS)• Lattice-Based Access Control• Muraille de Chine• Label Based Access Control• Plusieurs autres …

4INF6153

Page 5: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Bell-La Padula (BLP)

INF6153 5

Page 6: MAC Mandatory  Access Control Contrôle d’accès obligatoire

INF6153 6

MarcFichier

de Marc

INF6153

AnneFichier

de Anne

Projet A1

Projet A2

Premier exempleMarc travaille sur un projet A1: secretAnne travaille sur un projet A2: publicAucune données ne peut circuler A1A2Quelles seraient les règles pour ceci?

Barrière

Page 7: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Règle simple

• Les participants du projet A2 ne peuvent pas lire les fichiers du projet A1

• Suffisante?

INF6153 7

MarcFichier

de Marc

AnneFichier

de Anne

Projet A1

Projet A2

/Barrière

Page 8: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Règle

• Les participants du projet A1ne peuvent pas écrire dans les fichiers du projet A2

INF6153 8

MarcFichier

de Marc

AnneFichier

de Anne

Projet A1

Projet A2/

/Barrière

Page 9: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 données acquises

– Autrement dit, les données peuvent être transférées seulement vers l’haut de la hiérarchie

9INF6153

Page 10: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 données qui sont plus ou moins ‘délicates’

• Besoin– Les données peuvent être transférées des niveaux bas vers

les niveaux plus élevés, mais pas dans le sens contraire

10INF6153

Page 11: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Implémentation• Pour contrôler le flux des données, nous

contrôlerons le mouvement des fichiers (objets) qui les contiennent– Les opérations de lecture ou écriture qui transfèrent les

données vers l’haut sont permises– Les opérations de lecture ou écriture qui transfèrent les

données vers le bas ne sont pas permises

11INF6153

Page 12: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

12INF6153

Page 13: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 13

Page 14: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 14

Page 15: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

données!

• (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 données en

recopiant les objets qui les contiennent à des niveaux inférieurs

15

Propriété est une terminologie très utilisée, mais selon moi erronée

INF6153

Page 16: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Graphiquement

Propriété simple Propriété

16

Top Secret

Secret

Confidentiel

Ne pas lire en haut

Top Secret

Secret

Confidentiel

Ne pas écrire en bas

Dessins de Sofiene BoularesINF6153

Page 17: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exemple

INF6153 17

• À quels niveaux peut lire Kamel?• À quels niveaux peut-il écrire?

Page 18: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

18

Très sécret Johanne Fichier Personnel

Secret Kamel Courriels

Confidentiel Jocelyne Mémorandum

Public Richard Communiqués

INF6153

Page 19: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Tableau de contrôle d’accès

19

Fichier Personnel =

TS

Courriels = S

Mémos = C

Communiqués = P

Johanne = TS R, W R R R

Kamel = S W R, W R R

Jocelyne = C W W R, W R

Richard = P W W W R, W

P < C < S < TS

INF6153

Page 20: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 données 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

20INF6153

Page 21: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Séparation entre objets et données

• Pour bien comprendre BLP, il est nécessaire d’insister sur la distinction entre– Données et– Objets, ou fichiers, qui contiennent les données

• Il a été nécessaire d’introduire le concept de niveau de sensitivité des données, 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 de données entre niveaux de sécurité– Car les sujets peuvent lire et écrire dans les objets de leurs niveaux

• Les données sont protégées 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

21INF6153

Page 22: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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– Solutions dans www

INF6153 22

Page 23: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 données …

• Concept de sujet fiable = trusted subject

23INF6153

Page 24: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 de données 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 de données– 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é

24INF6153

Nuc

Eur

Asie

Etc.

Page 25: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèles Treillis

Lattice Models

INF6153 25

Page 26: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Treillis de catégories de données

• Les données peuvent être structurées, et un sujet peut avoir accès à des sous-ensembles de catégories

• Ceci conduit à un modèle plus complexe

26INF6153

Page 27: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

27

INF6153

Marie

TomJean

Page 28: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Rélation dom

28

(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

Page 29: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 29

Page 30: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

30INF6153

Réfléxive: pour tout a, aRaAntisimétrique: aRb et bRa implique a=bTransitive: aRb et bRc implique aRc

Page 31: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

31INF6153

Page 32: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 :

32

NUC, EUR, US

NUC, EUR

US

EUR, USNUC, US

EUR

NUC

INF6153

Page 33: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Treillis pour l’exemple précédent: Niveaux de sécurité

33

TopSecret

Secret

Confidential

INF6153

Page 34: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 des données dans l’organisation concernée

34INF6153

Page 35: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Autre exemple

INF6153 35people.sabanciuniv.edu/levi/cs432/AccessControl.ppt

Page 36: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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é

36INF6153

Page 37: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 de données vers le

bas– Normalement les deux propriétés sont utiles ensemble

37

On devrait plutôt les appeler contraintes ou politiques

INF6153

Page 38: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèle Biba

INF6153 38

Page 39: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèle Biba

• Dans BLP, le but est de permettre seulement le flux des données vers l’haut• Pour la confidentialité

• Dans Biba, le but est permettre seulement le flux de données vers le bas– Pour l’ intégrité: éviter que les données 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

39INF6153

BLP: ConfidentialitéBiba: Intégrité

Page 40: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 downUn 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 données au bas et les écrire à leur propre niveau,

– progressivement jusqu’aux niveaux les plus élevés

40INF6153

Page 41: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Permissions et interdictions dans Biba

41

Dessin de Sofiene BoularesINF6153

(Il faut que je refasse cette figure…)

Page 42: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 les données vers l’haut n’excède pas le droit de X

42INF6153

Page 43: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Combinaisons et modèles reliés

INF6153 43

Page 44: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

44INF6153

Page 45: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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 dans les mêmes niveaux conduit à une situation un peu particulière …– Exercice pour vous

45INF6153

Page 46: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Combinaison BLP-Biba v. 2

• BLP et Biba peuvent aussi être combinés à condition que chaque modèle s’applique à des catégories de données 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 les autres niveaux– Voir Benantar ACS p.143

• Exercice: le même type de question mais en partant des objets

46INF6153

Page 47: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Combinaison BLP-Biba v. 3

• On pourrait aussi les combiner sur les mêmes types de données mais utilisant des niveaux différents pour les mêmes types de données– P.ex. les données budgétaires d’une cie pourraient être

publiques– Mais leur intégrité est d’importance maximale

• Exercice: quels problèmes pourraient surgir et comment on pourrait penser à les résoudre?

INF6153 47

Page 48: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exercice

• Dans un système qui peut supporter tant BLP que Biba pour différents types de données – montrez comment on peut pallier à la difficulté que dans

BLP ‘pur’ il est impossible de transmettre les ordres vers le bas

INF6153 48

Page 49: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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

49INF6153

Page 50: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Composition de treillis(partie optionnelle, pas très pratique)

INF6153 50

Page 51: MAC Mandatory  Access Control Contrôle d’accès obligatoire

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é

51INF6153

Page 52: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Composition de treillis

52

LOW

(HIGH, {EAST}) (HIGH, {WEST})

(HIGH, {EAST, WEST})

LOW

(TS, {EAST}) (TS, {SOUTH})

(TS, {EAST, SOUTH})

(S, {EAST, SOUTH})

(S, {EAST}) (S, {SOUTH})

INF6153

Chacun des deux treillis représente les critères d’une administration différentePour la composition, il faut établir des relations

Page 53: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Comment composer

• Observons que quelques étiquettes sont identiques – LOW, EAST sont à gauche et à droite etc.– Nous supposons qu’elles veulent dire la même chose

• Quelques étiquettes sont différentes– HIGH seulement à gauche, SOUTH seulement à droite etc,– Nous pouvons établir des relations entre ces deux ensembles

53

LOW

(HIGH, {EAST}) (HIGH, {WEST})

(HIGH, {EAST, WEST})

LOW

(TS, {EAST}) (TS, {SOUTH})

(TS, {EAST, SOUTH})

(S, {EAST, SOUTH})

(S, {EAST}) (S, {SOUTH})

INF6153

Page 54: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Relations entre étiquettes différentes

• Supposons que les catégories sont indépendantes– Nous aurons donc trois catégories différentes

• EAST, WEST, SOUTH

• Supposons que LOW veuille dire la même chose et que les niveaux soient dépendants comme suit:– LOW≤S ≤ HIGH ≤ TS

• Quelques unes des relations résultantes:– (S,{WEST}) indépendant de (HIGH,{EAST})

– (HIGH,{SOUTH}) ≤ HIGH,{EAST,SOUTH}) ≤(TS,{EAST,WEST, SOUTH})

54

LOW

(HIGH, {EAST}) (HIGH, {WEST})

(HIGH, {EAST, WEST})

LOW

(TS, {EAST}) (TS, {SOUTH})

(TS, {EAST, SOUTH})

(S, {EAST, SOUTH})

(S, {EAST}) (S, {SOUTH})

INF6153

Page 55: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exercice

• Dessiner le treillis composé entier

55INF6153

Page 56: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Cas de treillis indépendants

• Il pourrait aussi arriver que les niveaux dans les deux treillis soient indépendants

• Dans ce cas, l’ensemble des niveaux dans le treillis résultant serait le produit cartésien des niveaux des deux treillis d’origine

• Un sujet aurait donc une paire de niveaux, p.ex. (HIGH, S) et pourrait donc accéder à tous les niveaux jusqu’au sien

• Un sujet qui n’est pas reconnu dans un des deux systèmes aura la classification la plus basse dans ce système• P.ex. LOW

• Les conditions d’accès sont la conjonction simple des conditions dans les deux treillis originaires

56INF6153

Page 57: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Extensions et problèmes

INF6153 57

Page 58: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Extensions de BLP

• BLP a été très étudié et des nombreuses extensions ont été proposées pour le rendre plus pratique ou pour l’adapter à fins différents

• Plusieurs extensions ont conduit à des failles, comme l’extension suivante dans laquelle on permet aux sujets de créer des objets et d’en changer le niveau

58INF6153

Page 59: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Concept de canal couvert

• Nous avons parlé de canaux indirects– Passage de données indirect– Peut être voulu, conforme aux politiques

• Un canal couvert au lieu est un passage données qui est utilisé pour contourner les politiques– Storage channels

• Utilisent des données intermédiaires

– Timing channels• Utilisent le délais de temps

– Pas traités dans ce cours

INF6153 59

Page 60: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Canaux couverts dans BLPUtilisant les données

• S, sujet de bas niveau, S’ sujet de haut niveau• Ils se mettent d’accord afin que S’ puisse passer un bit d’info à S,

dans la manière suivante:• S crée un nouveau objet O• S’ peut changer ou non le niveau de O, le rendant inaccessible à S• Quand S cherchera à lire O, il saura si S’ lui a dit ‘oui’ ou ‘non’

60INF6153

Page 61: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Principe de tranquillité forte

• Les actions d’usager ne peuvent pas causer des changements de niveau de sécurité– Changements peuvent être faits seulement par des

administrateurs, dans l’espoir qu’ils comprennent les conséquences …

• En pratique, ceci est trop inflexible et certains changements peuvent être admis, avec précautions

61INF6153

Page 62: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Propriété de tranquillité faible

• Une action d’usager peut modifier les étiquettes de sécurité mais seulement d’une manière qui ne viole pas les normes de sécurité– Exemple: High Water Mark Policy, ‘laisse haute’

INF6153 62

Page 63: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exercice(modèle dit de laisse d’eau haute - high watermark)

• Cas 1: Un sujet X réussit à lire des données à un niveau supérieur– Que pourrait-on faire par rapport à X pour continuer à protéger la

confidentialité dans le système?

• Cas 2: Un sujet réussit à écrire sur des données Y à un niveau inférieur– Que pourrait-on faire par rapport à Y pour continuer à protéger la

confidentialité dans le système?

Considérer la même idée par rapport à la protection de l’intégrité

INF6153 63

Page 64: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Aspect discrétionnaire• Les modèles treillis peuvent être combinés avec l’aspect

discrétionnaire de DAC• On peut ajouter à ces modèles une matrice de contrôle d’accès avec

ses propres contraintes– Supposons qu’un sujet X puisse lire ou écrire sur un objet Y selon les règles de

BLP– Il pourrait encore être incapable de le faire car la matrice de contrôle d’accès

lui nie ce droit

• Cependant il est nécessaire de limiter fortement le droit du propriétaire de transférer ses droits– Exercice: réfléchir sur ce point: quelles limites sont nécessaires?

INF6153 64

Page 65: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Limites de BLP

• Fiable quand le système est statique– Défendu de créer des nouveaux sujet ou objets– Défendu de changer de niveaux

• Ou quand il est administré de manière très stricte: p.ex.– Les changements de niveaux peuvent être faits seulement après

des précautions particulières• Un sujet qui passe à un niveau inférieur peut avoir stocké des données

au niveau précédent et les rendre disponibles à son nouveau niveau

• Il pourrait être impossible de structurer une organisation selon BLP ‘stricte’– http://www.cryptosmith.com/archives/36

65INF6153

Page 66: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Notre simplification …

• Pour simplifier, nous avons fait l’hypothèse que les sujets et les objets sont classifiés selon la même échelle

• Le cas général serait que les sujets et les objets peuvent être classifiés sur des échelles différentes, et qu’il y a des rélations ≤ entre catégories des sujets et catégories des objets

• La substance reste la même, cependant

INF6153 66

Page 67: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Couches de Protection Dans les Systèmes d’exploitation

INF6153 67

Page 68: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Anneaux de protection

• Le concept de ‘Anneaux de protection’ est une application de BLP aux systèmes d’exploitation et a été implémentée dans quelques matériels et logiciels

INF6153 68

Page 69: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Deux anneaux de protection• Dans la plupart des ordis, la machine peut exécuter en un de

deux modes:– Superviseur ou usager

• Si la machine est en mode superviseur, elle peut exécuter les instructions privilégiées du SE– Elle peut lire les données des usagers– Elle ne peut pas transférer des infos privilégiées à l’usager

• Si la machine est en mode usager, elle ne peut exécuter que les programmes usagers– Elle ne peut pas lire dans le SE– Elle peut transférer des infos au SE

INF6153 69

Page 70: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Généralisation à plusieurs niveaux

• Dans le système Multics (approx 1965!) on prévoyait jusqu’à 32 anneaux d’exécution (0-31)

• Les anneaux les plus internes sont les plus protégés– C’est la place des fonctionnalités les plus critiques

INF6153 70

Page 71: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Mécanismes

• L’Unité Centrale a un registre qui contient le numéro de l’anneau où elle est en train d’exécuter

• Le Système d’Exploitation suit des règles rigoureuses concernant les permissions de – Lecture et écriture entre niveaux– Appels de procédures entre niveaux

INF6153 71

Page 72: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exemples de niveaux

– 0: Noyau du Système d’exploitation– 1: Le reste du SE– 2: Utilitaires– 3: Programmes d’usager

• Ceci pourrait être étendu à plus de niveaux– P.ex. on pourrait distinguer différentes parties du SE ou

d’utilitaires, plus ou moins protégées– Les usagers pourraient aussi dire que quelques uns de leur

programmes devraient être plus protégés que d’autres

INF6153 72

Page 73: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Catégories d’objets

• Ce système considère aussi les catégories d’objets• À chaque niveau, il pourrait y avoir différentes

catégories d’objets avec des protections différentes comme dans BLP

INF6153 73

Page 74: MAC Mandatory  Access Control Contrôle d’accès obligatoire

LAC: Modèle treillis de Denning:Une abstraction

V. Benantar Chap. 4

74INF6153

Page 75: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèle treillis de Denning(LAC: Lattice-Based Access Control)

• Dans le modèle treillis on ne parle plus de sujets et objets mais seulement de flux de données entre niveaux de sécurité– Qui forment un treillis

• Abstraction très utile– Mais pour l’implémentation le flux de données est

conditionné par les restrictions sur les lectures et écritures des objets

75INF6153

Page 76: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Ensemble SC, Rélation , Opérateurs⊗⊕

• Il existe un ensemble fini SC de classes de sécurité• La rélation dans SC dénote le flux de données. Elle est:

– Réfléxive: AA pour tout A– Transitive: AB et BC implique AC– Antisymétrique: AB et BA implique A=B

• L’opérateur dans SC est la jonction:⊕– A B est le plus grand dénominateur commun entre A et B par rapport à la rélation ⊕

– AA B et B⊕ A B⊕

• L’opérateur dans SC est l’intersection ⊗– A B ⊗ A et A B ⊗ B

76INF6153

Page 77: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Critère de sécurité (safety)

• Un système est sécuritaire si on ne peut pas avoir des séquences d’opérations (read, write) qui créent un flux différent de celui spécifié par – Ceci considère aussi les opérations d’affectation a=f(b1,

…,bn) qui peuvent être vues comme des lectures suivies par une écriture

77INF6153

Page 78: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Condition pour la sécurité

• Essentiellement, si SC est un treillis fini pour les opérateurs , , il est sécuritaire⊕ ⊗

• Donc il n’y a pas de flux de données autre que celui spécifié par – Avec son extension transitive, évidemment

78INF6153

Page 79: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Application à BLP

• BLP respecte ce modèle car:– L’ensemble de niveaux de sécurité est fini– L’opérateur est la relation dom inversée

• Les données peuvent être transférée de A à B ssi B dom A• Nous avons en fait vu comment les systèmes BLP peuvent

être représentés comme treillis

79INF6153

Page 80: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Problèmes?

• Ce modèle est intéressant car il peut être utilisé pour parler de la sécurité à l’intérieur d’un programme, mais ce type de sécurité pourrait être impossible à obtenir:– P.ex. un programme usager A peut demander un service

d’une procédure P plus protégée• A peut passer à P des paramètres: OK• Cependant P voudrait transférer à A des résultats: PAS OK!

INF6153 80

Page 81: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Non-Interférence

81INF6153

Page 82: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Non-Interférence

• Un système est vu comme une machine avec entrées et sorties• Les entrées et sorties sont classifiées à niveaux

– Bas ou haut selon leur niveau de sécurité

• Un système respecte le critère de non-interférence ssi tout calcul pour des résultats de bas niveau est toujours indépendant des entrées d’haut niveau– Les entrées d’haut niveau n’ont aucun effet sur le calcul des sorties de

bas niveau– Donc il n’y a aucune fuite de données de l’haut niveau vers le bas niveau

• Un critère très stricte

82INF6153

Page 83: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Cas concret

• Supposons un programme qui, pour une personne, prend en entrée sa date de naissance, contenant:– Le jour de son anniversaire (donnée publique)– Son année de naissance (donnée confidentielle)

• Le programme peut être utilisé pour effectuer– L’envoi automatique à tous d’un message de souhaits

• Ceci doit être effectué sans donner aucune indication qui puisse faire connaître l’année de naissance

• Cette partie du programme ne devrait pas la lire– L’envoi d’un message confidentiel lui annonçant sa date et conditions de

retraite• Tous les éléments de la date de naissance sont utilisés

83INF6153

Page 84: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Plus formellement

• Dénotons par– hi une donnée d’haut niveau de sécurité

– bi une donnée de bas niveau

• Un calcul bj = F(h1, … ,hn, b1, …, bn) doit être une fonction de b1 … bn exclusivement– doit être indépendent des valeurs de h1 … hn

• Tandis que un calcul hj = F’(h1, … ,hn, b1, …, bn) peut être une fonction de tous les arguments

84INF6153

Page 85: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Trop stricte ou non?

• Le critère de la non-interférence est trop stricte!• Exemple: vérification d’un mot de passe

– Nous avons une fonction qui prend comme argument une donnée secrète, une publique et donne comme résultat une donnée publique

• Mais notez que même dans ce cas le critère n’est pas vraiment erroné car utilisant les données publiques on peut dans des cas faciles trouver la donnée secrète– Supposez que le mot de passe soit un seul bit …

85INF6153

Page 86: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Prise en compte du chiffrage

• L’idée de base du chiffrage est d’utiliser des fonctions F qui permettent de calculer

bj = F(h1, … , hn, b1, …, bn)

de manière que h1, … ,hn soient pratiquement impossibles à récupérer à partir de bj

86INF6153

Page 87: MAC Mandatory  Access Control Contrôle d’accès obligatoire

BLP et non-interférence

• BLP respecte le critère de non-interférence seulement s’il est statique– Sinon les canaux couverts sont possibles

87INF6153

Page 88: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèle Muraille de ChineModèle Brewer-Nash

INF6153 88

Page 89: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Muraille de Chine (Chinese Wall)

• Exemple d’une compagnie de consultation• Peut avoir plusieurs clients en concurrence, p.ex. Nokia et Samsung• Doit bloquer le transfert de données confidentielles entre les

employés qui s’occupent de Nokia et les employés qui s’occupent de Samsung

• Après qu’un employé aura lu une donnée de Nokia, tout accès aux fichiers de Samsung devra être défendu et vice-versa

• Il est aussi nécessaire de bloquer les canaux couverts• Cette politique est aussi appelée “Brewer and Nash” du nom de ses

inventeurs

89INF6153

Page 90: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Structure

• Les entités (sujets et objets) sont organisées dans des classes de conflit d’intérêt– {Nokia,Samsung} est une telle classe– Autre exemple: (Bishop: CS A&S)

Bank of America

Citibank Bank of the West

Bank COI Class

Shell Oil

Union ’76

Standard Oil

ARCO

Gasoline Company COI Class

INF6153 90

Page 91: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Autre vision

91Dessin de Sofiene Boulares

Un sujet qui peut lire inf2 ne peut pas lire inf4 Il peut cependant lire dans les classes CI2 ou CI3Pour éviter la fuite de données ce sujet ne peut écrire que dans Banque1

INF6153

Classes de conflit

Compagnies

Objets

Page 92: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Besoins• (confidentialité) Un sujet ne peut pas recevoir des données de

deux organisations en conflit d’intérêt – Ni directement ni indirectement

• (intégrité) Un objet ne peut pas recevoir des données de deux organisations en conflit d’intérêt – Ni directement ni indirectement

92

S

Banque Royale

Toronto-Dominion

Banque Royale

Toronto-Dominion

INF6153

O

NON NON

Page 93: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Concept d’”accès préalable”

• Les droits d’un sujet dépendent de ce que le sujet a déjà accédé précédemment– P.ex. s’il a déjà lu des données d’une cie A en conflit

d’intérêt avec B, il ne peut pas lire dans B– Une lecture de données le place dans une classe de

conflit d’intérêt, de laquelle il ne pourra pas sortir• Évidemment en pratique on pourra admettre ceci, notamment

après une longue période de temps …

93INF6153

Page 94: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Propriété simple

INF6153 94

Consultant

Auto A

Banque A

Gaz A

Banque B\

Suffisante?

Page 95: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Propriété *

INF6153 95

Consultant A

Consultant B

Banque A

Banque B

Auto A

\

\

Cette contrainte est pour empêcher la fuite d’infos, v. après

Page 96: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Contraintes pour une implémentation

• (Propriété simple) Un sujet S peut lire un objet O ssi un des suivants est vrai:– Tous les objets que S a déjà lu sont dans des classes de conflit différentes de

celle de O– S a déjà lu un objet dans la même compagnie

• (Propriété ) Un sujet S peut écrire un objet O ssi les deux suivants sont vrais:– La propriété simple permet à S d’accéder à O– S peut lire seulement les objets de la même compagnie de O

96INF6153

Page 97: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Propriétés dérivées

• Pouvoir d’écriture très limité:– Un sujet qui a déjà lu des objets d’une seule compagnie

ne peut écrire que sur les objets de cette même cie– Un sujet qui a déjà lu des objets de plus d’une

compagnie ne peut plus écrire sur aucun objet• Même si les cies ne sont pas en conflit

97INF6153

Page 98: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Pourquoi limiter le pouvoir d’écriture

• Alice peut lire des objets dans la Banque Royale et Shell (dans classes de conflit différentes)

• Bob peut lire Banque Desjardins et Shell (OK pour propr. simple)• Si Bob pouvait écrire sur Shell, il pourrait transférer des données de

Desjardins à Alice

98INF6153

B Roy

B DesjShellOil

Alice

Bob\

Les infos de BDesj peuvent se

trouver dans Shell

Page 99: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Éviter fuites indirectes• Cette contrainte limite beaucoup l’utilité de ce modèle mais elle

ne peut pas être évitée• Supposons qu’on ajoute la règle que S peut écrire sur O

seulement si aucun sujet en conflit avec la cie de O ne peut y lire• La fuite peut encore se vérifier par l’entremise de Carole!

99

B Roy

B DesjShell Honda

Alice

CaroleBob

Les infos de

Banque2 peuvent se

trouver dans

Honda

INF6153

Page 100: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Contrainte additionnelle

• On peut renforcer la propriété simple comme suit:– Un sujet S peut accéder (=lire ou écrire) à un objet O ssi un des suivants est

vrai:• Tous les objets que S a déjà accédé sont dans des classes de conflit différentes de celle de O• S a déjà accédé à un objet dans la même compagnie

• Cette contrainte assure une propriété d’intégrité additionnelle:– Empêche qu’un sujet puisse écrire dans deux objets dans la même classe de

conflit• P.ex. sans cette contrainte Alice pourrait écrire dans les bases de données de deux

banques des données différentes pour aider l’une et nuire à l’autre

100

Alice

Banque1 Banque2

INF6153

NON

Page 101: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Succès de CW

• Malgré ses limites, le CW ou des mécanismes semblables sont prescrits dans des lois sur la comptabilité et la finance

• Sandhu a justement observé que les limitations de CW ne seraient pas raisonnables si appliquées à un usager physique, mais elles peuvent l’être si appliquées à un sujet informatique, tel qu’un Cheval de Troie

101INF6153

Page 102: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Puissance relative

• CW est plus puissant que BLP– CW peut émuler BLP– BLP ne peut pas exactement émuler CW

• Dans BLP on ne peut pas garder la connaissance de ce qui s’est passé avant

– Les accès précédents

• Cependant en chaque moment, BLP peut représenter les contraintes BLP qui existent à ce moment-là

– V. manuel de M. Bishop: Computer Security, Art and Science

102INF6153

Page 103: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Flux de données

• On voit que dans CW les données peut être transférées seulement entre objets d’une même compagnie– Le transfert est impossible entre sujets de cies

différentes, même si elles sont dans des classes différentes de conflits

103INF6153

Page 104: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Objets désinfectés

• Pour pallier à ces limites, le modèle admet que n’importe qui peut faire accès à des objets ‘désinfectés’, où les données critiques ont été éliminées ou déguisées– P.ex. des statistiques etc.

• ‘Sanitized’ information

INF6153 104

Page 105: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Plusieurs versions

• CW existe aussi en plusieurs versions• Une version souvent utilisée est de définir “l’accès

préalable” comme lecture seulement– Une écriture ne place pas un sujet dans une classe de

conflit d’intérêt– La propriété additionnelle que nous venons de

mentionner n’est pas vraie dans ce cas

105INF6153

Page 106: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exercice

• Montrer comment le modèle CW peut être utilisé pour empêcher les Chevaux de Troie

INF6153 106

Page 107: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Application du modèle treillis

• Le modèle treillis peut être appliqué aussi au CW, mais ceci est laissé à vos lectures

INF6153 107

Page 108: MAC Mandatory  Access Control Contrôle d’accès obligatoire

LBAC: Étiquettes de sécuritéméthode qui combine des éléments de DAC et MAC

INF6153 108

Myers et Liskov 1997http://www.cs.cornell.edu/andru/papers/iflow-Sosp97/(les figures sont prises de cet article)

Page 109: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Modèle des étiquettes de sécurité(LBAC: Label-based Access Control)

• Idée:– Alice a un dossier A de photos, elle ne veut pas qu’il soit jamais lu par son

patron• Une étiquette avec cette restriction accompagnera en permanence le dossier A, même

s’il est recopié ou modifié

– Bob a un dossier B de photos, il ne veut pas qu’il soit lu par son père • Pareillement, le dossier B aura une étiquette indiquant ce fait

– Si un nouveau dossier C est produit qui contient des photos provenant de A et B• Le dossier C est automatiquement étiqueté qu’il ne peut être lu ni par le patron

d’Alice ni par le père de Bob– (conjonction des contraintes)

INF6153 109

Page 110: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Déclassement

• Jusqu`à ce point, les dossiers peuvent devenir seulement de plus en plus difficiles à accéder

• Ce modèle prévoit qu’un dossier puisse être déclassifié – par le propriétaire ou– par des agents fiés (trusted agents)

• P.ex. Alice et Bob ensemble décident que toutes les photos ‘délicates’ ont été enlevées et que C peut être étiqueté ‘public’.

• Ou il peuvent reconnaître un tiers comme agent fié qui peut déclassifier le fichier C

INF6153 110

Page 111: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exemple d’hôpital

INF6153 111

p: p,H : le propriétaire est le patient et les données peuvent être lues par le patient ou l’hôpital

Aucune restriction

Data extractor: agent fié: nettoie les données des infos privées et les rend dispos aux chercheurs RR deviennent propriétaires et peuvent déclassifier le résultat de leur analyse

Page 112: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exemple de banque

INF6153 112

Le propriétaire est un client spécifique Ci et tant le propriétaire que la banque peuvent le lire

La banque répond à plusieurs requêtes des clients. Le propriétaire des requêtes est le client mais la banque peut les voir aussi

L’agent fié T génère des totaux pour la banque et le résultat est visible seulement par la banque

Page 113: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Exercice:Le déclassement et la non-interférence

• Nous avons fait l’exemple de la vérification du mot de passe pour montrer que le modèle de la non-interférence pourrait être trop stricte

• Réfléchir sur comment le concept de déclassement peut résoudre ce problème

INF6153 113

Page 114: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Considérations

• Une idée qui a été bien étudiée en théorie mais qui a peu été exploitée en pratique

• Se préoccupe surtout de l’aspect ‘protection de la vie privée’– Nous avons vu seulement des exemples de ‘lecture’

• Aura un futur …

INF6153 114

Page 115: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Conclusion sur les modèles MAC et LBAC

• Ces modèles proposent des méthodes rigoureuses pour la protection des données– Pour le contrôle de flux des données – Au delà du simple accès aux données

• Leurs principes ont été très étudiés et implémentés dans nombreux systèmes

• Cependant pour être vraiment pratiques, ces méthodes doivent subir des exceptions– Ce qui ouvre des failles …

INF6153 115

Page 116: MAC Mandatory  Access Control Contrôle d’accès obligatoire

Quelques champions …

INF6153 116

Kenneth BibaDavid Elliott Bell Dorothy Denning

Barbara Liskov