Jasper Nuyens, fondatore dell'organizzazione Linux Belgium, che ha creato un'estensione per l'uso di Linux nei sistemi informatici delle automobili Tesla, ha proposto un modo semplice per ridurre la superficie d'attacco del kernel Linux, diminuendo la probabilità di compromissione di fronte a un aumento delle vulnerabilità pericolose rilevate grazie all'AI. Poiché molte vulnerabilità si trovano generalmente in moduli specifici del kernel, disponibili per il caricamento automatico ma di solito non utilizzati dalla maggior parte degli utenti, Jasper ha suggerito di bloccare per impostazione predefinita i moduli non utilizzati nel sistema attuale o raramente utilizzati in generale.
Nel kernel sono disponibili diverse migliaia di moduli, ma nella maggior parte dei sistemi vengono utilizzati solo alcune centinaia, mentre gli altri rimangono disponibili per il caricamento e potrebbero contenere vulnerabilità potenziali. L'idea è realizzata attraverso uno script ModuleJail, che definisce l'elenco dei moduli utilizzati nel sistema attuale (attraverso /proc/modules) e mette automaticamente in blacklist i moduli non utilizzati. Lo script è scritto in shell, utilizza utilità di sistema comuni (basta busybox) e viene distribuito sotto licenza GPLv3.
Lo script supporta l'esecuzione su Debian, Ubuntu, RHEL, Fedora, SUSE, AlmaLinux, Rocky Linux, Alpine e Arch Linux e, in seguito alla sua esecuzione, genera il file /etc/modprobe.d/modulejail-blacklist.conf, che viene utilizzato sistematicamente nel sistema per disabilitare il caricamento automatico dei moduli del kernel. Questo approccio consente di proteggere preventivamente il sistema, senza dover caricare moduli del kernel specializzati o eseguire processi di monitoraggio in background.
Se necessario, all'utente è offerta la possibilità di aggiungere alla whitelist moduli che non sono attualmente caricati, ma che potrebbero essere utilizzati in futuro. Sono disponibili anche profili che consentono l'uso dei moduli più necessari per applicazioni standard del sistema. Sono proposti profili "minimal" (solo i moduli più essenziali e i file system principali), "conservative" (+ driver standard per server e macchine virtuali) e desktop (+ driver per WiFi, Bluetooth, audio e video).
Fonte: opennet.ru
