После более чем семи лет разработки модуль безопасности 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.
Linux: обзоры и обновления
• KDE Plasma 6.5.1: выпущено первое обновление с исправлениями ошибок серии 6.5
• SteamOS 3.7.17 Beta вновь отключает функцию пробуждения по Bluetooth для Steam Deck LCD
• Релиз Fedora Linux 43: Что нового
• Ubuntu Unity без поддержки: релиз 25.10 отменён, проект под угрозой
• GE-Proton 10-22 вышел с исправлениями для игровых лаунчеров, Persona 5 Strikers и Richard Burns Rally
• Обновления Linux за неделю: 20 – 26 октября 2025 года