LKRG 0.9.4 выходит с поддержкой OpenRC, Linux 5.15.40+ и других

В рамках проекта Недавно Openwall объявила о выпуске модуля ядра LKRG 0.9.4. (Linux Kernel Runtime Guard), предназначенный для обнаружения и блокировки атак и нарушений целостности структур ядра.

LKRG упакован как загружаемый модуль ядра, который пытается обнаружить несанкционированные изменения в работающем ядре (проверка целостности) или изменения разрешений пользовательских процессов (обнаружение уязвимостей).



Проверка целостности выполняется на основе сравнения вычисленных хэшей наиболее важных областей памяти и структур данных ядра (IDT (таблица описания прерываний), MSR, таблицы системных вызовов, всех процедур и функций, обработчиков прерываний, списков загруженных модулей, содержимого раздела .text модулей, атрибутов процесса и т. д.).



Процедура проверки периодически активируется посредством таймера и при возникновении различных событий ядра (например, при выполнении системных вызовов setuid, setreuid, fork, exit, execve, do_init_module и т. д.).

О ядре Linux Runtime Guard

Обнаружение возможного использования эксплойтов и блокировка атак выполняются на этапе до того, как ядро ​​предоставит доступ к ресурсам (например, перед открытием файла), но после того, как процессу были предоставлены несанкционированные разрешения (например, изменение UID). .



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

Модуль подходит как для организации защиты от уже известных эксплойтов для ядра линукса как противостоять эксплойтам еще неизвестных уязвимостей, если они не используют специальные меры для обхода ЛКРГ.

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



Из положительных свойств LKRG отмечается то, что механизм защиты выполнен в виде загружаемого модуля, а не патча ядра, что позволяет использовать его с ядрами штатного дистрибутива.

Основные новые возможности LKRG 0.9.4

В представленной новой версии модуля подчеркивается, что добавлена ​​поддержка системы загрузки OpenRC, а также добавление инструкций по установке с помощью ДКМС.



Еще одно изменение, которое выделяется в этой новой версии, заключается в том, что обеспечивает совместимость с LTS-ядрами из Linux 5.15.40+.

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

С другой стороны, также упоминается, что изменено имя модуля ядра с p_lkrg на lkrg y que
старая версия LKRG 0.9.3 все еще работоспособна в более новых версиях ядра (пока что 5.19-rc*). Однако для долгосрочной совместимости с ядрами 5.15.40+ необходимо применить некоторые изменения, сделанные в версии 0.9.4.

Также упоминается, что рассматриваются некоторые изменения связанные (но, вероятно, разные) для включения в ЛКРГ самообороны, например, его конфигурация времени выполнения находится на странице памяти, которая большую часть времени остается доступной только для чтения, среди других улучшений.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности в по следующей ссылке.

В частности, модуль был протестирован с ядром RHEL, OpenVZ/Virtuozzo и Ubuntu. В будущем можно будет организовать процесс сборки с бинарной совместимостью для разных популярных дистрибутивов.




2022-07-22T20:28:48
приложений