Vous êtes sur la page 1sur 3
PROTECTION $.1 PRESENTATION DU PROBLEME $.11 INTRODUCTION ‘Le contréle du bon emploi de l'information ct, d'une maniére plus générale, adigeeme tytn engl mai de mae ina 1 a a ae Ta demande de ressource, l'étude de la protection eurait pu étre faite dans. Beene ever Le et Se et Fee ee een ora crore miay cet Coe ee ee, cain «Naeem ese plan i ot acs ae seo eeten erin ates Se ttn cs ees ‘ou des maiveillances, mais seulement leur incidence sur les objets Provinés. si est assurée la protection des usagers entre eux, du systéme contre Tes {tegen ce unger’ conse te sjstone eds prowess aa meme UES Se cae het ac dun autre processus sans en avoir reas Tautoriston Pree oe SE ee, Jae ma te ne ence ne spook mney Te cnc: pos ae Tout systtme de protection général satisfait les fonctions piranss . — Assurer Tindépendance des objets qui doivent rester logiquement wai Cains, So na 224 Syetémes dexploitation des ordnateurs chemin vers linformation, soit en interdisant Vacoés si le chemin existe, Dans te premier cas, 'information cst inconnue : elle est ea dehors de Tunivers de Putilisatcur. C'est le cas par exemple en ALGOL pout les variables d'un bloc qui sont inconnues dans un autre bloc de méme profondeur, Permettre une protection de I'uiilisation de information, fonction de Topération qui est reatée, — Permettre une protection sélective de information partagte, en fonc- tion de Musager ou dun groupe d'usagers {Un bon principe pour {utter contre ia propagation des erreurs est de limiter au sirict nécessaire les pouvoirs d'un utilisateur. In'existe pas, pour Tinstant, de solution unique en matiére de protection, Ceci explique la part importante que nous révervons, dans ce chapitre, 4 ddes_réalisations particuliéres. Dans une premiére partie, aprés avoir défini le probleme, nous esquissons lespropriétés d'un systéme de protection, et tentons de dégager & cette occasion ‘quelques principes généraux de conception, valables & la fois pour des méca- nismes cAblés et programmés. A partir des concepts introduits, nous décrivons ensuite, dans le détail, les mécanismes de protection mis en jeu dans les deux systémes ESOPE et MULTICS. 5.12 POSITION DU PROBLEME 5.121 Défnitions Soit : = un ensemble d'objets, R= (74) sce sont kes éléments & procger dont utilisation doit étre conir6lée (par exemple fichiers, segments, pages, terminaux, processus, procédures, sémaphores), — un ensemble d'utilisateurs, U = (u, }: ce sont les entités capables de Produce ou de propager des ereurs (pat exemple procesus, client, procé ure), — une matrice Af dont chaque ligne correspond a un utilisateur u, et chaque colonne & un objet r, Chaque élément My de la matrice indique l'ensemble des modes 4'accés de 1, par u, Le mode d'aco’s peut étre donné ou caleulé par une fonction, dependants de T'utilisateur et de la ressource (exemples de modes d'ncods lecture ou écriture d'un fichier, création d'un processus, exécution d'un seg ment). La matrice M définit les régles de protection & respecter. Nous supposons que chaque objet (ct chaque utilisateur) est désigné par le méme nom pendant eee Me du ssteme et que ce nom n'est pes reutlisé apres destruction de objet. Protection 225 Remarque 1. Une entté peut ue & fois objet et utilisateur : objet «processus dimpression» une fois activé, agit comme un uilsateur en demandant Mutsation d'un tampon en mémcire. Remarque 2. Certains objets doivent étre demandes simultanément; ainsi Yceés un fichier nécesste un tampon en mémoire centrale La figure | ext un exemple de matrice M. On note par & interdiction d'em- ploi de objet par un utiisateur et ¢ Vabsence de chemin de l'utilisateur vers objet. R Fichiers Consoles Proceesut mf f2 cl ep? [Processus1] fire | sire lexéewerattoueryaliouer|Moquer| acuiver| activer sere smi terromp Processus 2|propriaire| i | « |alleney « |aciver|Aloguer|_détrure carve lr o| |rsnes| re foo [= [> fel 2 | Br later) 2 i Processus] tire |e | derive Figere 1, Exemple de mative 1 (On appelle : ~ drolts (« capabilites ») d'un utilisateur a, sur un objet r,, élément MA, — pouvoir d'un uilisateur 1, la ligne ,, — matrice des droits (« access matrix »), la matrice M. 5.122 Limites da systéme de protection Les droits traduisent les régles d’aceés & un objet, propres a un utilsateur, t non les contraintes cutilisation qui sont déterminées par les propriétés de Tobjet, parcageable, critique, .. (voir Chap. 4). Ces contraintes sont ‘tablies par ailleurs et ne sont pas considérées ici. . es droits sont indépendanis des actions entreprises par Tutlsteur en cas de refus. Le sysiéme de protection coatréle seulement «i utilisateur a Fedo on non des servi de objet av asebs gv pri, Lapolitiqued adoptor en cas ‘erreur nest pas non plus du ressort dus de potesinn, Par tontre Temple des objets, fre de Vappcation de cele Politique, doit aussi étre controle. 226 Sysrimes dexploitetion des ordinatcurs 5.123 Variation du pouvoir d'un wtilisatenr : nécessité et limites Le pouvoir, tel que nous avons introduit, défi pour chaque utiisateur ensemble de ses droits d’accés aux objets. Sile pouvoir associé 4 un processus reste constant durant tout le temps de son exécution, cela signifie que tous Jes programmes, toutes les procédures utilis par ce processus ont les mémes droits d'acoés aux objets ; ces droits doivent done étre les droits les plus élevés u'll utilisera bien qu'il nen ait pas constamment besoin, La. protection sera toutefois plus efficace si on peut lui donner & tout instant les pouvoirs ‘minimaux dont il a besoin, et pas davantage. Lorsgu’sn processus d'un uiliseteur fait, en mode exclave, une opé- Sortie, il appelle générelement une procédure du systéme, dotée de rots plus étendus, qui vérific les paraméttes d'appel et provoque lenirée-sortie ‘roprement dite. Dés que leatrée-sortie ext trminee, le processus utilissteut retourne fen mode esclave Le systéme de protection doit permettre la modification du pouvoir d'un processus d'utilisateur durant son exécution. Cette modification peut se faite dans le sens d'une augmentation (ou d'une diminution) de pouvoir et dans ce cas, les nouveaux droits d'accés aux objets sont un sur-ensemble (cu un sous-ensemble) des anciens droits d’accés. La modification du pouvoir Peut aussi se traduire par l'acquisition de droits différents. Exemple 2. Un processus a autorise un processus a ascéder 4 um segment de données d eet aocts ne peut se faire qu’au moyen d une proeédure de contrblep foutnie para et dotée de drotssuffsants pour eflectuer ls references au segment de doce Le mécanisme de protection doit aussi garantir que les donées propres da process b sont a Yabri es erreurs possbles de la procedure p. Ea conséquence, le pouvoi asscié fu processus & lorsqu'l utilise la procédure p, doit autoriser Tacoes au segment d ‘mais ier ‘out aes aux donnée prapres de b 1 n'y pas ici augmentation de powvoir, mais acquisition d'un pouvoir diféreat par le processus 5, On ne peut pas modifier n'importe quand et nimporte comment le pou- Voir d'un processus. De méme, les droits d'ua uilisateur sur un objet peuvent bpendre du chemin d'acoés & Lobjet ou de le fagon dont Vobjet ext demande, Le systéme de protection peut parfoisimposer que le chemin d'accés a un objet (ou un ensemble d’objets) débute par un point de passage oblise. appelé auichet (« gate »). Exemple 3. Lltiisation dune procédure p peut entraner le demande d'autres objets Le ssteme deprotection remplit alors plusioursTonctions — assurcr que exécution de la prootsurep ne peut commence sans pst pa ua cher, = ms — sie, an gic, qe tar ae dot in = I donner let moyens, en changcaut son powolr, c'est nécestice pendant le temps quil utilise p, et pendant ce tempsld seulement 'aceéder aun objec a, Bes Protection 227 Pour simplifer le contrble des valeurs prises par le pouvoir d'un utlsateur, ‘on peut étre amené a en limiter le nombre. On peut aussi introduire une relation d'ordre entre ces valeurs ;on verra une telle approche avec les anneaux 4e protection de MULTICS. 5.124 Problimes a résoudre Diautres aspects du probléme, que nous n'avons pas Evoqués, se posent foutefois au concepteur de systime : — comment utiliser la matrice des droits, ou comment effectuer Ie contréle de Taccds & un objet ? — comment conserver les informations de ta matrice M7 — comment régler la variation de la matrice M au cours du temps, et traduire la ration de nouveaux objets ou la modification des droits d'un uilisateur ? — comment protéger le systéme de protection ? La mattice Mf traduit, en fait, es relations cxistant & un instant donné centre les utilisateurs et les ebjets du systéme, Le passage dela repréventation des relations par une matrice M a la réalisetion en machine dépend de la nature des objets mis en jeu. Plusieurs techniques, eablées ou programmées, peuvent étre envisegées. C'est pourquoi, dans la pratique, Ie systéme de protection se trouve réparii A des niveau differents. Liimplaniation un systéme de protection requiert toutefbis Texistence d'un mécanisme cable inal (protection de mémoire e'You mode maftresclave) pour assurer justement sa protection. On peut noter lanaloge qui existe ici avec le pro- bbiéme de Pexchusion mutuelle pour la solution duguel il est nécessaire de ‘isposer d'un mécanisme de base (masquage des interruptions et instruction TAS dans le cas q’un mult-processeur). Remarque. Il est toutefois possible de réliser un sysitme de protection, sur une machine qui ne dispose d'aucun mfcanisme de protection cAblé. Tl sult que Ie systtme interpréte toutes les instructions des utlsateurs et ot ‘contréle lemploi quils font des objets du systéme. 5.13 EXEMPLES D'IMPLANTATION DE LA MATRICE DES DROITS Nous exposons ci-aprés quelques techniques couramment utilisées pour ‘mplanter la matrice des droits. Le ehoox d'une technique dépend de la nature de le matrice M. 5.131 Liste d'accis ox A chaque objet r est associe une liste des utilisateurs autorisés t de leurs ahaa em me ner mi donc de la forme (u, M(r,u)). Cette liste est consulkée & chaque tentative 228 Sratemes exploitation des ordinateurs d'acoés a Vobjet r. Cette méthode est couramment utilisée pour Vaccés aux fichiers et n’est efficace que si la liste ex courte. Diverses techniques d accé- leration sont possibies : — introduction de la liste complémentaire des utilisateurs non autorisés lorsquelle est plus courte que celle des utilisacurs aucorsts, — groupement des utilsateurs ayant les mémes droits. 5.132 Liste des droits 1a liste des droits est une représentation du pouvoir d'un wilisteur. A chaque utlisateur est associe une liste (« capability list») spécifant, pour chaque objet anque! il peu: accéder, ls droits d'aceéscorrespondants. Cheque Glement se présente sous le forme (r, M(r.u)). Cette liste ex parcourue & chaque tentative d'accés de l'utilisateur u Elle peut étreraccource avec les rmémes techniques que la liste d'ece’s. Un avantage de cette lise de droits cst que, Giant Ie A Tullisateur, elle n'est employee que lorsque celui est actif’ Ceci permet d'introduire des techniques d'accélération d'acces comme lune raémoire associative, une antémémoite ou un mécanisime de couplage (voic Chap. 3 et). Sia iste et longue, ele peut dire structurée ca sous ste, chacune ant associge & un mode d'ulilisation. Par exemple, Zz, gisdve sousliste correspond a un mode d’aecés + lecture, éeritue, exécution,.. Fipcnadue toublete correspond & une clase Wobets : mémire virwelle, fichier, 3.133. Clos ot verrous Les utilisateurs sont regroupés et chaque groupe est identifié par un code ‘ou elé remis a chacun de ses membres. De méme, les objets réumis en groupe- ‘ment sont caractérisés par un verroa identique pour chaque élément d'un ‘groupement. Il y a une clé et un verrou par mode d'acoés possible. L'accés ‘est permis que si la clé permet d'ouvrir le verrou. Dans ee cas, Putilisatear ‘ot teprésenté par la elé et Tobjet par le verrou, Le probleme se simple sucoup, xemple. Le systime cdblé de protection contre Iéeriture dans un bloc de mémoire div caleulateur Cl 10070 met en jeu une technique de clés et verrous, L'geriture et permise si et seulement si: (verrow = 0) ou (cl = 0) ow (clé = verrou) Cle t verrou peuvent prendre 4 valeurs possible, Ceci permet dintroduite 4 classes \Suslsateurs, et 4 20nes de mémoire diferemment protegees contre eriture 5.134 Matrice des droits pour les modes maitre et exclave Les objets accédés sont ici les instructions de la machine. Le pouvoir d'un Processus peut prendre deux valeurs, Pune ol toutes les instructions sont ‘utorisées et l'autre od certaines seulement le sont.

Vous aimerez peut-être aussi