Két héten belül három kritikus Linux kernel sebezhetőséget – Copy Fail, Dirty Frag és Fragnesia – jelentettek, ami után a Linux közösség megoldást kezdett keresni a problémára.
Az egyik javasolt megoldás a kernel Killswitch volt, most pedig megjelent egy hasonló ötlet: a ModuleJail. Ez egy Linux hardening projekt, amely letiltja a nem használt kernel modulokat, így csökkenti a friss, helyi jogosultságkiterjesztésre épülő támadásoknál kihasználható felületet.
A ModuleJail egyetlen POSIX shell szkriptként működik. Végigpásztázza az éppen betöltött modulokat, összehasonlítja őket a teljes modulfával a
/lib/modules/$(uname -r)
alatt, majd létrehoz egy
modprobe.d
feketelistát a nem használt modulokhoz. Alapértelmezés szerint a feketelista a

/etc/modprobe.d/modulejail-blacklist.conf
fájlba kerül.
A legtöbb Linux rendszerben valójában több ezer kernel modul található, de ezeknek csak kis részét használják. Ha egy nem használt modul jogosultságkiterjesztési hibát tartalmaz, a rendszer akkor is veszélyben marad, ha a modult később be lehet tölteni. A ModuleJail ezt úgy kezeli, hogy megakadályozza a nem használt modulok automatikus betöltését.
Fontos megérteni, hogy a ModuleJail nem javítja ezeket a sebezhetőségeket, és nem is ismeri fel a sérülékeny modulokat. Ehelyett általánosabb védelmi stratégiát alkalmaz: korlátozza a hozzáférést a felesleges kernel funkciókhoz.
A dokumentáció szerint a ModuleJail megőrzi a gazdagépen már betöltött modulokat, egy beépített, alapvető modulokat tartalmazó listát, valamint a rendszergazda által opcionálisan megadott whitelist elemeit. Minden más modult feketelistára tesz, mégpedig install
<module> /bin/true
direktívákkal egy
modprobe.d-kompatibilis
fájlban.
A ModuleJail egyszeri hardening eszköznek készült, nem háttérben futó szolgáltatásnak. Nincs benne démon, folyamatos monitorozás, CVE-adatbázis lekérdezés, modul-kockázati pontozás vagy AI funkció. Megközelítése kizárólag azon alapul, hogy egy modul éppen be van-e töltve egy ismerten jól működő rendszeren.
Ez a biztonsági modell határozza meg a legfőbb korlátját is. A ModuleJailt csak akkor érdemes futtatni, ha a rendszer már elérte a stabil állapotot: minden szolgáltatás elindult, minden fájlrendszer csatolva van, és az összes szükséges driver betöltődött. Ha túl korán futtatják, olyan modulokat is feketelistára tehet, amelyekre később még szükség lenne, ami hardver-, tárhely-, hálózati vagy alkalmazásfunkciók hibás működéséhez vezethet.
A ModuleJail három alap profilt kínál. Az alapértelmezett, konzervatív profil virtualizált vagy fizikai szerverekhez készült. A desktop profil további Wi-Fi, Bluetooth, hang- és videó drivereket is megőriz laptopokhoz és munkaállomásokhoz. A minimal profil csak az alapvető fájlrendszereket és a legfontosabb kernel modulokat tartja meg.
A rendszergazdák a szkriptben szerkeszthetnek egy helyi whitelistet is, így akkor is megőrizhetnek bizonyos modulokat, ha azok a ModuleJail futtatásakor éppen nincsenek betöltve. Ez hasznos olyan moduloknál, amelyekre csak időnként vagy speciális üzemeltetési helyzetekben van szükség.
A fejlesztők szerint az eszközt élő rendszereken tesztelték Ubuntu 24.04 LTS, Debian 13.4 és Rocky Linux 9.7 alatt, emellett konténeres teszteket is végeztek Arch Linux, Alpine Linux és openSUSE Tumbleweed rendszereken. Előre elkészített deb és rpm csomagok érhetők el Debian/Ubuntu és RHEL/Fedora/Alma/Rocky rendszerekhez.
A módosítások visszavonása teljesen kézi folyamat. A rendszergazdák törölhetik a
/etc/modprobe.d/modulejail-blacklist.conf
fájlt és újraindíthatják a rendszert, vagy az aktuális munkamenetben egyes modulokat újratölthetnek modprobe segítségével. A feketelista minden újraindítás után újra érvényesül, amíg a fájlt el nem távolítják.
További részletekért nézd meg a projekt GitHub oldalát.


