Vous êtes sur la page 1sur 12

Les politiques

III -

III
obligatoires
(MAC)

Les politiques de sécurité obligatoires appliquent le contrôle d'accès sur la base de


règlements imposés par une autorité centrale. La forme la plus commune de la
politique obligatoire est la politique de sécurité multi-niveaux, basée sur les
classifications des sujets et des objets dans le système.
Les objets sont des entités passives stockant des informations. Les sujets sont des
entités actives qui demandent l'accès aux objets.

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.

Les classes d'accès définies précédemment, avec la relation de dominance entre


elles forment donc un treillis . La figure ci dessous illustre le treillis de sécurité
obtenu en considérant des niveaux de sécurité TS et S, TS> S et l'ensemble des
catégories {Nucléaire, Armée}.

Treillis de sécurité

La sémantique et l'utilisation des classifications assignées à des objets et des sujets


au sein de l'application d'une politique obligatoire multi-niveaux diffèrent selon que

Nazih Selmoune
32
Les politiques obligatoires (MAC)

le classement soit destiné à une politique de confidentialité ou d'intégrité.

B. Politiques obligatoires basées sur la


confidentialité

Une politique obligatoire de confidentialité contrôle les flux directs et indirects de


l'information dans le but de prévenir les fuites vers les sujets non autorisées. Dans
ce cas, la sémantique de la classification est la suivante :
Le niveau de sécurité de la classe d'accès associé à un objet reflète la sensibilité de
l'information contenue dans l'objet, qui constitue le dommage potentiel qui pourrait
résulter de la divulgation non autorisée de l'information.

Le niveau de sécurité de la classe d'accès associée à un utilisateur, appelé aussi


habilitation (claerance), reflète la fiabilité de l'utilisateur à ne pas divulguer des
informations sensibles à des utilisateurs non habilités à y accéder.

Les catégories définissent le domaine de compétence des utilisateurs et des


données et sont utilisées pour fournir des classifications de plus fins grain de
sécurité des sujets et objets, par rapport aux classifications prévues par les niveaux
de sécurité uniquement.
Les catégories sont à la base de l'application des restrictions du type "besoin de
savoir" (par exemple, limiter les sujets à accéder uniquement à l'information dont
ils ont réellement besoin pour faire leur travail).
Les utilisateurs peuvent se connecter au système à n'importe quel classe d'accès
dominés par leur habilitation.
Un utilisateur qui se connecte au système à une classe d'accès proposée donne lieu
à un sujet de la même classe.

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

 No-read-up (règle simple) : Un sujet n'est autorisé à accéder en lecture à un


objet que si la classe d'accès du sujet domine la classe d'accès de l'objet.
 No-write-down (règle étoile) : Un sujet n' a droit d' accéder en écriture à un
objet que si la classe d'accès du sujet est dominée par la classe d'accès de
l'objet.

La satisfaction de ces deux principes empêche l'information de circuler à partir de


sujets / objets de haut niveau vers des sujets / objets à des niveaux inférieurs (ou
incomparable), assurant ainsi la satisfaction des exigences de protection (c.-à-d
aucun processus ne sera en mesure de fournir des informations sensibles
accessibles aux utilisateurs non habilités à les connaître).
Ceci est illustré dans la figure ci dessous , où quatre classes d'accès composées

Nazih Selmoune
33
Les politiques obligatoires (MAC)

uniquement d'un niveau de sécurité (TS, S, C et U) sont prises comme exemple.


Notez l'importance de contrôler à la fois les opérations de lecture et d'écriture,
puisque les deux peuvent être détournées pour des fuites d'informations.

Flux d'informations dans les politiques obligatoires de confidentialité

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.

Compte tenu du principe de no-write-down, il est clair maintenant pourquoi les


utilisateurs sont autorisés à se connecter au système avec différentes classes
d'accès, de sorte qu'ils soient en mesure d'accéder à l'information à différents
niveaux (à condition qu'ils soient habilités (cleared) pour ce niveau).

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.

Pour répondre à de telles situations, les systèmes multi-niveaux devraient alors


permettre des exceptions, en perdant ou renonçant à des restrictions, de façon
contrôlée, pour des processus qui sont dignes de confiance, en s'assurant que
l'information est aseptisée (c'est à dire si elle est purgée des détails sensibles).

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

Les principes de contrôle basé sur la confidentialité présentés précédemment


résument les axiomes de base du modèle de sécurité proposé par David Bell et
Leonard LaPadula. Nous présentons ci dessous quelques concepts de la
formalisation du modèle afin de donner une idée sur les différents aspect à prendre
en considération lors de la définition d'un modèle de sécurité.

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.

Dans le modèle de Bell-LaPdula un système est composé d'ensembles de sujets S,


d'objets O, et d'actions A (incluant lecture et écriture). Le modèle comporte
également un treillis L de classes d'accès et une fonction λ : S ∪ O → L qui,
appliquée à un sujet (resp objet) dans un état donnée retourne la classification du
sujet (resp objet) dans cet état.
Un état v ∈ V est défini comme un triplet (b, M, λ), où
 b ∈ Ƥ(S×O×A) est l'ensemble des accès courants (s,o,a),
 M est la matrice d'accès exprimant des permissions discrétionnaires (tel que
dans le modèle HRU), et
 λ est l'association entre les classes d'accès et les sujets/objets.
Le système consiste en un état initial v 0 , un ensemble de requêtes R, et une

Nazih Selmoune
35
Les politiques obligatoires (MAC)

fonction de transition d'état T : V ×R→V, qui transforme l'état du système vers un


autre état en résultat de l'exécution d'une requête.
Intuitivement les requêtes expriment l'acquisition et la libération des accès, l'octroi
et la révocation des autorisations, ainsi que les changements de niveaux.
Le modèle définit alors un ensemble d'axiomes spécifiant les propriétés que le
système doit satisfaire, et qui expriment les contraintes imposées par la politique
obligatoire.

La première version du modèle de Bell-LaPadula stipule les critères suivant :


 Propriété simple : Un état v vérifie la propriété simple de sécurité ssi pour
tout s ∈ S, o ∈ O : (s,o,read) ∈ b ⇒λ(s)≥λ(o).
 Propriété-* : Un état v vérifie la propriété de sécurité-* ssi pour tout s ∈S, o
∈O: (s,o,write)∈b ⇒λ(o) ≥ λ(s).

Les deux axiomes ci-dessus correspondent aux principes de no-read-up et no-write-


down que nous avons illustrés dans la section précédente.
Un état est alors défini comme sécurisé s'il satisfait à la fois les deux propriétés.
Un système (v0, R, T) est sécurisé si et seulement si tout état atteignable à partir
de v0 par l'exécution d'une ou de plusieurs séquences finies de requêtes de R est
sécurisé.

Bell et LaPadula proposent un théorème de sécurité de base (BST), sur la base


duquel un système est sécurisé si
1. Son état initial v0 est sécurisé
2. La fonction de transformation d'état préserve la sécurité (elle transforme un
état sécurisé en autre état sécurisé).

2. Politique de la muraille de Chine

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)

Un exemple d'organisation d'objets

É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.

Intuitivement, la règle de sécurité simple empêche les fuites d'informations directes


qui peuvent être tentées par un seul utilisateur, tandis que la propriété * bloque
des fuites d'informations indirectes qui peuvent se produire avec la complicité de
deux ou plusieurs utilisateurs.

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.

Il est clair que l'application de la politique de muraille de Chine a également ses

Nazih Selmoune
37
Les politiques obligatoires (MAC)

limites. En particulier, l'application stricte des propriétés peut entraîner un excès de


rigidité et, donc la nécessité d'exceptions et le support d'aseptisation. En outre, la
mise en œuvre de cette politique, nécessite de maintenir et interroger l'historique
des accès.

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.

C. Politiques obligatoires basées sur l'intégrité

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).

La sémantique des classifications intégrité est la suivante.


 Le niveau d'intégrité associé à un utilisateur reflète la confiance accordée à
l'utilisateur pour insérer, modifier, ou supprimer les informations.
 Le niveau d'intégrité associé à un objet reflète à la fois le degré de confiance
qui peut être attribué aux informations stockées dans l'objet et les
dommages potentiels qui pourraient résulter de modifications non autorisées
de l'information.
Les catégories définissent le domaine de compétence des utilisateurs et des
données.

Le contrôle d'accès est appliqué selon les deux principes suivants :


1. No-read-down : Un sujet n'a droit à un accès en lecture à un objet que si la
classe d'accès de l'objet domine la classe d'accès du sujet.
2. No-write-up : Un sujet n'a droit à un accès en écriture à un objet que si la
classe d'accès du sujet domine la classe d'accès de l'objet.

Nazih Selmoune
38
Les politiques obligatoires (MAC)

La satisfaction de ces principes préserve l'intégrité en empêchant des informations


stockées dans des objets de bas niveau (et donc moins fiable) de s'écouler vers des
objets de plus haut niveau ou incomparable.
Ceci est illustré dans la figure ci dessous, où les classes sont composées
uniquement des niveaux d'intégrité (C, I, et U).

Flux d'information pour l'intégrité

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.

2. Politique de Clark et Wilson

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)

pour établir les responsabilités).

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.

Transactions bien formées


Les utilisateurs ne doivent pas manipuler les données arbitrairement, mais
seulement de façon contrainte afin d'assurer l'intégrité des données. Un système
dans lequel les transactions sont bien formées garantit que seules les actions
légitimes peuvent être exécutées. En outre, les transactions bien formées devraient
fournir journalisation et sérialisation des sous-transactions résultantes, de façon à
ce que les mécanismes de concurrence et de récupération puissent être mis en
place.

Séparation des pouvoirs


Le système doit associer à chaque utilisateur un ensemble valide de programmes à
exécuter. Les privilèges accordés à chaque utilisateur doivent satisfaire le principe
de séparation des pouvoirs. La séparation des pouvoirs empêche les utilisateurs
autorisés d'apporter des modifications inappropriées, préservant ainsi la cohérence
des données en veillant à ce que les données dans le système reflètent le monde
réel qu'ils représentent.

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.

La définition des transactions bien formées et la mise en œuvre des contraintes de


séparation des pouvoirs est basée sur les concepts suivants :
 Articles de données contraints (Constrained Data Items CDIs) : Ce sont les
objets dont l'intégrité doit être préservée.
 Articles de données non contraints (Unconstrained Data Items UDIs) : Ce
sont des objets qui ne sont pas couverts par la politique d'intégrité.
 Procédures de vérification d'intégrité (Integrity Verification Procedures
IVPs) :Ce sont des procédures destinées à vérifier que les CDIs sont dans un
état valide, c'est à dire que les IVPs confirment que les données sont
conformes aux spécifications d'intégrité au moment où la vérification est
effectuée.
 Procédures de transformation (Transformation Procedures TPs) Ce sont les
seules procédures (bien formées) qui sont autorisés à modifier CDIs ou à
créer de nouveaux CDIs. Les TPs sont conçus pour faire évoluer le système
d'un état valide à un autre.

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)

formées qu'il peut exécuter (qui ont accès aux CDIs).

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.

Règles de Clark et Wilson


C1 : Les IVPs doivent assurer que les CDIs sont dans un état valide au moment de
son exécution.
C2 :Toutes les TP doivent être certifiées valides (préserve la validité de l'état des
CDI).
C3 : L'affectation des TPs aux utilisateurs doit respecter la séparation des pouvoirs.
C4: Tout exécution d'une TP doit être enregistrée dans des journaux d'exécution
(logs).
C5 : Chaque TP qui prend en entrée un UDI produit en sortie une CDI valide.
E1: Le système doit veiller à ce que seules les TPs certifiées peuvent manipuler les
CDIs.
E2: Les utilisateurs ne peuvent accéder à des CDIs qu'à travers des TPs pour
lesquelles ils sont autorisés.
E3: Le système doit authentifier chaque utilisateur qui souhaite utiliser une TP.
E4: Seul l'administrateur autorisé à certifier les entités (CDI, UDI, IVP, TP) peut
modifier la liste des entités et leur association à d'autres entités.

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.

D. Limites des politiques obligatoires

Bien que les politiques obligatoires, contrairement aux discrétionnaires, assurent


une protection contre les fuites d'informations indirectes, elles ne garantissent pas
la confidentialité absolue de l'information.
En fait, les politiques obligatoires basées sur la confidentialité contrôlent
uniquement les canaux légitimes de l'information,elles restent vulnérables aux
canaux cachés.

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.

Les canaux peuvent également être créés sans modification de la réponse du


système aux processus.

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.

Par conséquent, toute ressource commune ou propriété observable de l'état du


système peut être utilisée pour des fuites d'informations. La prise en compte des
canaux cachés nécessite un intérêt particulier lors de la conception des mécanismes
de verrouillage et de gestion de la concurrence, en évitant au même temps
d'introduire des dénis de services.

Nazih Selmoune
42

Vous aimerez peut-être aussi