Jasper Nuyens, fondatore dell'organizzazione Linux Belgium, ha creato un'estensione per l'uso di Linux nei sistemi informatici delle automobili Tesla, proponendo un modo semplice per ridurre la superficie d'attacco del kernel Linux e diminuire la probabilità di compromissione, in risposta a un aumento delle vulnerabilità pericolose scoperte tramite AI. Poiché molte vulnerabilità si trovano solitamente in moduli specifici del kernel, disponibili per il caricamento automatico ma generalmente non utilizzati dalla maggior parte degli utenti, Jasper ha suggerito di bloccare per impostazione predefinita i moduli non utilizzati nel sistema attuale o, in generale, raramente utilizzati.
Nel kernel sono disponibili diverse migliaia di moduli, ma nella maggior parte dei sistemi ne vengono utilizzati solo alcune centinaia, mentre gli altri rimangono disponibili per il caricamento e potrebbero potenzialmente contenere vulnerabilità. L'idea è stata implementata tramite uno script chiamato ModuleJail, che determina l'elenco dei moduli utilizzati nel sistema attuale (tramite /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 con licenza GPLv3.
Lo script supporta l'esecuzione su Debian, Ubuntu, RHEL, Fedora, SUSE, AlmaLinux, Rocky Linux, Alpine e Arch Linux, e genera un file /etc/modprobe.d/modulejail-blacklist.conf, che viene utilizzato dal 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 ulteriori processi in background per monitorarlo.
Se necessario, all'utente è fornita la possibilità di aggiungere alla whitelist i moduli che al momento non vengono caricati, ma che potrebbero essere utilizzati in futuro. Sono disponibili anche profili che consentono di utilizzare i moduli più necessari per le applicazioni tipiche del sistema. Sono proposti i profili "minimal" (solo i moduli più importanti e i principali file system), "conservative" (+ driver tipici per server e di macchine virtuali) e desktop (+ driver per WiFi, Bluetooth, audio e video).
Fonte: opennet.ru
