В ядре доступно несколько тысяч модулей, но в большинстве систем используется только несколько сотен, а остальные остаются доступны для загрузки и потенциально могут содержать уязвимости. Идея реализована через скрипт ModuleJail, который определяет список используемых в текущей системе модулей (через /proc/modules) и автоматически помещает неиспользуемые модули в чёрный список. Скрипт написан на shell, использует распространённые системные утилиты (достаточно busybox) и распространяется под лицензией GPLv3.
Скрипт поддерживает выполнение в Debian, Ubuntu, RHEL, Fedora, SUSE, AlmaLinux, Rocky Linux, Alpine и Arch Linux, и в результате своей работы генерирует файл
/etc/modprobe.d/modulejail-blacklist.conf, который штатно используется в системе для отключения автозагрузки модулей ядра. Подобны подход позволяет превентивно защитить свою систему, не прибегая к загрузке специализированных модулей ядра или выполнения дополнительных фоновых процессов для мониторинга за системой.
При необходимости пользователю предоставлена возможность добавления в белый список модулей, которые в данным момент не загружены, но потенциально могут использоваться в работе. Также доступны для включения профили, допускающих использование наиболее необходимых модулей для типовых применений системы. Предложены профили «minimal» (только самые важные модули и основные ФС), «conservative» (+ типовые драйверы для серверов и виртуальных машин) и desktop (+ драйверы для WiFi, Bluetooth, звука и видео).
Источник: http://www.opennet.ru/opennews/art.shtml?num=65466
