Infrastructure
Partie centrale d'un système d'exploitation, exécutée avec les privilèges maximaux du processeur. Il gère le matériel, la mémoire et les processus, et sert d'intermédiaire obligé entre les applications et la machine : rien ne le contourne, ce qui en fait aussi la cible la plus rentable du système.
Espace noyau, espace utilisateur : Le processeur distingue des niveaux de privilège (sur x86, l'anneau 0 pour le noyau, l'anneau 3 pour le reste) : le code noyau accède à tout, les applications tournent dans un espace restreint. Pour lire un fichier ou ouvrir une connexion, une application passe par un appel système : elle demande, elle ne prend pas.
Ce qu'il fait : Ordonnancement des processus, mémoire virtuelle, pilotes de périphériques, systèmes de fichiers, pile réseau : tout ce qui touche au matériel ou au partage des ressources passe par lui. Le noyau Linux compte quelques dizaines de millions de lignes, ce qui donne la mesure de la tâche, et accessoirement celle de la surface d'attaque.
Monolithique ou micronoyau : Linux est monolithique modulaire : pilotes et services tournent en mode privilégié, avec des modules chargeables à chaud. Un micronoyau (seL4, QNX) ne garde que le strict minimum en mode privilégié et repousse le reste en espace utilisateur. Tanenbaum et Torvalds en ont débattu publiquement en 1992 ; le monolithe a emporté les serveurs, le micronoyau les voitures et les équipements où une panne ne se répare pas en redémarrant.
Enjeu de sécurité : Une faille noyau donne le contrôle total de la machine, d'où l'intérêt des mises à jour rapides et de la méfiance envers les modules tiers. Un pilote chargé dans le noyau hérite de tous ses droits, y compris celui de faire tomber la machine entière un lundi matin, avec une signature numérique parfaitement valide.
Ce qui arrive si on s'en passe
Sans noyau pour arbitrer l'accès à la machine, chaque programme s'exécute avec les privilèges maximaux du processeur et parle directement au matériel. Plus aucune séparation de la mémoire : un processus peut lire ou modifier les données d'un autre, y compris des secrets chargés en mémoire, et une simple erreur d'adressage peut écraser le code d'un voisin et faire tomber l'ensemble. Aucun contrôle de droits ne s'applique aux fichiers ni aux périphériques, puisque c'est le noyau qui vérifie chaque appel système ; un code malveillant n'a donc aucune élévation de privilèges à obtenir, il les possède déjà. L'audit et la journalisation, qui reposent sur ce passage obligé, perdent leur point d'observation : ce qu'un programme fait sur la machine n'est plus enregistré par une autorité qu'il ne contrôle pas.
Explication de la marmotte
Ton ordinateur fait tourner plein de programmes en même temps : un navigateur, un jeu, de la musique. Le noyau, c'est le chef de cuisine caché qui organise tout ça. Les programmes n'ont pas le droit de toucher directement aux fourneaux, c'est-à-dire à l'écran, au disque ou à la mémoire. Ils passent commande au chef, qui décide qui cuisine quand, partage la place et refuse les demandes dangereuses. Si un programme plante, le chef le met dehors et le reste continue. Mais si le chef lui-même se trompe, toute la cuisine s'arrête : c'est l'écran bleu ou la machine figée.
Où ce terme est utilisé
- Isolation des conteneurs Docker : namespaces, cgroups et évasions (43 occurrences)
- Linux : définition, origine et rôle du noyau (41 occurrences)
- Dirty COW CVE-2016-5195 : course dans le copy-on-write Linux (37 occurrences)
- L'entropie au démarrage (31 occurrences)
- Isolation multi-locataire face à un locataire hostile (30 occurrences)
- EBPF pour observer et bloquer dans le noyau Linux (28 occurrences)
- EBPF pour observabilité et enforcement Linux (27 occurrences)
- Rowhammer, Spectre et Meltdown, mécanismes et contre-mesures (27 occurrences)
- Spectre et Meltdown : exécution spéculative et fuite par cache (25 occurrences)
- EDR : fonctionnement, angles morts et contournements (22 occurrences)
