91
Sécurité du système d’exploitation et des programmes
Chapitre 5
Les dispositifs de protection de Multics
Nous décrirons les dispositifs et procédures mis en œuvre dans Multics pour assurer la protection des objets car, bien qu’anciens, ils restent à ce jour de l’an 2006
une réalisation de référence. Cette description doit beaucoup à celles de l’ouvrage
collectif de CROCUS [37], Systèmes d’exploitation des ordinateurs et du livre de Silberschatz et ses collègues [102] Principes appliqués des systèmes d’exploitation.
La protection sous Multics repose sur une structure dite « en anneaux ». Chaque
processus s’exécute dans un anneau, chaque anneau correspond à un niveau de privilèges. Multics offre huit anneaux numérotés de 0 à 7, l’anneau 0 procure les privilèges les plus élevés, l’anneau 7 les moins élevés. L’anneau du processus courant
figure dans le mot d’état de programme (PSW), zone de mémoire qui contient
des informations essentielles sur le traitement en cours, notamment l’adresse de la
prochaine instruction à effectuer.
Chaque segment (de mémoire volatile ou persistante), pour chaque type d’accès
(lecture, écriture, exécution si le segment contient un programme ou un répertoire), appartient à un anneau. Si un processus s’exécute dans un anneau de valeur
inférieure ou égale à l’anneau d’exécution d’un segment, par exemple, il peut exécuter le programme contenu dans ce segment, sinon non. Le schéma 5.1 page
suivante donne un exemple de ce mécanisme : il représente la protection d’un segment accessible en lecture à des processus qui s’exécutent dans les anneaux 0 à 3,
mais dont la modification par une écriture est réservée aux processus de l’anneau 0.
À tout moment un processus peut changer d’anneau (sous le contrôle du système
d’exploitation qui évidemment vérifie que ce processus dispose des accréditations
nécessaires) et ainsi acquérir de façon temporaire ou définitive des privilèges supérieurs qui lui ouvriront l’accès à de nouveaux segments.
Protection des systèmes contemporains
Finalement il apparaît que les plus fidèles disciples de l’équipe Multics furent les
ingénieurs d’Intel. Depuis le modèle 80286 jusqu’à l’actuel Itanium les processeurs de la ligne principale d’Intel disposent d’une gestion de mémoire virtuelle à
adressage segmenté et d’un système de protection à quatre anneaux, typiquement
destinés respectivement au noyau du système pour l’anneau 0, aux fonctions auxi-
Sécurité du système d’exploitation et des programmes
Chapitre 5
Les dispositifs de protection de Multics
Nous décrirons les dispositifs et procédures mis en œuvre dans Multics pour assurer la protection des objets car, bien qu’anciens, ils restent à ce jour de l’an 2006
une réalisation de référence. Cette description doit beaucoup à celles de l’ouvrage
collectif de CROCUS [37], Systèmes d’exploitation des ordinateurs et du livre de Silberschatz et ses collègues [102] Principes appliqués des systèmes d’exploitation.
La protection sous Multics repose sur une structure dite « en anneaux ». Chaque
processus s’exécute dans un anneau, chaque anneau correspond à un niveau de privilèges. Multics offre huit anneaux numérotés de 0 à 7, l’anneau 0 procure les privilèges les plus élevés, l’anneau 7 les moins élevés. L’anneau du processus courant
figure dans le mot d’état de programme (PSW), zone de mémoire qui contient
des informations essentielles sur le traitement en cours, notamment l’adresse de la
prochaine instruction à effectuer.
Chaque segment (de mémoire volatile ou persistante), pour chaque type d’accès
(lecture, écriture, exécution si le segment contient un programme ou un répertoire), appartient à un anneau. Si un processus s’exécute dans un anneau de valeur
inférieure ou égale à l’anneau d’exécution d’un segment, par exemple, il peut exécuter le programme contenu dans ce segment, sinon non. Le schéma 5.1 page
suivante donne un exemple de ce mécanisme : il représente la protection d’un segment accessible en lecture à des processus qui s’exécutent dans les anneaux 0 à 3,
mais dont la modification par une écriture est réservée aux processus de l’anneau 0.
À tout moment un processus peut changer d’anneau (sous le contrôle du système
d’exploitation qui évidemment vérifie que ce processus dispose des accréditations
nécessaires) et ainsi acquérir de façon temporaire ou définitive des privilèges supérieurs qui lui ouvriront l’accès à de nouveaux segments.
Protection des systèmes contemporains
Finalement il apparaît que les plus fidèles disciples de l’équipe Multics furent les
ingénieurs d’Intel. Depuis le modèle 80286 jusqu’à l’actuel Itanium les processeurs de la ligne principale d’Intel disposent d’une gestion de mémoire virtuelle à
adressage segmenté et d’un système de protection à quatre anneaux, typiquement
destinés respectivement au noyau du système pour l’anneau 0, aux fonctions auxi-
