Вышел LKRG 1.0: модуль безопасности ядра Linux получил стабильную версию и обновленные пакеты

2025-09-08 348 комментарии
Проект Openwall выпустил LKRG 1.0, модуль для защиты ядра Linux. Linux Kernel Runtime Guard достиг версии 1.0 спустя 7 лет разработки. Добавлена поддержка ядра 6.17, устранены ошибки SECCOMP и sysctl, улучшена совместимость с Fedora, Ubuntu 24.04–25.10 и CentOS 7. Обновленные пакеты доступны для RHEL, AlmaLinux и Rocky Linux

После более чем семи лет разработки модуль безопасности Linux Kernel Runtime Guard (LKRG), поддерживаемый проектом Openwall, официально достиг версии 1.0. Первоначальный релиз состоялся в 2018 году, и с тех пор LKRG прошёл значительный путь развития.

Что такое Linux Kernel Runtime Guard (LKRG)

LKRG предназначен для обнаружения попыток эксплуатации уязвимостей ядра. К примеру, если злоумышленник пытается изменить учетные данные ядра или переписать его память, LKRG способен обнаружить такую активность. При обнаружении аномалий модуль может регистрировать событие, завершать процесс-нарушитель или применять иные защитные меры в соответствии с настройками. Важно отметить, что LKRG не заменяет существующие средства безопасности, такие как SELinux или AppArmor, а дополняет их, вводя дополнительные проверки на уровне ядра.

Основные изменения между версиями 0.9.9 и 1.0

Стабильный релиз включает поддержку последних версий основного ядра Linux, протестированных до 6.17-rc4. Внесены изменения для совместимости с ядрами начиная с версии 6.13, включая удаление хуков override_creds() и revert_creds(), а также расширение проверок перезаписи указателей на учетные данные в других участках кода для более старых версий ядра.

Улучшена совместимость с OverlayFS, что позволило избежать ложных срабатываний при работе контейнеров на ядрах 6.10–6.12. Кодовая база была оптимизирована — удалено около 2400 строк, что повысило читаемость и упростило сопровождение.

Повышение производительности и надёжности

В новой версии реализованы безблокировочные запросы теневых данных задач, а механизм блокировки теневых данных переработан с использованием более тонкой грануляции. Значительное число хуков было переведено с kretprobes на kprobes, что улучшило стабильность и скорость работы, а также сократило дублирование кода. Проверки целостности теперь обёрнуты в unlikely(), что позволило избежать загрязнения кэша в горячих участках.

Исправления ошибок и расширение совместимости

LKRG 1.0 устраняет ряд гонок, включая проблемы с фильтрами SECCOMP, проверкой пространств имён и изменениями sysctl. Устранены ложные срабатывания, связанные с повреждением режима seccomp на новых ядрах. Повышена совместимость с Intel CET IBT и Clang KCFI на архитектуре x86_64, при этом GCC остаётся официально поддерживаемым компилятором.

Дополнительные улучшения

Обновлены инструменты логирования в пользовательском пространстве — сборки стали более защищёнными. Улучшена система отчётности об ошибках и внесены изменения в CI-тестирование. По словам разработчиков, тестирование теперь охватывает Fedora с последними версиями ядра, Ubuntu 24.04 LTS до 25.10, а также устаревший CentOS 7, несмотря на завершение его жизненного цикла.

Доступность пакетов

Обновлённые пакеты уже размещены в репозитории Rocky Linux SIG/Security. В ближайшее время ожидается выпуск сборок для Rocky Linux 9.6 и 8.10. Пакеты совместимы с другими корпоративными дистрибутивами Linux, включая AlmaLinux и RHEL 8/9.

© . По материалам linuxiac
Комментарии и отзывы

Нашли ошибку?

Новое на сайте