Accueil🇫🇷Chercher

Anneau de protection

Un anneau de protection (ring en anglais) est l’un des niveaux de privilèges imposés par l’architecture d’un processeur.

De nombreuses architectures modernes de processeurs (architectures parmi lesquelles on trouve le populaire Intel x86) incluent une certaine forme de protection en anneau, bien que les logiciels d’exploitation ne l’exploitent pas toujours entièrement.

Les rings étaient parmi les concepts les plus révolutionnaires mis en œuvre par le système d’exploitation Multics, un prédécesseur fortement sécurisé de la famille actuelle des systèmes d’exploitation UNIX.

Description

Les anneaux sont arrangĂ©s dans une hiĂ©rarchie allant du plus privilĂ©giĂ© (celui qui est le plus sĂ©curisĂ©, habituellement le numĂ©ro zĂ©ro dit Ring0 ) au moins privilĂ©giĂ© (le moins sĂ©curisĂ©, habituellement l’anneau le plus Ă©levĂ©). Cela signifie donc qu'un processus d'analyse ayant accès uniquement Ă  Ring3 ne pourra pas dĂ©tecter si un autre logiciel (malveillants par exemple) modifie une donnĂ©e ou injecte un autre processus avec un accès plus Ă©levĂ© (Ring2 , Ring1 , Ring0 ) crĂ©ant ainsi une sorte de guerre de permission avec les logiciels malveillants et les logiciels antivirus par exemple. Le système d’exploitation Multics original possĂ©dait huit anneaux, mais beaucoup de systèmes modernes en possèdent moins. Le matĂ©riel connaĂ®t l’anneau de privilège courant des instructions qui s’exĂ©cutent Ă  tout moment, grâce Ă  un registre spĂ©cial du processeur : EFLAG. EFLAG est un registre spĂ©cifique des processeurs x86 qui permet de fixer et de connaĂ®tre l’état du processeur Ă  tout moment grâce aux diffĂ©rents bits qui le composent. L’un d’eux, IOPL (I/O Privilege Level) contient un nombre qui indique le niveau de privilège du programme en cours d’exĂ©cution.

Le matériel limite sévèrement les manières dont la main peut être passée d’un anneau à l’autre, et impose également des restrictions aux types d’accès mémoire qui peuvent être exécutés au travers des anneaux. En général il y a une instruction spéciale d’appel qui transfère le contrôle d’une manière sécurisée vers des points d’entrée prédéfinis dans des anneaux de plus bas niveau (plus sécurisés) ; ceci fonctionne comme un appel supervisé dans beaucoup de systèmes d’exploitation qui emploient l’architecture en anneau, ces restrictions matérielles étant conçues pour limiter les occasions d’infractions accidentelles ou malveillantes envers la sécurité du système.

L’utilisation efficace de l’architecture en anneau exige une coopération étroite entre le matériel (le processeur) et le système d’exploitation. Ces derniers, la plupart du temps, n’exploitent que deux types d’anneaux de sécurité, le mode utilisateur et le mode noyau.

Le terme « anneau de protection Â» vient du fait que l’on peut voir les diffĂ©rents modes de privilège comme des cercles concentriques ou le mode le plus privilĂ©giĂ© est Ă  l’intĂ©rieur et les modes moins privilĂ©giĂ©s vont vers l’extĂ©rieur.

Les processeurs x86

Anneaux de privilèges pour les processeurs x86 disponibles en mode protégé.

Les processeurs de la famille x86 implĂ©mentent quatre anneaux de privilèges[1], mais dans la grande majoritĂ© des cas, seuls deux sont rĂ©ellement exploitĂ©s par les systèmes d’exploitation actuels (tel que Microsoft Windows ou les dĂ©rivĂ©s d’UNIX).

Ces deux anneaux de protections sont le ring0, l’anneau de protection ayant le plus de privilèges, et qui est l’anneau sous lequel fonctionne le cœur du système d’exploitation ainsi que le ring3 sous lequel fonctionnent les logiciels utilisateurs.

La transition d’un mode à un autre est assurée par l’instruction en langage assembleur SYSENTER.

Notes et références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.