В рамках проекта Openwall недавно объявила о запуске новая версия модуля ядра "ЛКРГ 0.9.2" (Linux Kernel Runtime Guard), который предназначен для обнаружения и блокировки атак и нарушений целостности структур ядра.
В настоящее время LKRG поддерживает x86-64, 86-разрядную версию x32, AArch64 (ARM64) и 32-разрядную версию ARM.
Архитектуры ЦП.
О ЛКРГ
Как уже упоминалось, модуль LKRG sи отвечает за выполнение проверки целостности в среде выполнения ядра Linux и обнаружение уязвимостей безопасности. взрывается против ядра. Например, модуль может защитить от несанкционированных изменений работающего ядра и попыток изменить разрешения пользовательских процессов (путем определения использования эксплойтов).
Модуль подходит как для организации защиты от эксплойтов уже известных уязвимостей в ядре Linux (например, в ситуациях, когда обновление ядра в системе затруднено), так и для противодействия эксплойтам еще неизвестных уязвимостей.
Следует понимать, что ЛКРГ это модуль ядра (не патч ядра), поэтому его можно скомпилировать и загрузить в широкий спектр основных и дистрибутивных ядер без необходимости исправления какого-либо из них.
В настоящее время модуль поддерживает версии ядра, начиная от RHEL7 (и его многочисленных клонов/редакций) и Ubuntu 16.04 и заканчивая последними основными и основными дистрибутивами.
Основные новые возможности LKRG 0.9.2
В представленной новой версии разработчики упоминают, что lСовместимость гарантирована с ядрами Linux от 5.14 до 5.16-rc, а также с ядрами LTS 5.4.118+, 4.19.191+ и 4.14.233+.
Во время нашего предыдущего выпуска, LKRG 0.9.1, Linux 5.12.x был последнее ядро. Нам повезло, что он также работал как есть на Linux 5.13.x и на 5.10.x более новые ядра долгосрочной серии. Однако с 5.14, как а также для 3 старых долгосрочных серий ядер, перечисленных в журнале изменений
Ранее нам приходилось вносить изменения для поддержки этих новых версий ядра.
Что касается изменений, которые выделяются в новой версии, подчеркивается, что добавлена поддержка различных настроек CONFIG_SECCOMP, а также поддержка параметра ядра «nolkrg» для отключения LKRG во время загрузки.
Что касается исправления ошибок, то упоминается, что исправлено ложное срабатывание из-за состояния гонки во время обработки SECOMP_FILTER_FLAG_TSYNC, кроме того, была исправлена поддержка конфигурации CONFIG_HAVE_STATIC_CALL в ядрах Linux 5.10+ (исправлены условия гонки при загрузке других модулей).
Кроме того, гарантируется сохранение имен заблокированных модулей при использовании настройки lkrg.block_modules=1 в реестре.
Из других изменений которые выделяются из этой новой версии:
- Реализовано размещение sysctl-настроек в файле /etc/sysctl.d/01-lkrg.conf
- Добавлен файл конфигурации dkms.conf для системы DKMS (Dynamic Kernel Module Support), который используется для создания сторонних модулей после обновления ядра.
- Улучшена и обновлена поддержка отладочных сборок и систем непрерывной интеграции.
В конце концов если вам интересно узнать больше О проекте следует знать, что код проекта распространяется под лицензией GPLv2.
Для тех, кто заинтересован в возможности установки этого модуля, важно отметить, чтоe требуется каталог сборки ядра соответствующий образу ядра Linux, в котором будет работать модуль. Например, в Debian и Ubuntu вы можете справиться с необходимой инфраструктурой сборки, просто установив заголовки linux:
sudo apt-get install linux-headers-$(uname -r )
В случае дистрибутивов, таких как RHEL, Fedora или дистрибутивов на их основе (и даже CentOS), устанавливаемый пакет выглядит следующим образом:
sudo yum install kernel-devel
Чтобы узнать больше об этом а также инструкции по компиляции можно ознакомиться с информацией По следующей ссылке.