Jasper Nuyens, fondateur de l'organisation Linux Belgium, qui a créé une surcouche pour l'utilisation de Linux dans le système d'information des voitures Tesla, a proposé une méthode simple pour réduire la surface d'attaque du noyau Linux afin de diminuer la probabilité de compromission à la suite d'une augmentation de la détection de vulnérabilités dangereuses par l'IA. Étant donné que de nombreuses vulnérabilités se trouvent généralement dans des modules spécifiques du noyau, disponibles au démarrage automatique, mais qui ne sont habituellement pas utilisés par la plupart des utilisateurs, Jasper a proposé de bloquer par défaut les modules non utilisés dans le système actuel ou ceux rarement utilisés en général.
Il y a plusieurs milliers de modules disponibles dans le noyau, mais dans la plupart des systèmes, seulement quelques centaines sont utilisés, tandis que les autres demeurent accessibles au téléchargement et peuvent potentiellement contenir des vulnérabilités. L'idée est mise en œuvre via un script ModuleJail, qui détermine la liste des modules utilisés dans le système actuel (via /proc/modules) et place automatiquement les modules non utilisés sur une liste noire. Le script est écrit en shell, utilise des utilitaires système courants (juste busybox) et est distribué sous licence GPLv3.
Le script supporte l'exécution sur Debian, Ubuntu, RHEL, Fedora, SUSE, AlmaLinux, Rocky Linux, Alpine et Arch Linux et, à la suite de son exécution, génère un fichier /etc/modprobe.d/modulejail-blacklist.conf, qui est utilisé dans le système pour désactiver le chargement automatique des modules du noyau. Une telle approche permet de protéger préventivement son système sans avoir besoin de chargements de modules de noyau spécialisés ou d'exécuter des processus en arrière-plan supplémentaires pour surveiller le système.
Si nécessaire, l'utilisateur a la possibilité d'ajouter des modules à une liste blanche, qui ne sont pas chargés à ce moment, mais peuvent potentiellement être utilisés. Des profils sont également disponibles pour activer l'utilisation des modules les plus nécessaires pour les applications typiques du système. Des profils «minimal» (uniquement les modules essentiels et les systèmes de fichiers de base), «conservateur» (+ pilotes typiques pour les serveurs et machines virtuelles) et desktop (+ pilotes pour WiFi, Bluetooth, audio et vidéo).
Source : opennet.ru
