Выпуск модуля LKRG 0.9.2 для защиты от эксплуатации уязвимостей в ядре Linux

Проект Openwall опубликовал выпуск модуля ядра LKRG 0.9.2 (Linux Kernel Runtime Guard), предназначенного для выявления и блокирования атак и нарушений целостности структур ядра. Например, модуль может защитить от несанкционированного внесения изменений в работающее ядро и попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от эксплоитов уже известных уязвимостей ядра Linux (например, в ситуациях когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Код проекта распространяется под лицензией GPLv2. Об особенностях реализации LKRG можно прочитать в первом анонсе проекта.

Среди изменений в новой версии:

  • Обеспечена совместимость с ядрами Linux с 5.14 по 5.16-rc, а также с обновлениями LTS-ядер 5.4.118+, 4.19.191+ и 4.14.233+.
  • Добавлена поддержка различных конфигураций CONFIG_SECCOMP.
  • Устранено ложное срабатывание из-за состояния гонки при обработке SECCOMP_FILTER_FLAG_TSYNC.
  • Налажена возможность использования настройки CONFIG_HAVE_STATIC_CALL в ядрах Linux 5.10+ для блокирования состояний гонки при выгрузке других модулей.
  • Добавлена поддержка параметра ядра “nolkrg” для деактивации LKRG на этапе загрузки.
  • Обеспечено сохранение в логе имён модулей, заблокированных при использовании настройки lkrg.block_modules=1.
  • Реализована поддержка sysctl-настроек в файле /etc/sysctl.d/01-lkrg.conf
  • Добавлен файл конфигурации dkms.conf для системы DKMS (Dynamic Kernel Module Support), используемой для сборки сторонних модулей после обновления ядра.
  • Улучшена и обновлена поддержка отладочных сборок и систем непрерывной интеграции.
Release. Ссылка here.