• Aucun résultat trouvé

2.2 Modèles de contrôle d’accès

2.2.1 Le contrôle d’accès discrétionnaire

Le contrôle d’accès discrétionnaireDACest le contrôle d’accès que l’on retrouve sur la majorité des systèmes d’exploitation (Linux, Windows et MacOS). Il laisse à la discrétion de l’utilisateur le soin de gérer les accès sur les fichiers qu’il possède. Dans la pratique, les utilisateurs disposent de commandes système leur permettant de définir les accès sur ces fichiers.

2.2.1.1 Lampson

Le premier à avoir formalisé ce modèle de contrôle d’accès est Lampson. Il commence par donner deux définitions : la première concerne les capacités et la seconde concerne les listes de contrôle d’accès (Access Control List, ACL ). Ces deux définitions sont décrites dans [Lampson, 1969]. [Lampson, 1971] affine ces définitions grâce à la modélisation de la no-tion de matrice d’accès. Il propose de placer dans une matrice A, l’ensemble D des domaines de protection qui représentent des contextes d’exécution pour les programmes (les sujets) sur les lignes, et en colonnes l’ensembleXdes objets (incluant les domaines).

Lampson donne des définitions de chaque terme. Un objet est une "chose" du système qui doit être protégée. Cela peut être, par exemple, les processus, les domaines, les fichiers, etc. Les do-maines sont les entités du système qui ont accès aux objets. La propriété essentielle d’un domaine est qu’il a des permissions différentes des autres domaines. De part cette définition, les domaines sont donc aussi des objets. Les capacités (capabilities) sont des privilèges accordés aux domaines.

Sous Linux, ces privilèges scindent ceux du super-utilisateur en capacité que l’on peut accorder ou interdire à chaque utilisateur.

Définition 2.2.1 Liste des capacitésÉtant donné un domained∈ D, la liste des capacités pour le domaine d est l’ensemble des couples(o, A[d, o]),∀o∈X.

Définition 2.2.2 Liste de Contrôle d’Accès Étant donné un objet o ∈ X, la liste de contrôle d’accès pour l’objet o est l’ensemble des couples(d, A[d, o]),∀d∈D.

Lampson ajoute deux nouvelles capacités : le droitpropriétaireet le droit de copie sym-bolisé par *. Dans la table 2.2, le droit propriétaire ajouté au Domaine1 l’autorise à contrôler les droits sur leF ichier1 pour l’ensemble des domaines. D’un point de vue de la matrice, il est capable de modifier les droits sur l’ensemble de la colonne. Le droit de copie*, s’applique sur une permission spécifique, autorisant le domaine qui possède cette capacité à recopier la permission sur toute la colonne correspondante.

Objets

F ichier1 F ichier2 Repertoire1 P rocess1

Domaine1 Lecture, écriture, propriétaire Lecture Lecture, exécution Signaux

Domaine2 Lecture Lecture, écriture, exécution

Domaine3 Exécution *Ecriture

FIGURE2.2 – Représentation de Lampson d’une matrice d’accès Ce modèle a ensuite évolué vers le modèle HRU [Harrisonet al., 1976].

2.2.1.2 HRU

Dans le modèle HRU [Harrisonet al., 1976], les auteurs modélisent le contrôle d’accès discré-tionnaire à partir d’une matriceP, qui représente l’ensemble des droits d’accès des sujets sur les objets. Les sujets peuvent créer des sujets, des objets et modifier les permissions.

Les auteurs du modèle HRU proposent de modéliser le contrôle d’accès de la manière suivante :

— l’ensemble des sujetsSet l’ensemble des objetsO;

— l’ensemble des droits génériquesRtels que possession, lecture, écriture, exécution ;

— une configuration de protection système repose sur le triplet(S, O, P);

— une matrice de contrôle d’accèsP;

— un ensemble finiCde commandesc1, ... ,cn, représente l’ensemble des opérations fournies par le système d’exploitation (création de fichier, modification des droits...) ;

— un ensemble d’opérations élémentairesE:enteretdeletepour l’ajout et la suppression de droits,create subjectetcreate objectpour la création de nouveaux sujets et objets et enfin destroy subjectetdestroy objectpour la destruction de sujets et objets.

Afin d’étudier le problème de la sûreté d’un système de protection, HRU s’intéresse au transfert de privilège (droit), qui se produit lorsqu’une commande insère un droit particulierr, dans une case de la matriceP où il était précédemment absent. La problématique de sûreté d’un système de protection se définit ainsi :étant donné une configuration initiale de la politique de sécurité, un système est considéré comme sûr pour un droitr si aucune des commandes de ce système ne provoque le transfert du droitr.

Les auteurs prouvent que lorsque les commandes ne contiennent qu’une seule action élémen-taire, le problème de sûreté est décidable mais l’algorithme de vérification estNP-Complet. Ce modèle mono-opérationnel n’est pas du tout représentatif des systèmes courants. Dans le cas gé-néral, le problème de la protection d’un système est indécidable. Le problème est néanmoins de taille polynomiale si on retire les opérations de création de sujet et d’objet du modèle de protection.

Dans le cas d’un système d’exploitation, le problème de la vérification d’un contrôle d’accès discrétionnaire est indécidable. Ce résultat prouve qu’il n’est pas possible de garantir des propriétés de sécurité avec un contrôle d’accès discrétionnaire.

2.2.1.3 TAM

Le modèle TAM (Typed Access Matrix) exprimé par [Sandhu, 1992], propose une extension du modèle HRU en intégrant la notion de typage fort. Cette notion provient de travaux plus anciens de SPM (Sandhu’s Schematic Protection Model) [Sandhu, 1988] et se traduit par l’attachement de types de sécurité immuables à tous les sujets et objets du système.

Le modèle HRU est enrichi d’un nouvel ensembleT des types de sécurité. Cet ensemble est un ensemble fini, c’est-à-dire qu’il n’est pas possible de créer de nouveaux types. La gestion des types est prise en compte dans les opérations élémentaires décrites pour le modèle HRU.

L’auteur s’intéresse ensuite à la version monotone du modèle TAM, MTAM (Monotonic Typed Access Matrix) qui se caractérise par la suppression des opérations de suppression (droits, sujets et objets). À partir du modèle MTAM, il démontre que le problème de sûreté de fonctionnement est décidable car le graphe de création des sujets et des objets est acyclique. Cependant, la complexité du problème reste NP. C’est pourquoi Sandhu définit le modèle MTAM ternaire, dans lequel toutes les commandes ont au maximum trois arguments. Au prix d’une perte d’expressivité, le problème de sûreté voit sa complexité ramenée à un degré polynomial.

En pratique, ce modèle théorique est difficilement applicable car il revient à ne jamais modifier la politique de contrôle d’accès.

2.2.1.4 DTAM

La modèle DTAM (Dynamic-Typed Access Matrix) est exprimé par [Soshiet al., 2004]. Ils proposent une extension du modèle TAM. Le but de ce modèle est d’autoriser les types des ob-jets à être changé de façon dynamique, à la différence du modèle TAM où ils sont statiques. De plus, ce modèle permet de décrire les systèmes de protection non-monotonique pour lesquels la problématique de sûreté est décidable.

Le modèle se base sur le modèle TAM à l’exception que les objets peuvent changer de types de façon dynamique et que l’ensemble des types est un fini. Les auteurs ajoutent donc des commandes supplémentaires aux commandes définies par HRU telles quechange type of subjectetchange type of object.

Les auteurs du modèle DTAM démontrent que la sûreté du système de protection est décidable en s’appuyant sur le fait que la commande create génère des changements irréversibles sur les

types des objets parents. Cela signifie que lorsqu’un domaine crée un objet via la commande create, le domaine change aussi de types. De plus, un objet ne peut avoir un type qu’il a possédé auparavant, donc le nombre de changements de types pour un objet est fini puisque le nombre de types est fini. Par conséquence, le problème de sûreté devient décidable dans ce modèle. Il est à noter que dans ce modèle, il est possible que le système atteigne un état dans lequel il ne puisse plus créer de nouveaux objets lorsque tous les objets du système ont utilisés tous les types possibles.

Cela revient à avoir une politique figée où l’on ne peut définir de nouveaux types. Ce modèle théorique est donc aussi difficilement utilisable en pratique.