Выпущена версия Linux Kernel Runtime Guard 1.0
Linux Kernel Runtime Guard достигает версии 1.0 после 7 лет, представляя поддержку ядра 6.17, исправления ошибок, улучшение производительности и очистку кода.
Средство защиты времени выполнения ядра Linux (LKRG), поддерживаемое в рамках проекта Openwall, официально достигло версии 1.0 более чем через семь лет после своего первого публичного выпуска в 2018 году.
Если вы с этим не знакомы, LKRG — это модуль ядра, который действует как слой безопасности для ядра Linux. Его основная задача — контролировать работу ядра и обнаруживать любые подозрительные или небезопасные действия.
Например, если злоумышленник пытается использовать уязвимость ядра, перезаписывая учетные данные ядра или изменяя память ядра, LKRG может обнаружить такое поведение. Когда оно обнаруживает что-то аномальное, оно может записать это в журнал, завершить работу нарушающего процесса или принять другие защитные меры в зависимости от своей конфигурации.
Другими словами, LKRG не заменяет другие функции безопасности, такие как SELinux или AppArmor, а скорее дополняет их, добавляя проверки на уровне ядра. А теперь вернемся к теме.
Между версиями 0.9.9 и 1.0 было внесено несколько крупных изменений. Теперь LKRG поддерживает последние основные версии ядра Linux, протестированные до 6.17-rc4. Были внесены корректировки для Linux 6.13 и новее, включая отказ от хуков для override_creds() и revert_creds(), при этом расширены проверки перезаписи указателей учетных данных в других местах для более старых ядер.
Совместимость с OverlayFS также была улучшена, особенно чтобы избежать ложных срабатываний при запуске контейнеров с версий 6.10 по 6.12. Кроме того, кодовая база теперь стала более компактной — примерно на 2400 строк меньше, чем раньше.
С точки зрения производительности, операции поиска теневых данных для каждой задачи теперь выполняются без блокировок, а сама блокировка теневых данных была переработана с использованием более мелких блокировок. Многие хуки были переведены с kretprobes на kprobes, что повысило надежность и скорость, а также сократило дублирование кода. Проверки нарушения целостности были обернуты в unlikely(), что позволило горячим путям оставаться чистыми от ненужного захламления кэша.
Кроме того, LKRG 1.0 исправляет несколько условий гонки, включая те, что связаны с фильтрами SECCOMP, проверкой пространств имен и изменениями sysctl. Также были устранены ложные срабатывания, связанные с повреждением режима seccomp в новых ядрах. Кроме того, LKRG улучшил совместимость с Intel CET IBT и KCFI от Clang на x86_64, хотя официально поддерживаемым компилятором по-прежнему остается GCC.
Другие заметные обновления включают усиленные сборки инструментов логирования пользовательского пространства LKRG, улучшенную отчетность об ошибках и корректировки тестирования CI. По словам разработчиков, тесты теперь охватывают Fedora с последними основными ядрами, Ubuntu с версии 24.04 LTS по 25.10, а также устаревший CentOS 7, несмотря на завершение его поддержки.
Обновленные пакеты уже доступны через репозиторий Rocky Linux SIG/Security, а сборки для Rocky Linux 9.6 и 8.10 скоро будут выпущены. Эти пакеты также совместимы с другими дистрибутивами Enterprise Linux, включая AlmaLinux и RHEL 8/9.
Для получения дополнительной информации см. объявление.


Добавить комментарий