Matrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013



Documents pareils
Partie II Cours 3 (suite) : Sécurité de bases de données

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Exemple de politique de sécurité. Politique de sécurité. Exemple de politique de sécurité (suite) Exemple de politique de sécurité (suite)

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Sécurité et sûreté des systèmes embarqués et mobiles

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

INF4420: Éléments de Sécurité Informatique

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

LE MODELE CONCEPTUEL DE DONNEES

Bases de données relationnelles

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Cours Informatique Master STEP

Olivier Mondet

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

données en connaissance et en actions?

Bernard HAMM, Évelyne LAVOISIER

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Prérequis. Installation SNMP sous ESX. Date 19/01/2011 Version 1.1 Référence 001 Auteur Quentin OZENNE

Notes de cours : bases de données distribuées et repliquées

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

TP3 : Manipulation et implantation de systèmes de fichiers 1

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Gestion des Clés Publiques (PKI)

Utilitaires méconnus de StrataFrame

La sécurité dans les grilles

Utiliser Améliorer Prêcher. Introduction à LDAP

Architectures PKI. Sébastien VARRETTE

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

CHAPITRE 1 ARCHITECTURE

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Certificats Electronique d AE sur Clé USB

1 Lecture de fichiers

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Algorithmique & programmation

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Cours: Administration d'une Base de Données

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Bases de données et sites WEB Licence d informatique LI345

Tout d abord les pré-requis : Au menu un certain nombre de KB

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Projet gestion d'objets dupliqués

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Lieberman Software Corporation

Setting Up PC MACLAN File Server

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Devoir Surveillé de Sécurité des Réseaux

Machines virtuelles Cours 1 : Introduction

Langage SQL : créer et interroger une base

Initiation à la Programmation en Logique avec SISCtus Prolog

Introduction à MATLAB R

Programme cours ProConcept ERP

Frédéric Cuppens et Nora Cuppens-Boulahia

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de données Cours 1 : Généralités sur les bases de données

Cours Bases de données 2ème année IUT

INSTALLATION ET CONFIGURATION DE OPENLDAP

Bases de données et sites WEB

Encryptions, compression et partitionnement des données

Licence Sciences et Technologies Examen janvier 2010

Gestion des transactions et accès concurrents dans les bases de données relationnelles

SQL Historique

Cryptographie. Cours 3/8 - Chiffrement asymétrique

UML et les Bases de Données

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Ordonnancement temps réel

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Systèmes d information et bases de données (niveau 1)

ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS FEFORT ÉLÉMENTS DE CORRECTION

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Configurer la supervision pour une base MS SQL Server Viadéis Services

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Installation de Vmware serveur Windows

Optimisation Discrète

Gestion des utilisateurs et de leurs droits

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Manuel de l Administrateur

Conventions d écriture et outils de mise au point

D31: Protocoles Cryptographiques

Algorithmique et Programmation, IMA

module Introduction aux réseaux DHCP et codage Polytech / 5

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

TP Contraintes - Triggers

Stocker des données sur Amazon S3

16H Cours / 18H TD / 20H TP

Cisco CCVP. Configuration de CUCM

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Présentation du SC101

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Algorithmes pour la planification de mouvements en robotique non-holonome

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Synchronisation Mysql (Replication)

Transcription:

Matrice d accès Master SEMS, 2013-2014 Pierre Paradinas October 16, 2013

Le Concept de Matrice d Accès ntroduit en 1971 par Butler Lampson Definition On note O, l ensemble des entités objet qui sont impliquées dans le système. On note S, un sous ensemble des objets appelés sujets qui sont actifs. R un ensemble de droits. Un droit r e [s,o]. Les liens entre ces entités sont capturés dans la matrice d accès A où les objets sont les colonnes et les sujets les lignes.

Le Concept de Matrice d Accès ntroduit en 1971 par Butler Lampson Definition On note O, l ensemble des entités objet qui sont impliquées dans le système. On note S, un sous ensemble des objets appelés sujets qui sont actifs. R un ensemble de droits. Un droit r e [s,o]. Les liens entre ces entités sont capturés dans la matrice d accès A où les objets sont les colonnes et les sujets les lignes.

Le Concept de Matrice d Accès (suite) Example File 1 File 2 Process 1 Process 2 Process 1 r, w, o r r, w, e, o w Process 2 append r, o r r, w, e, o L interprétation dépend du système auquel s applique la matrice r:read;w:write;o:owner;e:execute;etc.

Exercice Hypothèse Soit les sujets : Alice, Bob et Cyndy Soit les objets (de type fichier) alicef, bobf et cyndyf appartenant respectivement aux 3 sujets ci-dessus De plus : Alice peut lire bobf Bob et Cyndy peuvent lire alicef Cyndy peut lire et écrire bobf Chaque propriétaire peut exécuter les fichiers qui lui appartiennent Question 1 Représenter la matrice d accès

Exercice-Solution Hypothèse Soit les sujets : Alice, Bob et Cyndy Soit les objets alicef, bobf et cyndyf appartenant respectivement aux 3 sujets ci-dessus De plus : Correction 1 Alice peut lire bobf Bob et Cyndy peuvent lire alicef Cyndy peut lire et écrire bobf Chaque propriétaire peut exécuter les fichiers qui lui appartiennent alicef bobf cyndyf Alice Bob Cyndy Alice o,r,w,e r x Bob r o,r,w,e x Cyndy r r,w o,r,w,e x

Exercice Suite Hypothèse Soit les sujets : Alice, Bob et Cyndy Soit les objets alicef, bobf et cyndyf appartenant respectivement aux 3 sujets ci-dessus De plus : Alice peut lire bobf Bob et Cyndy peuvent lire alicef Cyndy peut lire et écrire bobf Chaque propriétaire peut exécuter les fichiers qui lui appartiennent Question 2 Cyndy donne a Alice le droit de lire cyndyf, Alice retire le droit de lire à Bob sur ses fichiers. Représenter la nouvelle matrice d accès

Exercice-Solution Matrice d accès avant alicef bobf cyndyf Alice Bob Cyndy Alice o,r,w,e r x Bob r o,r,w,e x Cyndy r r,w o,r,w,e x Cyndy donne a Alice le droit de lire cyndyf, Alice retire le droit de lire à Bob sur ses fichiers Matrice d accès après alicef bobf cyndyf Alice Bob Cyndy Alice o,r,w,e r r x Bob r o,r,w,e x Cyndy r r,w o,r,w,e x

Le Concept de Matrice d Accès (suite) Le modèle de la matrice d accès peut s appliquer à di érents niveaux: Au niveau des services du SE (like in Unix) AbasniveauduSE Au niveau des utilisateurs d un SGBD Le modèle de la matrice d accès peut au niveau de la manière de réaliser le contrôle aller au delà du oui/non : évaluation booléenne évaluation historique évaluation/calcul plus ou moins complexe

Exercice Hypothèse Fonction de lock sur un fichier Un seul écrivain à la fois Plusieurs lecteurs possible mais aucun pendant l action d écriture Solution inc_lock dec_lock read_f write_f lock inc_lock dec_lock read_f write_f

Exercice-Solution Hypothèse Fonction de lock sur un fichier Un seul écrivain à la fois Plusieurs lecteurs possible mais aucun pendant l action d écriture Solution lock 2 Z, silock 0 correspond aux lecteurs; si lock = -1 correspond à l unique écrivain lock inc_lock dec_lock read_f write_f inc_lock inc(lock) x dec_lock dec(loc) x read_f yes, if lock 0 x write_f yes, if lock = 0 x

Exercice-Mailing-List Contexte Les intervenants : Administrateurs des listes (toutes) Créateurs de listes Modérateurs de listes Membres de listes Personnes de l organisation externe à la liste Personnes extérieures à l organisation Actions sur une liste Création, destruction Envois de courrier sur une liste Questions Définir les règles de fonctionnement du système de Mailing List Préciser ce fonctionnement à l aide de matrice d accès

Exercice-Mailing-List Contexte Les intervenants : Administrateurs des listes (toutes) Créateurs de listes Modérateurs de listes Membres de listes Personnes de l organisation externe à la liste Personnes extérieures à l organisation Actions sur une liste Création, destruction Envois de courrier sur une liste Questions Définir les règles de fonctionnement du système de Mailing List Préciser ce fonctionnement à l aide de matrice d accès

Transition des états de protection l est intéressant d étudier les matrices ses évolutions... On note X 0 =(S 0, O 0, X 0 ), l état initial du système Le passage d un état i à i+1 est noté X i `X i+1 On notera X ` Y, l état Y obtenu après une série de transition

Procédures de transition des états de protection On note c une commande ou préocédure de transition. Elle précisie l entrée de la matrice A qui est changée et la nature du changement L état initial du système X 0, on a X i ` c i+1 (p i+1,...,p i+m )X i+1 Les commandes de bases ont été introduites par Harrison, Ruzzo & Ullman, Protection in Operating Systems, Communication of the ACM, 19(8), pp. 461-471, 1976 : 1 Création d un sujet 2 Création d un objet 3 Supprimer un sujet 4 Supprimer un objet 5 Ajouter un droit 6 Supprimer un droit

Procédures de création d un sujet Create subject s Préconditions : s /2 S Post conditions : S = S U {s},o =OU{s}, (8 y 2 O 0 )[a 0 [s, y]] = Ø], (8 x 2 S 0 )[a 0 [x, s]] = Ø], (8 x 2 S) (8 y 2 O) [a 0 [x, y]] = a[x, y]] Note Le sujet s ne doit pas exister avant dans la matrice en tant qu objet ou sujet Aucun droit est ajouté

Procédures de création d un sujet Create subject s Préconditions : s /2 S Post conditions : S = S U {s},o =OU{s}, (8 y 2 O 0 )[a 0 [s, y]] = Ø], (8 x 2 S 0 )[a 0 [x, s]] = Ø], (8 x 2 S) (8 y 2 O) [a 0 [x, y]] = a[x, y]] Note Le sujet s ne doit pas exister avant dans la matrice en tant qu objet ou sujet Aucun droit est ajouté

Procédures de création d un objet Create object o Préconditions : o /2 O Post conditions : S = S, O = O U {o}, (8 x 2 S 0 )[a 0 [x, o]] = Ø], (8 x 2 S) (8 y 2 O) [a 0 [x, y]] = a [x, y]] Note L objet o ne doit pas exister avant dans la matrice en tant qu objet Aucun droit est ajouté

Procédures de création d un objet Create object o Préconditions : o /2 O Post conditions : S = S, O = O U {o}, (8 x 2 S 0 )[a 0 [x, o]] = Ø], (8 x 2 S) (8 y 2 O) [a 0 [x, y]] = a [x, y]] Note L objet o ne doit pas exister avant dans la matrice en tant qu objet Aucun droit est ajouté

Procédures de suppression d un sujet Delete subject s Préconditions : s 2 S Post conditions : S = S - {s},o =O-{s}, (8 y 2 O 0 )[a 0 [s, y]] = Ø], (8 x 2 S 0 )[a 0 [x, s]] = Ø], (8 x 2 S ) (8 y 2 O 0 )[a 0 [x, y]] = a [x, y]] Note La ligne et la colonne qui correspondent au sujet s sont supprimées

Procédures de suppression d un sujet Delete subject s Préconditions : s 2 S Post conditions : S = S - {s},o =O-{s}, (8 y 2 O 0 )[a 0 [s, y]] = Ø], (8 x 2 S 0 )[a 0 [x, s]] = Ø], (8 x 2 S ) (8 y 2 O 0 )[a 0 [x, y]] = a [x, y]] Note La ligne et la colonne qui correspondent au sujet s sont supprimées

Procédures de suppression d un objet Delete object o Préconditions : o 2 O Post conditions : S = S, O = O - {o}, (8 x 2 S 0 )[a 0 [x, o]] = Ø], (8 x 2 S 0 )(8 y 2 O 0 )[a 0 [s, y]] = a [s, y]] Note La colonne qui corresond à l objet o est supprimée

Procédures de suppression d un objet Delete object o Préconditions : o 2 O Post conditions : S = S, O = O - {o}, (8 x 2 S 0 )[a 0 [x, o]] = Ø], (8 x 2 S 0 )(8 y 2 O 0 )[a 0 [s, y]] = a [s, y]] Note La colonne qui corresond à l objet o est supprimée

Procédures création d un droit nsert r into a[s, o] Préconditions : s 2 S, o2 O Post conditions : S = S, O = O, a [s,o] = a [s,o] U r, (8 x 2 S 0 )(8 y 2 O 0 )[(x,y)6= (s,o)!a [x, y] = a [x,y] ] Note Le sujet s reçoit en plus le droit r sur l objet o Les autres droits ne sont pas modifiés

Procédures création d un droit nsert r into a[s, o] Préconditions : s 2 S, o2 O Post conditions : S = S, O = O, a [s,o] = a [s,o] U r, (8 x 2 S 0 )(8 y 2 O 0 )[(x,y)6= (s,o)!a [x, y] = a [x,y] ] Note Le sujet s reçoit en plus le droit r sur l objet o Les autres droits ne sont pas modifiés

Procédures de suppression d un droit Delete r into a[s, o] Préconditions : s 2 S 0,o2 O 0 Post conditions : S = S, O = O, a [s,o] = a [s,o] - r, (8 x 2 S 0 )(8 y 2 O 0 )[(x,y)6= (s,o)!a [x, y] = a [x,y] ] Note Le droit r sur l objet o est retiré au sujet Les autres droits ne sont pas modifiés

Procédures de suppression d un droit Delete r into a[s, o] Préconditions : s 2 S 0,o2 O 0 Post conditions : S = S, O = O, a [s,o] = a [s,o] - r, (8 x 2 S 0 )(8 y 2 O 0 )[(x,y)6= (s,o)!a [x, y] = a [x,y] ] Note Le droit r sur l objet o est retiré au sujet Les autres droits ne sont pas modifiés

Exercice Hypothèses On considère les droits {r, w, e, list, modify et own} Questions Doner avec les notations des procédures les fonctions suivantes : Commande delete_all_rights (p,q,o) t.q : (8 q 2 S, 8 o 2 O) et (p = a[q,o] 2 A) Commande delete_part_rights (s,o) t.q : (8 p 2 S, p= modify) et (8 o 2 O) Commande delete_part_rights (s,o) t.q : ((8 p 2 S, p= modify) et (8 q 2 S, q 6= own)) et (8 o 2 O)

Exercice-Solution Hypothèses On considère les droits {r, w, e, list, modify et own} Solutions Commande delete_all_right (q,o) t.q : (8 q 2 S, 8 o 2 O) et (a[q,o] 2 A) Solution command delete_all_right (p,q,o) if p in a[q,o] then end Delete p into a[q, o]

Exercice-Solution Hypothèses On considère les droits {r, w, e, list, modify et own} Solutions Commande delete_part_right (s,o) t.q : (8 p 2 S, p= modify) et (8 o 2 O) Solution command delete_all_right (p,q,o) if p in a[q,o] and p = modify then end Delete p into a[q, o]

Exercice-Solution Hypothèses On considère les droits {r, w, e, list, modify et own} Solutions Commande delete_part_right (s,o) t.q : ((8 p 2 S, p= modify) et (8 q 2 S, q 6= own)) et (8 o 2 O) Solution command delete_all_right (p,q,o) if p in a[q,o] and p = modify and q 6= own then end Delete p into a[q, o]

Droits particuliers : copie, possession et atténuation des droits Les droits spécifiques de copie et possesion sont spécifiques. ls sont relatifs à ce que l on nomme l atténuation des droits. Un sujet ne peut pas accorder un droit (sur un objet) qu il ne possède pas à un autre sujet. Droit de copie ( copy right or grant right ) Seul le possesseur d un droit peut le transmettre. Le droit de transmettre peut être perdu au bénéfice de celui qui le reçoit ou simplement transmis (il est alors aussi conservé par le possesseur initial).

Copy flag Cas du droit de copie ( copy flag ) On peut transmettre un droit que l on possède sur un objet même si cet objet ne vous appartient pas. Dans le Sytem R (SGBD de BM) Sur les tables il y a des droits comme lecture, insertion, mise à jour pour manipuler les données de la table. l y a des droits sur la table comme la suppression. Pour chaque droit il y a un droit de transmission ( grant option ) qui permet de transmettre ou pas ce droit. l y a donc un copy flag par droit dans ce système.

Droit du posseseur Cas du posseseur d un objet ( own right ) Souvent le créateur d un objet est le propriétaire de cet objet. Le propriétaire d un objet peut s allouer plus ou moins de droit sur cet objet. Atténuation des droits Un sujet ne peut pas donner de droit sur un sujet qu il ne possède pas.

Droit du posseseur Cas du posseseur d un objet ( own right ) Souvent le créateur d un objet est le propriétaire de cet objet. Le propriétaire d un objet peut s allouer plus ou moins de droit sur cet objet. Atténuation des droits Un sujet ne peut pas donner de droit sur un sujet qu il ne possède pas.

Atténuation des droits Exemple Soit myfile (/home/bob/myfile) appartenant à Bob. Bob ne possède pas le droit de lecture sur myfile. Après la commande : chmod go+r /home/bob/myfile Bob peut lire myfile. Si Alice lance la commande : chmod go+r /home/bob/myfile Échec de la commande!

Exercice Hypothèses On considère les droits {r, w, e, list, modify et own} c un copy flag Questions Doner avec les notations des procédures les fonctions suivantes : Commande copy_all_rights (p,q,s) t.q : (8 q 2 S) et (a [q,s] = a[p,s] 2 A) Modifier la commande pour que seulement ceux ayant un copy flag copié (8 q 2 S) et (8p c 6= )!(a [q,s] = a[p,s] 2 Aetq c = ) Quelles conséquences?

Exercice Hypothèses Le principe d atténuation des droits Discussions Quelles conséquences si le principe d atténuation des droits est pas appliqué? Quels droits peut obtenir un sujet (sans coopération, avec coopération)? Si le principe est untilisé sur les droits du type read et write mais pas sur own et grant right? Quelles conséquences?

Un peu de théorie La question Soit un système informatique, comment déterminer si celui-ci est sécurisé? ou encore existe-t-il un algorithme qui puisse répondre à la question? Autres questions Que veut dire sécurisé? Quelle politique définit le fait d être sûr! n english, a safety system (système sûr au sens de la sécurité) se réfère au modèle abstrait du sytème alors que la notion de secure se réfère à l implémentation du système.

Un peu de théorie La question Soit un système informatique, comment déterminer si celui-ci est sécurisé? ou encore existe-t-il un algorithme qui puisse répondre à la question? Autres questions Que veut dire sécurisé? Quelle politique définit le fait d être sûr! n english, a safety system (système sûr au sens de la sécurité) se réfère au modèle abstrait du sytème alors que la notion de secure se réfère à l implémentation du système.

Définitions Definition Soit R un ensemble de droit R sur un système S. La politique de sécurité stipule qu aucun droit ne peut être ajouté au système ( no leak ). Si un droit r est ajouté à un élément du système alors qu il n existait pas avant, on dit que le droit r est fuité (leaked). Definition Si le system ne peut pas laisser un droit r être ajouté (fuité), ce système (y compris l état initial s 0 ) est dit sûr. Si le système peut laisser ajouter un droit r (entrer dans un état non autorisé) il est dit non sûr par rapport au droit r.

Définitions Definition Soit R un ensemble de droit R sur un système S. La politique de sécurité stipule qu aucun droit ne peut être ajouté au système ( no leak ). Si un droit r est ajouté à un élément du système alors qu il n existait pas avant, on dit que le droit r est fuité (leaked). Definition Si le system ne peut pas laisser un droit r être ajouté (fuité), ce système (y compris l état initial s 0 ) est dit sûr. Si le système peut laisser ajouter un droit r (entrer dans un état non autorisé) il est dit non sûr par rapport au droit r.

Exemple et théorème Example Prenons un système, où l administarteur réseau qui peut lire les communications mais ne peut pas communiquer. Ceci semble sûr! Nénamoins, le système d exploitation lui permet de créer un fichier et d y écrire ce qu il lit; il peut aussi donner à des tiers le droit de lire ce fichier... Theorem l existe un algorithme qui peut déterminer si un système mono-opérationnel de protection avec un état initial s 0 est sûr par rapport à un droit r. Proof. par énumération

Exemple et théorème Example Prenons un système, où l administarteur réseau qui peut lire les communications mais ne peut pas communiquer. Ceci semble sûr! Nénamoins, le système d exploitation lui permet de créer un fichier et d y écrire ce qu il lit; il peut aussi donner à des tiers le droit de lire ce fichier... Theorem l existe un algorithme qui peut déterminer si un système mono-opérationnel de protection avec un état initial s 0 est sûr par rapport à un droit r. Proof. par énumération

Exemple et théorème Example Prenons un système, où l administarteur réseau qui peut lire les communications mais ne peut pas communiquer. Ceci semble sûr! Nénamoins, le système d exploitation lui permet de créer un fichier et d y écrire ce qu il lit; il peut aussi donner à des tiers le droit de lire ce fichier... Theorem l existe un algorithme qui peut déterminer si un système mono-opérationnel de protection avec un état initial s 0 est sûr par rapport à un droit r. Proof. par énumération

Théorème Theorem l est indécidable de déterminer si un system S est sûr pour un droit générique r. Proof. par équivalence du problème de l arrêt d un programme

Théorème Theorem l est indécidable de déterminer si un system S est sûr pour un droit générique r. Proof. par équivalence du problème de l arrêt d un programme

Modèle Take grant Definition On définit un grahe avec : Les noeuds sont des sujets ou des objets; Les arcs sont les droits d un sujet sur un sujet ou un objet. t! b! On a un sujet et sujet ; et l objet. Les droits t et b. On peut représenter ainsi la matrice de d accès. Exercice Prendre la matrice d accès des exemples précédents et représenter la sous forme de graphe.

Modèle Take grant Definition On définit un grahe avec : Les noeuds sont des sujets ou des objets; Les arcs sont les droits d un sujet sur un sujet ou un objet. t! b! On a un sujet et sujet ; et l objet. Les droits t et b. On peut représenter ainsi la matrice de d accès. Exercice Prendre la matrice d accès des exemples précédents et représenter la sous forme de graphe.

Modèle Take grant t! b! ` t! b! ` t! b!! a t! b!! a

Mécanismes de sécurité associés General concept of security mechanism 1 Access Hierarchies 2 Authorization list 3 Capability

Hiérarchie Definition Dans le cas des modèles hiérachique, les droits d une entité résultent du fait que le sujet est membre d un ensemble ou de sous ensemble de droit. Example Dans Unix, le mode super user fournit les droits sur tout les objets du système.

Le modèle Multics L approche hiérarchique est au centre de la protection dans Multics avec la notion d anneau de protection. A chaque processus est attaché un mot d état. Un mot d état est un entier [0, r-1]. Chaque anneau définit un domaine A, j est un sous ensemble d un anneau i, si pour tout 0 apple i apple j apple r-1. The supervisor state r = 2 (=) state= 1 ou 0). 0 1... moindre privilège...! r-1 Question Quid du principe du moindre privilèges quand un programme s exécute en mode 0. Que se passe t il si il y a une erreur en r= 0.

Le modèle Multics L approche hiérarchique est au centre de la protection dans Multics avec la notion d anneau de protection. A chaque processus est attaché un mot d état. Un mot d état est un entier [0, r-1]. Chaque anneau définit un domaine A, j est un sous ensemble d un anneau i, si pour tout 0 apple i apple j apple r-1. The supervisor state r = 2 (=) state= 1 ou 0). 0 1... moindre privilège...! r-1 Question Quid du principe du moindre privilèges quand un programme s exécute en mode 0. Que se passe t il si il y a une erreur en r= 0.

Problème avec l approche hiérarchique L approche hiérarchique : 0 1... moindre privilège...! r-1 En cas de programme malicieux et/ou d erreurs, un programme en niveau 0 pourra modifier la mémoire et/ou la changer. Exemple classique sur PDP-11, sous certaines conditions lors d un appel au mode superviseur en forçant le compteur de programme, le bit du mode privilege peut etre activé; au retour du call le bit reste en position mode privilège... Néanmoins Pour autant ce mode de fonctionnement n est pas à rejeter. Permet de faire de la protection à bas coût. Nécessiste des mécanimes de protection complémentaires

Problème avec l approche hiérarchique L approche hiérarchique : 0 1... moindre privilège...! r-1 En cas de programme malicieux et/ou d erreurs, un programme en niveau 0 pourra modifier la mémoire et/ou la changer. Exemple classique sur PDP-11, sous certaines conditions lors d un appel au mode superviseur en forçant le compteur de programme, le bit du mode privilege peut etre activé; au retour du call le bit reste en position mode privilège... Néanmoins Pour autant ce mode de fonctionnement n est pas à rejeter. Permet de faire de la protection à bas coût. Nécessiste des mécanimes de protection complémentaires

Liste d accès Les listes d accès aussi appelée listes d autorisation en anglais ACL sont des listes de sujets et des droits attachés à un objet. Une liste d accès correspond à une colonne de la matrice d accès. Exemple ACL of File 1 = ((Process 1; r/w/o), (Process 2; a)). La révocation Si le droit du processus 2 à e cetuer la fonction Append, la liste devient : ACL of File 1 = ((Process 1; r/w/o)).

Liste d accès Les listes d accès aussi appelée listes d autorisation en anglais ACL sont des listes de sujets et des droits attachés à un objet. Une liste d accès correspond à une colonne de la matrice d accès. Exemple ACL of File 1 = ((Process 1; r/w/o), (Process 2; a)). La révocation Si le droit du processus 2 à e cetuer la fonction Append, la liste devient : ACL of File 1 = ((Process 1; r/w/o)).

Capacité Une capacité est un ticket que possède un sujet, ce ticket contient le(s) droit(s) de ce sujet sur cet objet. L objet contrôle le ticket. Plusieurs méthodes pour implémanter : Chaque mot de la mémoire a un tag. La sémantique du tag définit comment ce mot mémoire peut être uitilisé. Mémoire protégée de l iapx 432 (ntel). Un ticket est un certificat cryptographique qui peut être vérifié par l objet.

Comparaison Comparer ACL et capacité: Discuter avantages et incovénients des deux aproches. ACL Capacité mplémentation-taille mplémentation-vérification mplémentation-révocation