11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200511
P ro te ct io n
D’après les transparents de Luigi Logrippo http://w3.uqo.ca/luigiP ro te ct io n
D’après les transparents de Luigi Logrippo http://w3.uqo.ca/luigiIF T 2 8 8 0 IF T 2 8 8 0
11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200522
L e p ro b lè m e d e l a p ro te ct io n L e p ro b lè m e d e l a p ro te ct io n S ’a ss u re r q u ’u n o b je t n e p u is se ê tr e ac cé d é q u e
Par les processus qui sont autorisés De la façon autoriséeP ro te ct io n d es d o n n ée s d es u sa g er s
Protection des données privées Garantie de bon fonctionnement des applicationsF o n ct io n n em en t d u s y st èm e en ti er
Vulnérabilitédu SE face aux accès mémoire non autorisésS ’a ss u re r q u ’u n o b je t n e p u is se ê tr e ac cé d é q u e
Par les processus qui sont autorisés De la façon autoriséeP ro te ct io n d es d o n n ée s d es u sa g er s
Protection des données privées Garantie de bon fonctionnement des applicationsF o n ct io n n em en t d u s y st èm e en ti er
Vulnérabilitédu SE face aux accès mémoire non autorisés 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200533E x ig e n ce s, b e so in s – E x e m p le s E x ig e n ce s, b e so in s – E x e m p le s U n p ro g ra m m e d e co rr ec ti o n , é cr it p ar u n p ro f, ex éc u te d es p ro g ra m m es d ’é tu d ia n ts . 3 n iv ea u x d e p ro te ct io n
Système d’exploitation, Programme du prof, Programme étudiantO rg an is at io n e n c o u ch es d e fo n ct io n n al it és
Protection des couches les plus internes (les plus critiques) contre les plus externesD o m ai n es d ’e x éc u ti o n
Un éditeur, a accès àdes données auxquelles un autre programme en exécution n’a pas forcément accèsU n p ro g ra m m e d e co rr ec ti o n , é cr it p ar u n p ro f, ex éc u te d es p ro g ra m m es d ’é tu d ia n ts . 3 n iv ea u x d e p ro te ct io n
Système d’exploitation, Programme du prof, Programme étudiantO rg an is at io n e n c o u ch es d e fo n ct io n n al it és
Protection des couches les plus internes (les plus critiques) contre les plus externesD o m ai n es d ’e x éc u ti o n
Un éditeur, a accès àdes données auxquelles un autre programme en exécution n’a pas forcément accès 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 2005 44E x ig e n ce s, b e so in s – B e so in s ci b lé s E x ig e n ce s, b e so in s – B e so in s ci b lé s U n e en ti té n e d o it a v o ir a cc ès q u ’à l’ in fo rm at io n d o n t el le p eu t av o ir b es o in E x em p le
Un processus invoque une procédure Accès nécessaire aux ses paramètres Accès nonnécessaire aux variables du processusS im il ai re a u x p ri n ci p es d ’e n ca p su la ti o n e n O O
Accès aux méthodes publiques qui manipulent des variables privées auxquelles l’accès direct est impossibleU n e en ti té n e d o it a v o ir a cc ès q u ’à l’ in fo rm at io n d o n t el le p eu t av o ir b es o in E x em p le
Un processus invoque une procédure Accès nécessaire aux ses paramètres Accès nonnécessaire aux variables du processusS im il ai re a u x p ri n ci p es d ’e n ca p su la ti o n e n O O
Accès aux méthodes publiques qui manipulent des variables privées auxquelles l’accès direct est impossibleavril 2005 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200555
M é ca n is m e s d e p ro te ct io n d e b a se M é ca n is m e s d e p ro te ct io n d e b a se M o d es m o n it eu r/ u sa g er C o n tr ô le d ’a d re ss es g én ér ée s p as l a M M U
Bornes inférieures et bornes supérieuresM o d es m o n it eu r/ u sa g er C o n tr ô le d ’a d re ss es g én ér ée s p as l a M M U
Bornes inférieures et bornes supérieures Base + limite ≥Base CPU<MEMOIREadresseoui non
oui non Envoi au moniteurdusystèmed’exploitation Gestion de l’erreur 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 2005 66
P a rt a g e d e s e g m e n ts ( o u d e p a g e s) P a rt a g e d e s e g m e n ts ( o u d e p a g e s) P la ce m en t d e l’ in fo rm at io n d e p ro te ct io n d an s le ta b le au d e se g m en t P la ce m en t d e l’ in fo rm at io n d e p ro te ct io n d an s le ta b le au d e se g m en t
avril 2005 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200577P ro te ct io n d e s e g m e n ts p a rt a g é s P ro te ct io n d e s e g m e n ts p a rt a g é s
Segment partagéTable segments P1 Table segments P2
R,W R 1 et P2 partagent un segment, cependant P2 ne peut que le lire
Lim.Base
P ro te ct io n s u r le c h em in d ’a cc ès
Contrôle effectuéau moment du calcul de l’adresseP ro te ct io n s u r le c h em in d ’a cc ès
Contrôle effectuéau moment du calcul de l’adresse 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 2005 88D o m a in e s d ’e x é cu ti o n – M o d è le D o m a in e s d ’e x é cu ti o n – M o d è le U n p ro ce ss u s ap p ar ti en t à u n d o m ai n e d ’e x éc u ti o n , le q u el s p éc if ie l es d ro it d ’a cc ès d e ce p re m ie r U n p ro ce ss u s ap p ar ti en t à u n d o m ai n e d ’e x éc u ti o n , le q u el s p éc if ie l es d ro it d ’a cc ès d e ce p re m ie r
Un processus peut changer de domaine en cours d’exécution L’impression de O4peut être effectuée dans D2ou D3Un processus peut changer de domaine en cours d’exécution L’impression de O4peut être effectuée dans D2ou D3
11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 200599
R é a li sa ti o n d e d o m a in e s R é a li sa ti o n d e d o m a in e s U n u sa g er p eu t êt re a ss o ci é à u n d o m ai n e
Changement de domaine au moment de changement d’usagerU n p ro ce ss u s p eu t êt re a ss o ci é à u n d o m ai n e
Changement de domaine au moment de changement de processusU n e p ro cé d u re o u m ét h o d e p eu t êt re u n d o m ai n e
Changement de domaine au moment de changement de procédure ou méthodeU n u sa g er p eu t êt re a ss o ci é à u n d o m ai n e
Changement de domaine au moment de changement d’usagerU n p ro ce ss u s p eu t êt re a ss o ci é à u n d o m ai n e
Changement de domaine au moment de changement de processusU n e p ro cé d u re o u m ét h o d e p eu t êt re u n d o m ai n e
Changement de domaine au moment de changement de procédure ou méthode 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051010A n n e a u x d e p ro te ct io n e n c o u ch e s A n n e a u x d e p ro te ct io n e n c o u ch e s
Extension du concept de mode superviseur-usager Chaque anneau est un domaine de protection Les anneaux les plus internes sont les plus essentiels, les plus privilégiés, et les plus protégésExtension du concept de mode superviseur-usager Chaque anneau est un domaine de protection Les anneaux les plus internes sont les plus essentiels, les plus privilégiés, et les plus protégés 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051111
A ff e ct a ti o n d e p ro ce ss u s a u x a n n e a u x A ff e ct a ti o n d e p ro ce ss u s a u x a n n e a u x
Exemple: Anneau 0: noyau du SE Anneau 1: fonction d’administration système Anneau 2: programmes usagers Chaque segment est affectéàun anneau Chaque processus se trouve dans un des anneaux Un processus peut faisant partie d’un anneaun Accéder librement aux segments dans l’anneaun Accéder librement aux segments dans les anneaux extérieursn+1 Il ne peut pas accéder aux segments dans les anneaux intérieursExemple: Anneau 0: noyau du SE Anneau 1: fonction d’administration système Anneau 2: programmes usagers Chaque segment est affectéàun anneau Chaque processus se trouve dans un des anneaux Un processus peut faisant partie d’un anneaun Accéder librement aux segments dans l’anneaun Accéder librement aux segments dans les anneaux extérieursn+1 Il ne peut pas accéder aux segments dans les anneaux intérieurs 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051212
M é ca n is m e d ’a n n e a u x M é ca n is m e d ’a n n e a u x
L’UCT a un registre qui contient le numéro de l’anneau où elle est en train d’exécuter Un proc qui s’exécute dans un anneau peut accéder aux données dans les anneaux plus externes. cependant ses capacités peuvent être limités (Lect., Ecr., Exec.) L’appel aux procédure plus externes et relativement libre, cependant il faut «copier»les paramètres dans une zone où il puissent être lus en exécutant dans un anneau qui a moins de capacités L’appel aux procédures plus internes est contrôlépar le SE par des règles rigoureusesL’UCT a un registre qui contient le numéro de l’anneau où elle est en train d’exécuter Un proc qui s’exécute dans un anneau peut accéder aux données dans les anneaux plus externes. cependant ses capacités peuvent être limités (Lect., Ecr., Exec.) L’appel aux procédure plus externes et relativement libre, cependant il faut «copier»les paramètres dans une zone où il puissent être lus en exécutant dans un anneau qui a moins de capacités L’appel aux procédures plus internes est contrôlépar le SE par des règles rigoureuses
avril 2005 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051313
M é th o d e d e l a m a tr ic e d ’a cc è s M é th o d e d e l a m a tr ic e d ’a cc è s
Indique les capacités d’un processus exécutant dans un domaine Di sur différents objets Elle ne peut pas être manipulée directement par l’usagerIndique les capacités d’un processus exécutant dans un domaine Di sur différents objets Elle ne peut pas être manipulée directement par l’usager Capacités du domaine D2 capacités sur le fichier F2 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051414
L a m a tr ic e d ’a cc è s sé p a re l e m é ca n is m e d e s cr it è re s L a m a tr ic e d ’a cc è s sé p a re l e m é ca n is m e d e s cr it è re s M éc an is m es
Le SE fournit la matrice d’accès et les règles Assure que la matrice ne soit manipulée que par des agents autorisés et que les règles soient respectéesC ri tè re s (p o li ti q u es , p o li ci es )
Sont dictés par les usagers Qui peut accéder àquel objet Avec quelles capacitésM éc an is m es
Le SE fournit la matrice d’accès et les règles Assure que la matrice ne soit manipulée que par des agents autorisés et que les règles soient respectéesC ri tè re s (p o li ti q u es , p o li ci es )
Sont dictés par les usagers Qui peut accéder àquel objet Avec quelles capacités avril 2005 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051515C h a n g e m e n t d e d o m a in e c o m m e c a p a ci té C h a n g e m e n t d e d o m a in e c o m m e c a p a ci té U n u sa g er q u i se t ro u v e d an s le d o m ai n e D 2 p eu t ch an g er a u d o m ai n e D 3 o u D 4. U n u sa g er q u i se t ro u v e d an s le d o m ai n e D 2 p eu t ch an g er a u d o m ai n e D 3 o u D 4.
11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051616C a p a ci té d e c o p ie r le s d ro it s d ’a cc è s C a p a ci té d e c o p ie r le s d ro it s d ’a cc è s
Un processus peut avoir le droit de recopier un droit d’accès d’un domaine àun autre (signalépar *) p.ex. un proc exécutant dans domaine D2 peut copier son droit d’accès sur fichier F2 àun autre domaineUn processus peut avoir le droit de recopier un droit d’accès d’un domaine àun autre (signalépar *) p.ex. un proc exécutant dans domaine D2 peut copier son droit d’accès sur fichier F2 àun autre domaine Après modif
11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051717
D ro it s d e p ro p ri ét a ir e D ro it s d e p ro p ri ét a ir e
Droit d’un propriétaire de changer les droits d’autres sur les objets qui lui appartiennent si (i,j) contient owner, a proc exécutant dans Di peut ajouter ou enlever des droits dans la colonne jDroit d’un propriétaire de changer les droits d’autres sur les objets qui lui appartiennent si (i,j) contient owner, a proc exécutant dans Di peut ajouter ou enlever des droits dans la colonne j 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051818
Im p la n ta ti o n d e s m a tr ic e s d ’a cc è s Im p la n ta ti o n d e s m a tr ic e s d ’a cc è s
Difficile àimplanter de façon que chaque accès de mémoire puisse être contrôlé Tableau global. Désavantages: Grand, doit être paginé, donc accès lent Par colonne: chaque objet est associéàune liste d’accès (qui peut faire quoi sur l’objet) facile àmettre àjour àpartir de l’objet difficile àmettre àjour àpartir des domaines Par ligne: chaque domaine est associéàune liste de ses capacités Facile et difficile: contraire du précédent Etc: v. discussion dans livreDifficile àimplanter de façon que chaque accès de mémoire puisse être contrôlé Tableau global. Désavantages: Grand, doit être paginé, donc accès lent Par colonne: chaque objet est associéàune liste d’accès (qui peut faire quoi sur l’objet) facile àmettre àjour àpartir de l’objet difficile àmettre àjour àpartir des domaines Par ligne: chaque domaine est associéàune liste de ses capacités Facile et difficile: contraire du précédent Etc: v. discussion dans livre 11 avril 200511 avril 2005IFT2880 -Nicolas Gorse -Avril 2005IFT2880 -Nicolas Gorse -Avril 20051919