Académique Documents
Professionnel Documents
Culture Documents
III -
III
obligatoires
(MAC)
Attention
Notez qu'il existe une distinction entre les sujets de la politique obligatoire et les
sujets dans les politiques discrétionnaires. Alors que les sujets dans les politiques
discrétionnaires correspondent généralement aux utilisateurs (ou groupes
d'utilisateurs), les politiques obligatoires font une distinction entre les utilisateurs et
les sujets.
Les utilisateurs sont des êtres humains qui peuvent accéder au système, alors que
les sujets sont des processus (les programmes en exécution) s'exécutant pour le
compte des utilisateurs.
Cette distinction permet à la politique de contrôler les accès indirects (fuites ou
modifications) causés par l'exécution de processus.
A. Classifications de sécurité
Dans les politiques obligatoires multi-niveaux, une classe d'accès est attribuée à
chaque objet et à chaque sujet.
La classe d'accès est un élément d'un ensemble partiellement ordonné des classes.
L'ordre partiel est défini par une relation de dominance, que nous notons avec ≥.
Alors que dans le cas le plus général, l'ensemble des classes d'accès peut être
simplement un ensemble d'étiquettes qui, avec la relation de dominance forment un
ensemble partiellement ordonné (POSET), le plus souvent une classe d'accès est
défini comme étant constituée de deux composants:
Un niveau de sécurité
Un ensemble de catégories.
Le niveau de sécurité est un élément d'un ensemble ordonné hiérarchiquement, par
exemple : Top Secret (TS), Secret (S), Confidentiel (C), et Non classés (U), où TS>
Nazih Selmoune
31
Les politiques obligatoires (MAC)
S> C> U.
L'ensemble des catégories est un sous-ensemble d'un ensemble non ordonné, dont
les éléments référencent des domaines fonctionnels, ou de compétence, (par
exemple, l'OTAN, nucléaire, armée, pour les systèmes militaires, Financier,
Administratif et Recherche, dans des systèmes commerciaux).
La relation de dominance ≥ est alors définie comme suit : une classe d'accès c1
domine (≥) une classe d'accès c2 ssi le niveau de sécurité de c1 est supérieur ou
égal à celui de c2 et les catégories de c1 incluent ceux de c2.
Formellement, étant donné un ensemble totalement ordonné des niveaux de
sécurité L, et un ensemble de catégories C, l'ensemble des classes d'accès est :
AC=L X Ƥ(C), et ∀c1 = (L1,C1),c2 = (L2,C2) : c1 ≥ c2 ⇐⇒ L1 ≥ L2 ∧C1 ⊇ C2.
Deux classes c1 et c2, telles que ni c1 ≥ c2, ni c2 ≥ c1 ne sont vérifiées, sont dites
incomparables.
Il est facile de vérifier que la relation de dominance ainsi définie sur un ensemble
de classes d'accès AC satisfait les propriétés suivantes :
Réflexivité : ∀x ∈ AC : x ≥ x
Transitivité : ∀x,y, z ∈ AC : x ≥ y,y ≥ z ⇒x ≥ z
Anti symétrie : ∀x,y ∈ AC : x ≥ y,y ≥ x ⇒x = y
Existence d'un plus petit majorant : ∀x,y ∈ AC : ∃ ! z ∈ AC ,
a. z ≥ x et z ≥ y et
b. ∀t ∈ AC : t ≥ x et t ≥ y ⇒t ≥ z.
Existence d'un plus grand minorant : ∀x,y ∈ AC : ∃ !z ∈ AC ,
a. x ≥ z et y≥ z et
b. ∀t ∈ AC : x ≥ t and y ≥ t ⇒z ≥ t.
Treillis de sécurité
Nazih Selmoune
32
Les politiques obligatoires (MAC)
Exemple
Par exemple, en référence au treillis de la figure précédente, un utilisateur autorisé
(TS, {nucléaire}) peut se connecter au système en tant qu'un sujet (S,
{nucléaire}), (S,Ø), ou (TS, Ø ).
Les demandes formulées par un sujet pour accéder à un objet sont contrôlées par
rapport à la classe d'accès du sujet et de l'objet et ne sont accordées que si une
certaine relation, en fonction de l'accès demandé, est satisfaite.
En particulier, les deux principes, formulés pour la première fois par Bell et
LaPadula , doivent être satisfaits pour protéger la confidentialité des informations
Nazih Selmoune
33
Les politiques obligatoires (MAC)
Exemple
Prenons l'exemple du cheval de Troie illustré dans le chapitre 2. Les classifications
possibles qui reflètent les restrictions d'accès pourraient être: Secret pour Vicky et
"Market", et non classifié pour John et "Stolen".
Dans le respect des principes de no-read-up et no-write-down, le cheval de Troie ne
sera jamais en mesure de réussir sa mission. Si Vicky se connecte au système
comme un sujet "secret" (ou "confidentiel"), et donc l'application s'exécute avec
une classe d'accès " secret" (ou "confidentiel"), l'opération d'écriture sera bloquée.
Si Vicky invoque l'application comme un objet non classifié,c'est l'opération de
lecture qui sera bloquée.
Exemple
Par exemple, Vicky doit se connecter au système à un niveau inférieur à son
habilitation si elle veut écrire quelques informations non secrètes, telles que les
instructions de travail pour John.
Remarque
Notez que la classe inférieure ne signifie pas "moins" de privilèges en termes
absolus, mais uniquement moins de privilèges de lecture.
Bien que les utilisateurs peuvent se connecter au système à n'importe quel niveau
en dessous de leur habilitation, l'application stricte des principes no-read-up et no-
write-down peut être trop rigide.Les situations du monde réel exigent souvent des
exceptions aux restrictions obligatoires.
Nazih Selmoune
34
Les politiques obligatoires (MAC)
Dans certains cas, les données peuvent avoir besoin d'être déclassé (par exemple,
les données soumises à des restrictions d'accès, peuvent être libérées après un
certain temps).
En outre, les informations produites par un processus peuvent être moins sensibles
que les informations lues par ce processus.
Exemple
Une procédure peut accéder à des informations personnelles sur les employés d'une
organisation et calculer le bénéfice à accorder à chaque employé. Alors que les
informations personnelles peuvent être considérées comme secrètes, les bénéfices
peuvent être considérés comme confidentiels.
Remarque
Les politiques DAC et MAC ne s'excluent pas mutuellement, elles peuvent être
appliquées conjointement.
Dans ce cas, pour qu'un accès soit accordé il faut à la fois :
1. L'existence de l'autorisation nécessaire.
2. La satisfaction de la politique obligatoire.
Intuitivement, la politique discrétionnaire opère dans les limites de la politique
obligatoire: elle ne peut restreindre que l'ensemble des accès autorisés par la
politique obligatoire.
1. Le modèle de Bell-LaPadula
Remarque
Différentes versions du modèle ont été proposées, ceci est dû à la formalisation de
nouvelles propriétés, ou liées à des applications dans des environnements
spécifiques. Cependant les principes de base sont les mêmes.
Nazih Selmoune
35
Les politiques obligatoires (MAC)
La politique de muraille de Chine été présentée par D. Brewer and M. Nash comme
une tentative d'introduire la discrétion commerciale dans les contrôles obligatoires.
Le but est d'empêcher les flux d'information qui causent les conflits d'intérêts pour
les consultants individuels (par exemple, un consultant individuel ne devrait pas
avoir d'informations sur deux banques ou deux compagnies pétrolières).
Toutefois, contrairement modèle BLP, l'accès aux données n'est pas contraint par
les classifications de données mais par les données auxquelles les sujets ont déjà
accédé. Le modèle est basé sur une organisation hiérarchique des objets de
données comme suit:
Objets de base : sont des éléments individuels d'information (par exemple,
fichiers), chacun concernant une seule corporation ;
Ensembles de données d'entreprises : définissent des groupes d'objets qui
font référence à une même corporation;
Les classes de conflits d'intérêts : définissent des ensembles de données
d'entreprises qui font référence à des corporations concurrentes.
Exemple
La figure ci dessous illustre un exemple d'organisation de données où neuf objets
de quatre sociétés différentes, à savoir A, B, C, et D, sont représentés. En
conséquence quatre ensembles de données de l'entreprise sont définies. Les deux
conflits entre des classes d'intérêt représentées définissent les conflits entre A et B
et entre C et D.
Nazih Selmoune
36
Les politiques obligatoires (MAC)
Étant données l'organisation des objets telle que définie ci-dessus, la politique de
muraille de Chine restreint l'accès selon les deux propriétés suivantes :
1. Règle de sécurité simple : Un sujet ne peut avoir accès à un objet o que si
l'objet o vérifie une des conditions suivantes :
- o est dans le même ensemble de données d'entreprise que les données
précédemment accédées par s, c'est à dire dans la muraille.
- o appartient à une classe de conflit d'intérêt entièrement différente.
2. Propriété * : L'accès en écriture est permis uniquement si les deux
conditions suivantes sont vérifiées :
- L'accès est autorisé par la règle de sécurité simple.
- S ne peut lire aucun objet appartenant à un ensemble de données de
compagnies différent de celui de O, et contenant des données non
aseptisées.
Remarque
Une information est dite aseptisée si elle a été purgée de détails sensibles et elle
n'est pas sujette à des restrictions d'accès.
Le terme "sujet" utilisé dans les propriétés doit être interprété comme utilisateur.
La raison en est que, contrairement aux autre politiques obligatoires qui contrôlent
des processus, la politique de muraille de Chine contrôle les utilisateurs.
Il ne serait donc pas judicieux d'appliquer des restrictions sur les processus car
l'utilisateur pourrait être en mesure d'obtenir des informations sur les organisations
qui sont en conflit d'intérêts en lançant tout simplement deux processus différents.
Attention
La politique de muraille de Chine est considérée par certains auteurs comme une
politique discrétionnaire avec une couche obligatoire.
Exemple
Dans la figure précédente un flux indirect incorrect peut se produire si,
1. Un utilisateur lit les informations de l'objet objA-1 et l'inscrit dans ObjC-1,
puis
2. Un autre utilisateur lit les informations de ObjC-1 et il écrit dans objB-1.
Nazih Selmoune
37
Les politiques obligatoires (MAC)
Remarque
Bien que le modèle comporte certaines limites et inconvénients, la politique de
muraille de Chine a été considéré comme une référence dans le développement de
plusieurs politiques et modèles ultérieurs.
Les politiques obligatoires que nous avons discuté ci-dessus ne protègent que la
confidentialité de l'information; aucun contrôle n'est appliqué sur son intégrité.
Dans BLP les sujets en bas de classement peuvent encore être en mesure de forcer
des modifications indirectes inappropriées sur des objets sur lesquels ils ne doivent
pas écrire.
Exemple
En référence à notre exemple précédent, l'intégrité peut être compromise si le
cheval de Troie implanté par Jean dans l'application écrit des données dans le
fichier "Market" (cette opération ne serait pas bloquée par la politique basée sur la
confidentialité).
1. Modèle de Biba
A partir des principes du modèle de Bell et LaPadula, Biba a proposé une politique
inverse pour la sauvegarde de l'intégrité, qui contrôle la circulation de l'information
et empêche les sujets de modifier indirectement des informations sans y être
habilités.
Comme pour la confidentialité, à chaque sujet et objet dans le système est attribué
une classification en intégrité. Les classifications et les relations de dominance entre
elles sont définis comme précédemment. Par exemple les niveaux d'intégrité
pourraient être : crucial (C), important (I), et inconnu (U).
Nazih Selmoune
38
Les politiques obligatoires (MAC)
Comme il est visible sur les deux figures précédentes, les politiques de
confidentialité ne permettent la circulation de l'information que de bas en haut des
classes ( de confidentialité) alors que les politiques d'intégrité ne permettent la
circulation de l'information que de haut en bas des classes (d'intégrité).
Attention
Si,à la fois la confidentialité et l'intégrité doivent être contrôlés, les objets et les
sujets doivent être associées à deux classes d'accès, une pour le contrôle de la
confidentialité et une autre un pour le contrôle de l'intégrité.
Remarque
Une limitation majeure des politiques proposées par Biba, est qu'elles ne tiennent
compte que des problèmes d'intégrité dus aux flux d'information inappropriés.
Toutefois, l'intégrité est un concept beaucoup plus large et d'autres aspects doivent
être pris en compte.
Clark et Wilson proposent une approche à base d'intégrité, qui définit les quatre
critères suivant :
1. Authentification.
2. Audit.
3. Transactions bien formées.
4. Séparation des pouvoirs.
Authentification
L'identité de tous les utilisateurs qui accèdent au système doit être correctement
authentifié (il s'agit d'un préalable évident pour l'exactitude du contrôle, ainsi que
Nazih Selmoune
39
Les politiques obligatoires (MAC)
Audit
Les modifications doivent être enregistrées dans le but de maintenir un journal
d'audit qui enregistre chaque programme exécuté ainsi que l'utilisateur qui l'a
exécuté, de sorte que des changements puissent être annulées.
Remarque
Bien que l'authentification et l'audit sont deux mécanismes communs pour tout
système de contrôle d'accès, ces deux derniers aspects sont traités de façon
particulière dans l proposition de Clark et Wilson.
Remarque
Intuitivement, IVPs et TPs sont les moyens pour répondre au besoin de transactions
bien formées : toutes les modifications de données doivent être réalisées par les
TPs, et le résultat doit satisfaire aux conditions imposées par les IVPs.
La séparation des pouvoirs doit être prise en charge dans la définition des
opérations autorisées. Dans le modèle de Clark et Wilson, les opérations autorisées
sont spécifiées en attribuant à chaque utilisateur un ensemble de transactions bien
Nazih Selmoune
40
Les politiques obligatoires (MAC)
La séparation des pouvoirs nécessite que l'affectation soit définie d'une manière qui
rend impossible pour un utilisateur de violer l'intégrité du système. Intuitivement,
la séparation des pouvoirs est appliquée par le fractionnement des opérations en
sous-parties, chacune devant être exécutée par une personne différente (afin de
rendre les fraudes difficiles).
Exemple
Par exemple, toute personne autorisée à créer ou certifier une transaction bien
formée ne devrait pas être en mesure de l'exécuter.
Clark et Wilson ont définit neuf règles pour le maintien de l'intégrité du système.
Les règles sont divisées en deux types: la certification (C) et d'exécution (E).
Les règles de certification sont des opérations effectuées par un
administrateur,
Les règles d'exécution doivent être assurée par le système.
Remarque
La proposition de Clark et Wilson expose de bons principes pour le contrôle
d'intégrité. Toutefois, elle a ses limites en raison du fait qu'elle est loin d'être
formelle, et il est difficile de concevoir sa formalisation dans un cadre général.
Nazih Selmoune
41
Les politiques obligatoires (MAC)
Les canaux cachés sont des canaux qui ne sont pas destinés à la communication
normale, mais peuvent être exploités pour en déduire des informations.
Exemple
Considérons la demande d'un objet de bas niveau d'écrire dans un fichier de haut
niveau qui a été détruit (l'opération est légitime, puisque l'écriture vers le haut est
autorisée). Si le système renvoie une erreur, il s'expose à des fuites inappropriées
du fait que des processus de haut niveau malveillants peuvent créer et de détruire
le fichier de haut niveau pour signaler des informations aux processus de bas
niveau.
Cependant, si le processus de bas niveau n'est pas informé de l'erreur, ou si le
système crée automatiquement le fichier, les sujets peuvent ne pas être informés
des erreurs dans les tentatives légitimes d'écriture.
Exemple
Considérons un objet de bas niveau qui nécessite une ressource (par exemple, CPU
ou un verrou) qui est occupée par un sujet de haut niveau. En refusant l'attribution
de la ressource occupée, le système peut être exploité pour signaler des
informations à des niveaux inférieurs (processus de haut niveau peuvent lancer un
signal en demandant ou libérant des ressources).
Remarque
Si un processus de bas niveau peut voir un quelconque résultat différent à cause de
l'opération du processus de haut niveau, alors il y a un canal entre les deux.
Exemple
Des canaux temporels peuvent être créés s'il est possible pour un processus de
haut niveau d'affecter un temps de réponse système à un processus de bas niveau.
Remarque
Avec des canaux temporels la réponse que le processus de bas niveau reçoit est
toujours la même, c'est le temps de réponse qui communique des informations.
Nazih Selmoune
42