Votre processeur est protégé par un système d’anneaux de privilèges. Mais qu’est-ce que cela signifie ? Comment les anneaux de privilèges de protection renforcent-ils la sécurité informatique ?
Les anneaux de protection du CPU sont des couches structurelles qui limitent l’interaction entre les applications installées sur un ordinateur et les processus centraux. Ils vont généralement de la couche la plus externe, qui est l’anneau 3, à la couche la plus interne, qui est l’anneau 0, également appelé noyau.

L’anneau 0 est au cœur de tous les processus du système. Quiconque peut contrôler le noyau peut, en principe, contrôler tous les aspects d’un ordinateur. Pour éviter tout abus de ce noyau, les architectes de systèmes informatiques limitent l’interaction à cette zone. Ainsi, la plupart des processus auxquels un utilisateur d’ordinateur peut accéder sont limités à l’anneau 3. Alors, comment fonctionnent les anneaux de privilèges ?

 

Comment les anneaux de privilèges interagissent-ils ?

Les processus de l’anneau 0 fonctionnent en mode superviseur et ne nécessitent donc aucune intervention de l’utilisateur. Toute interférence avec eux pourrait entraîner des erreurs système majeures et des problèmes de sécurité insolubles. C’est pourquoi ils sont délibérément conçus pour être inaccessibles aux utilisateurs de l’ordinateur.

Prenons l’exemple de Windows : l’accès à l’anneau 0 par les processus de l’anneau 3 est limité à quelques instructions de données. Pour accéder au noyau, les applications de l’anneau 3 doivent établir une connexion qui est gérée par la mémoire virtualisée. Même dans ce cas, très peu d’applications sont autorisées à le faire.

Il s’agit notamment des navigateurs qui nécessitent un accès réseau et des caméras qui doivent établir une connexion réseau. De plus, ces appels de données sont isolés pour éviter qu’ils n’interfèrent directement avec les processus vitaux du système.

Certaines versions antérieures de Windows (comme Windows 95/98) avaient moins de protection entre les anneaux de privilèges. C’est l’une des principales raisons pour lesquelles elles étaient si instables et sujettes aux erreurs. Dans les systèmes modernes, la sécurité de la mémoire du noyau est renforcée par des puces matérielles spécialisées.

 

Protections actuelles de la mémoire du noyau de Windows contre les intrusions

Microsoft a introduit de formidables protections de la mémoire du noyau à partir de la version 1803 de Windows 10.

Parmi les plus notables, citons la protection DMA du noyau ; cette fonctionnalité holistique a été conçue pour protéger les ordinateurs personnels contre les attaques par accès direct à la mémoire (DMA), notamment celles mises en œuvre via les hot plugs PCI. La protection a été étendue dans la version 1903 pour couvrir les ports PCIe internes tels que les connecteurs M.2.
L’une des principales raisons pour lesquelles Microsoft a choisi de fournir des protections supplémentaires à ces secteurs est que les périphériques PCI sont déjà compatibles avec le DMA dès leur sortie de l’usine. Cette capacité leur permet de lire et d’écrire sur la mémoire du système sans avoir besoin des autorisations du processeur du système. Cette propriété est l’une des principales raisons pour lesquelles les périphériques PCI ont une performance élevée.

 

Les nuances des processus de protection DMA

Windows utilise les protocoles IOMMU (Input/Output Memory Management Unit) pour empêcher les périphériques non autorisés d’effectuer des opérations DMA. Il existe toutefois des exceptions à la règle si leurs pilotes prennent en charge l’isolation de la mémoire exécutée à l’aide du remappage DMA.

Cela dit, des autorisations supplémentaires sont toujours nécessaires. En général, l’administrateur du système d’exploitation sera invité à fournir une autorisation DMA. Pour modifier et automatiser davantage les processus connexes, les spécialistes informatiques peuvent modifier les politiques de DmaGuard MDM afin de déterminer comment les pilotes DMA Remapping incompatibles seront traités.
Pour vérifier si la protection DMA du noyau est en place sur votre système, utilisez le Security Center et affichez les paramètres dans Core Isolation Details sous Memory Access Protection. Il est important de noter que seuls les systèmes d’exploitation publiés après la version 1803 de Windows 10 disposent de cette fonctionnalité.

Pourquoi les processeurs ont rarement recours aux privilèges des anneaux 1 et 2 ?

Les anneaux 1 et 2 sont largement utilisés par les pilotes et les systèmes d’exploitation invités. La plupart du code de ces niveaux de privilèges a également été semi-réutilisé. Ainsi, la majorité des programmes Windows contemporains fonctionnent comme si le système ne comportait que deux niveaux : le noyau et l’utilisateur.

Cela dit, les applications de virtualisation telles que VirtualBox et Virtual Machine utilisent l’anneau 1 pour fonctionner.
Un dernier mot sur les privilèges

La conception des anneaux de privilèges multiples est née de l’architecture du système x86. Il est toutefois peu pratique d’utiliser tous les niveaux de privilèges de l’anneau en permanence. Cela entraînerait une augmentation de la latence et des problèmes de compatibilité.