Проект Openwall издание на ядрения модул (Linux Kernel Runtime Guard), осигуряващ откриване на неразрешени промени в работещото ядро (проверка на целостта) или опити за промяна на правомощията на потребителските процеси (определяне на използването на експлоити). Модулът е подходящ както за защита от вече известни експлоити за ядрото на Linux (например, в ситуации, когато е трудно да се обнови ядрото на системата), така и за противодействие на експлоити за все още неизвестни уязвимости. За особеностите на LKRG може да се прочете в .
Сред промените в новата версия:
- Извършен е рефакторинг на кода за осигуряване на поддръжка на различни архитектури на CPU. Добавена е начална поддръжка за архитектура ARM64;
- Осигурена е съвместимост с ядра на Linux 5.1 и 5.2, както и с ядра, изградени без включване на опции CONFIG_DYNAMIC_DEBUG при изграждане на ядрото,
CONFIG_ACPI и CONFIG_STACKTRACE, и с ядра, изградени с опцията CONFIG_STATIC_USERMODEHELPER. Добавена е експериментална поддръжка на ядра от проекта grsecurity; - Съществено е променена логиката на инициализацията;
- В подсистемата за проверка на целостта отново е включено самохеширане (self-hashing) и е отстранено състоянието на състезание в двигателя за маркери за скокове (*_JUMP_LABEL), водещо до взаимна блокировка при инициализация едновременно със събитията на зареждане или изтегляне на други модули;
- В кода за определяне на използването на експлоити са добавени нови sysctl lkrg.smep_panic (по подразбиране включен) и lkrg.umh_lock (по подразбиране изключен), добавени са допълнителни проверки на бита SMEP/WP, променена е логиката на проследяване на нови задачи в системата, преработена е вътрешната логика на синхронизация с ресурсите на задачите, добавена е поддръжка на OverlayFS, включен е в бял списък Ubuntu Apport.
Източник: opennet.ru
