Le contrôle d’accès

Le contrôle d’accès consiste à vérifier si un sujet demandant l’accès à un objet, possède les droits nécessaires pour y accéder. Son efficacité repose sur 2 règles :

  • Le sujet doit être identifié par le biais des procédures d’authentification
  • Tous les droits d’accès (utilisateur/processus) doivent être protégés de toute modification sur le système

La politique d’accès spécifie les accès autorisés.

Les mécanismes d’accès sont les outils déployés pour assurer la politique d’accès.

La différenciation faite entre la politique & les mécanismes d’accès découle de ce que l’analyse doit être indépendante de l’implémentation.

Exemple 1

Politique d’accès : Sécurité Militaire
Modèle d’accès associé : Confidentialité
Droit d’accès concerné : Lecture (Read)

Exemple 2

Politique d’accès : Sécurité Civile
Modèle d’accès associé : Intégrité
Droit d’accès concerné : Ecriture (Write)

Il existe 2 types de politiques de sécurité :

  • Discrétionnaire : les droits sont manipulés librement par le propriétaire
  • Mandats / Obligations : organisation hiérarchique multi-niveaux des utilisateurs et des ressources

Les modèles de sécurité permettent de vérifier la cohérence de la politique de sécurité ainsi que sa mise en œuvre. Il en existe 3 types :

  • Disponibilité : Willen
  • Intégrité : BIBA, Clark Wilson
  • Confidentialité : Lampson, Harrison Ruzzo Ullman, Bell LaPadula, Take-Grant

Le modèle HRU (Harrison Ruzzo Ullman) repose sur l’expression des permissions. Il s’agit de matérialiser les relations entre les Sujets (utilisateur ou processus), les Objets (fichiers, répertoires, processus, cellule mémoire) et les Actions disponibles (read, write, execute, own). Pour cela on modélise la matrice des droits d’accès : M (Sujet * Objet).

Le modèle Take-Grant permet de représenter des systèmes informatiques sous forme de graphes : les nœuds repésentent les sujets ou les objets, les arcs représentent les droits d’accès (take, grant, read, write). Ce modèle autorise certaines règles de modification : create, delete, remove.

Le modèle BLP (Bell LaPadula) introduit la notion de classification des informations par niveau de confidentialité, et la notion d’habilitation des utilisateurs pour l’accès aux données. L’utilisateur ne peut qu’écrire des données dont la classification est supérieure ou égale à son habilitation. De même, les données ne peuvent être lues que par des utilisateurs ayant une habilitation supérieure ou égale à la classification des données.

Le modèle BIBA est la reformulation du modèle BLP appliqué à garantir l’intégrité des données. Pour cela le modèle réutilise les notions de classification et d’habilitation, mais les règles changent. L’utilisateur ne peut qu’écrire des données dont la classification est inférieure ou égale à son habilitation. Enfin, les données ne peuvent être lues que par des utilisateurs ayant une habilitation inférieure ou égale à la classification des données.

Le modèle de Brewer & Nash ou “Muraille de chine” a été conçu afin de résoudre les conflits d’intérêts dans les sociétés de services. Les sujets sont répartis par domaine d’activité et les données par classe d’intérêt. Les interdictions dépendent alors du domaine d’activité et de la durée du secret commercial.

Le modèle R-BAC (Role-Based Access Control) est un modèle où les droits d’accès sont attribués aux personnes en fonction de leurs tâches. Il repose sur la notion de rôles actifs, couramment utilisés par le sujet, la notion de rôles autorisés, que le sujet peut assumer au cours de ses activités, ainsi que la liste des transactions autorisées pour les différents rôles. Il a pour avantage de séparer l’identité du sujet et ses droits d’accès.

Le modèle OR-BAC (ORganization-Based Access Control) est un modèle basé sur la notion d’organisation (ensemble de sujets actifs) et de contexte. Les sujets peuvent être des utilisateurs ou une organisation. Les rôles sont les liens entre les sujets et les organisations. Le domaine d’activité permet d’ajouter des actions disponibles, et les objets manipulés proposent différentes vues.

Tous les modèles décrits précédemment se basent sur la matrice des droits d’accès. Si la majorité des sujets ont des droits sur une minorité d’objets gérés par le système, la matrice est appelée matrice creuse.

Les listes de contrôle d’accès (ex : ACL Cisco) permettent une politique très statique associée à chaque ressource qui doit posséder la liste de tous les sujets et de leurs droits. Elles impliquent une forte consommation d’espace mémoire pour le stockage et une sollicitation importante pour les calculs.

Les capacités (ex : certificats X.509) permettent de stocker sur la station du client, ses autorisations disponibles pour une ressource. Elles permettent une gestion plus souple et plus dynamique que les listes de contrôle d’accès.

Pour conclure, étudions 2 modes d’attaque : les virus et les chevaux de Troie (trojans) :

  • Les virus mettent à mal l’intégrité de la station de la victime
  • Les trojans rompent la chaîne de confidentialité des données stockée par la victime

Appliquons ces attaques aux modèles BLP et BIBA :

  • Le modèle BLP garantit la confidentialité mais pas l’intégrité, il est donc vulnérable aux virus
  • Le modèle BIBA garantit l’intégrité mais pas la confidentialité, il est donc vulnérable aux trojans

NB : cet article a été réalisé à l’aide de mes notes de cours ( Modèles de sécurité de Abdallah M’Hamed) et divers sources Internet (Wikipédia, …).

Mots-clefs :

Le commentaires sont fermés.