Проект 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
